model

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type InfracostBreakdown

type InfracostBreakdown struct {
	Version  string `json:"version"`
	Currency string `json:"currency"`
	Projects []struct {
		Name     string `json:"name"`
		Metadata struct {
			Path       string `json:"path"`
			Type       string `json:"type"`
			VcsRepoURL string `json:"vcsRepoUrl"`
			VcsSubPath string `json:"vcsSubPath"`
		} `json:"metadata"`
		PastBreakdown struct {
			Resources        []interface{} `json:"resources"`
			TotalHourlyCost  string        `json:"totalHourlyCost"`
			TotalMonthlyCost string        `json:"totalMonthlyCost"`
		} `json:"pastBreakdown"`
		Breakdown struct {
			Resources []struct {
				Name     string `json:"name"`
				Metadata struct {
					Calls []struct {
						BlockName string `json:"blockName"`
						Filename  string `json:"filename"`
					} `json:"calls"`
					Filename string `json:"filename"`
				} `json:"metadata"`
				HourlyCost  interface{} `json:"hourlyCost"`
				MonthlyCost interface{} `json:"monthlyCost"`
				Tags        struct {
					Criticality     string `json:"Criticality"`
					Environment     string `json:"Environment"`
					Name            string `json:"Name"`
					Owner           string `json:"Owner"`
					SecurityPosture string `json:"SecurityPosture"`
					SourcePath      string `json:"SourcePath"`
					Terraform       string `json:"Terraform"`
				} `json:"tags,omitempty"`
				CostComponents []struct {
					Name            string `json:"name"`
					Unit            string `json:"unit"`
					HourlyQuantity  string `json:"hourlyQuantity"`
					MonthlyQuantity string `json:"monthlyQuantity"`
					Price           string `json:"price"`
					HourlyCost      string `json:"hourlyCost"`
					MonthlyCost     string `json:"monthlyCost"`
				} `json:"costComponents,omitempty"`
			} `json:"resources"`
			TotalHourlyCost  string `json:"totalHourlyCost"`
			TotalMonthlyCost string `json:"totalMonthlyCost"`
		} `json:"breakdown"`
		Diff struct {
			Resources []struct {
				Name string `json:"name"`
				Tags struct {
					Criticality     string `json:"Criticality"`
					Environment     string `json:"Environment"`
					Name            string `json:"Name"`
					Owner           string `json:"Owner"`
					SecurityPosture string `json:"SecurityPosture"`
					SourcePath      string `json:"SourcePath"`
					Terraform       string `json:"Terraform"`
				} `json:"tags"`
				Metadata struct {
				} `json:"metadata"`
				HourlyCost     string `json:"hourlyCost"`
				MonthlyCost    string `json:"monthlyCost"`
				CostComponents []struct {
					Name            string `json:"name"`
					Unit            string `json:"unit"`
					HourlyQuantity  string `json:"hourlyQuantity"`
					MonthlyQuantity string `json:"monthlyQuantity"`
					Price           string `json:"price"`
					HourlyCost      string `json:"hourlyCost"`
					MonthlyCost     string `json:"monthlyCost"`
				} `json:"costComponents"`
			} `json:"resources"`
			TotalHourlyCost  string `json:"totalHourlyCost"`
			TotalMonthlyCost string `json:"totalMonthlyCost"`
		} `json:"diff"`
		Summary struct {
			TotalDetectedResources    int `json:"totalDetectedResources"`
			TotalSupportedResources   int `json:"totalSupportedResources"`
			TotalUnsupportedResources int `json:"totalUnsupportedResources"`
			TotalUsageBasedResources  int `json:"totalUsageBasedResources"`
			TotalNoPriceResources     int `json:"totalNoPriceResources"`
			UnsupportedResourceCounts struct {
				AwsAPIGatewayIntegrationResponse int `json:"aws_api_gateway_integration_response"`
			} `json:"unsupportedResourceCounts"`
			NoPriceResourceCounts struct {
				AwsAPIGatewayDeployment     int `json:"aws_api_gateway_deployment"`
				AwsAPIGatewayIntegration    int `json:"aws_api_gateway_integration"`
				AwsAPIGatewayMethod         int `json:"aws_api_gateway_method"`
				AwsAPIGatewayMethodResponse int `json:"aws_api_gateway_method_response"`
				AwsAPIGatewayResource       int `json:"aws_api_gateway_resource"`
			} `json:"noPriceResourceCounts"`
		} `json:"summary"`
	} `json:"projects"`
	TotalHourlyCost      string    `json:"totalHourlyCost"`
	TotalMonthlyCost     string    `json:"totalMonthlyCost"`
	PastTotalHourlyCost  string    `json:"pastTotalHourlyCost"`
	PastTotalMonthlyCost string    `json:"pastTotalMonthlyCost"`
	DiffTotalHourlyCost  string    `json:"diffTotalHourlyCost"`
	DiffTotalMonthlyCost string    `json:"diffTotalMonthlyCost"`
	TimeGenerated        time.Time `json:"timeGenerated"`
	Summary              struct {
		TotalDetectedResources    int `json:"totalDetectedResources"`
		TotalSupportedResources   int `json:"totalSupportedResources"`
		TotalUnsupportedResources int `json:"totalUnsupportedResources"`
		TotalUsageBasedResources  int `json:"totalUsageBasedResources"`
		TotalNoPriceResources     int `json:"totalNoPriceResources"`
		UnsupportedResourceCounts struct {
			AwsAPIGatewayIntegrationResponse int `json:"aws_api_gateway_integration_response"`
		} `json:"unsupportedResourceCounts"`
		NoPriceResourceCounts struct {
			AwsAPIGatewayDeployment     int `json:"aws_api_gateway_deployment"`
			AwsAPIGatewayIntegration    int `json:"aws_api_gateway_integration"`
			AwsAPIGatewayMethod         int `json:"aws_api_gateway_method"`
			AwsAPIGatewayMethodResponse int `json:"aws_api_gateway_method_response"`
			AwsAPIGatewayResource       int `json:"aws_api_gateway_resource"`
		} `json:"noPriceResourceCounts"`
	} `json:"summary"`
}

type OpaConfig

type OpaConfig []struct {
	Location string `json:"location"`
	Query    string `json:"query"`
}

type TfValidation

type TfValidation []struct {
	ValidationPassed   bool `json:"validation_passed"`
	Score              int  `json:"score"`
	MaxAcceptableScore int  `json:"max_acceptable_score"`
	Data               struct {
		Address string `json:"address"`
		Change  struct {
			Actions      []string    `json:"actions"`
			After        interface{} `json:"after"`
			AfterUnknown struct {
			} `json:"after_unknown"`
			Before struct {
				ID       string `json:"id"`
				Location string `json:"location"`
				Name     string `json:"name"`
				Tags     struct {
				} `json:"tags"`
				Timeouts interface{} `json:"timeouts"`
			} `json:"before"`
		} `json:"change"`
		Mode         string `json:"mode"`
		Name         string `json:"name"`
		ProviderName string `json:"provider_name"`
		Type         string `json:"type"`
	} `json:"data"`
}

type Vulnerabilities

type Vulnerabilities struct {
	Results []struct {
		RuleID          string   `json:"rule_id"`
		LegacyRuleID    string   `json:"legacy_rule_id"`
		RuleDescription string   `json:"rule_description"`
		RuleProvider    string   `json:"rule_provider"`
		Impact          string   `json:"impact"`
		Resolution      string   `json:"resolution"`
		Links           []string `json:"links"`
		Description     string   `json:"description"`
		Severity        string   `json:"severity"`
		Status          string   `json:"status"`
		Location        struct {
			Filename  string `json:"filename"`
			StartLine int    `json:"start_line"`
			EndLine   int    `json:"end_line"`
		} `json:"location"`
	} `json:"results"`
}

type Weight

type Weight struct {
	Service string `json:"service"`
	Create  int    `json:"create"`
	Delete  int    `json:"delete"`
	Modify  int    `json:"modify"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL