aws

package
v0.11.7 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2025 License: Apache-2.0, Apache-2.0 Imports: 260 Imported by: 0

Documentation

Overview

Package aws implements a steampipe plugin for aws. This plugin provides data that Steampipe uses to present foreign tables that represent Amazon AWS resources.

Index

Constants

This section is empty.

Variables

View Source
var ConfigSchema = map[string]*schema.Attribute{
	"regions": {
		Type: schema.TypeList,
		Elem: &schema.Attribute{Type: schema.TypeString},
	},
	"default_region": {
		Type: schema.TypeString,
	},
	"profile": {
		Type: schema.TypeString,
	},
	"access_key": {
		Type: schema.TypeString,
	},
	"secret_key": {
		Type: schema.TypeString,
	},
	"session_token": {
		Type: schema.TypeString,
	},
	"ignore_error_codes": {
		Type: schema.TypeList,
		Elem: &schema.Attribute{Type: schema.TypeString},
	},
	"max_error_retry_attempts": {
		Type: schema.TypeInt,
	},
	"min_error_retry_delay": {
		Type: schema.TypeInt,
	},
	"endpoint_url": {
		Type: schema.TypeString,
	},
	"s3_force_path_style": {
		Type: schema.TypeBool,
	},
}

Functions

func ACMClient

func ACMClient(ctx context.Context, d *plugin.QueryData) (*acm.Client, error)

func APIGatewayClient

func APIGatewayClient(ctx context.Context, d *plugin.QueryData) (*apigateway.Client, error)

func APIGatewayV2Client

func APIGatewayV2Client(ctx context.Context, d *plugin.QueryData) (*apigatewayv2.Client, error)

func AccessAnalyzerClient

func AccessAnalyzerClient(ctx context.Context, d *plugin.QueryData) (*accessanalyzer.Client, error)

AccessAnalyzerClient returns the service connection for AWS IAM Access Analyzer service

func AccountClient

func AccountClient(ctx context.Context, d *plugin.QueryData) (*account.Client, error)

AccountClient is used to query general information about an AWS account.

func AllCostMetrics

func AllCostMetrics() []string

AllCostMetrics is a constant returning all the cost metrics

func AllRegionsMatrix

func AllRegionsMatrix(ctx context.Context, d *plugin.QueryData) []map[string]interface{}

Return a matrix of all regions for tables that target every region. It's normally better to use SupportedRegionMatrix instead, as it will filter out regions that are not enabled for the specific service.

func AmplifyClient

func AmplifyClient(ctx context.Context, d *plugin.QueryData) (*amplify.Client, error)

func AppConfigClient

func AppConfigClient(ctx context.Context, d *plugin.QueryData) (*appconfig.Client, error)

func AppStreamClient

func AppStreamClient(ctx context.Context, d *plugin.QueryData) (*appstream.Client, error)

func ApplicationAutoScalingClient

func ApplicationAutoScalingClient(ctx context.Context, d *plugin.QueryData) (*applicationautoscaling.Client, error)

func AthenaClient

func AthenaClient(ctx context.Context, d *plugin.QueryData) (*athena.Client, error)

func AuditManagerClient

func AuditManagerClient(ctx context.Context, d *plugin.QueryData) (*auditmanager.Client, error)

func AutoScalingClient

func AutoScalingClient(ctx context.Context, d *plugin.QueryData) (*autoscaling.Client, error)

func BackupClient

func BackupClient(ctx context.Context, d *plugin.QueryData) (*backup.Client, error)

func CloudControlClient

func CloudControlClient(ctx context.Context, d *plugin.QueryData) (*cloudcontrol.Client, error)

func CloudFormationClient

func CloudFormationClient(ctx context.Context, d *plugin.QueryData) (*cloudformation.Client, error)

func CloudFrontClient

func CloudFrontClient(ctx context.Context, d *plugin.QueryData) (*cloudfront.Client, error)

func CloudSearchClient

func CloudSearchClient(ctx context.Context, d *plugin.QueryData) (*cloudsearch.Client, error)

func CloudTrailClient

func CloudTrailClient(ctx context.Context, d *plugin.QueryData) (*cloudtrail.Client, error)

func CloudTrailRegionsClient

func CloudTrailRegionsClient(ctx context.Context, d *plugin.QueryData, region string) (*cloudtrail.Client, error)

func CloudWatchClient

func CloudWatchClient(ctx context.Context, d *plugin.QueryData) (*cloudwatch.Client, error)

func CloudWatchLogsClient

func CloudWatchLogsClient(ctx context.Context, d *plugin.QueryData) (*cloudwatchlogs.Client, error)

func CloudWatchRegionsMatrix

func CloudWatchRegionsMatrix(ctx context.Context, d *plugin.QueryData) []map[string]interface{}

_metric_ tables must all be limited to the CloudWatch service regions. This is a convenience function for them to use.

func CodeArtifactClient

func CodeArtifactClient(ctx context.Context, d *plugin.QueryData) (*codeartifact.Client, error)

func CodeBuildClient

func CodeBuildClient(ctx context.Context, d *plugin.QueryData) (*codebuild.Client, error)

func CodeCommitClient

func CodeCommitClient(ctx context.Context, d *plugin.QueryData) (*codecommit.Client, error)

func CodeDeployClient

func CodeDeployClient(ctx context.Context, d *plugin.QueryData) (*codedeploy.Client, error)

func CodePipelineClient

func CodePipelineClient(ctx context.Context, d *plugin.QueryData) (*codepipeline.Client, error)

CodePipelineClient returns the service connection for AWS CodePipeline service

func ConfigClient

func ConfigClient(ctx context.Context, d *plugin.QueryData) (*configservice.Client, error)

func ConfigInstance

func ConfigInstance() interface{}

func CostExplorerClient

func CostExplorerClient(ctx context.Context, d *plugin.QueryData) (*costexplorer.Client, error)

func DAXClient

func DAXClient(ctx context.Context, d *plugin.QueryData) (*dax.Client, error)

func DLMClient

func DLMClient(ctx context.Context, d *plugin.QueryData) (*dlm.Client, error)

func DRSClient

func DRSClient(ctx context.Context, d *plugin.QueryData) (*drs.Client, error)

func DirectoryServiceClient

func DirectoryServiceClient(ctx context.Context, d *plugin.QueryData) (*directoryservice.Client, error)

func DocDBClient

func DocDBClient(ctx context.Context, d *plugin.QueryData) (*docdb.Client, error)

func DocDBClusterInstanceTagListToTurbotTags

func DocDBClusterInstanceTagListToTurbotTags(ctx context.Context, d *transform.TransformData) (interface{}, error)

func DynamoDBClient

func DynamoDBClient(ctx context.Context, d *plugin.QueryData) (*dynamodb.Client, error)

func EC2Client

func EC2Client(ctx context.Context, d *plugin.QueryData) (*ec2.Client, error)

func EC2ClientForRegion

func EC2ClientForRegion(ctx context.Context, d *plugin.QueryData, region string) (*ec2.Client, error)

Get an EC2 client for a specific region. Used by various hydrate functions pulling data from regions other than the query region.

func EC2LowRetryClientForRegion

func EC2LowRetryClientForRegion(ctx context.Context, d *plugin.QueryData, region string) (*ec2.Client, error)

Get an EC2 client with a small number of retries. Used in very specific situations like listing regions where fast failure is preferred over a long retry/backoff loop. Do not use for general tables.

func ECRClient

func ECRClient(ctx context.Context, d *plugin.QueryData) (*ecr.Client, error)

func ECRPublicClient

func ECRPublicClient(ctx context.Context, d *plugin.QueryData) (*ecrpublic.Client, error)

func ECSClient

func ECSClient(ctx context.Context, d *plugin.QueryData) (*ecs.Client, error)

func EFSClient

func EFSClient(ctx context.Context, d *plugin.QueryData) (*efs.Client, error)

func EKSClient

func EKSClient(ctx context.Context, d *plugin.QueryData) (*eks.Client, error)

func EMRClient

func EMRClient(ctx context.Context, d *plugin.QueryData) (*emr.Client, error)

func ElastiCacheClient

func ElastiCacheClient(ctx context.Context, d *plugin.QueryData) (*elasticache.Client, error)

func ElasticBeanstalkClient

func ElasticBeanstalkClient(ctx context.Context, d *plugin.QueryData) (*elasticbeanstalk.Client, error)

func EmrInstanceGroupTitle

func EmrInstanceGroupTitle(_ context.Context, d *transform.TransformData) (interface{}, error)

func EventBridgeClient

func EventBridgeClient(ctx context.Context, d *plugin.QueryData) (*eventbridge.Client, error)

func FSxClient

func FSxClient(ctx context.Context, d *plugin.QueryData) (*fsx.Client, error)

func FirehoseClient

func FirehoseClient(ctx context.Context, d *plugin.QueryData) (*firehose.Client, error)

func GetConfig

func GetConfig(connection *plugin.Connection) awsConfig

GetConfig :: retrieve and cast connection config from query data

func GlacierClient

func GlacierClient(ctx context.Context, d *plugin.QueryData) (*glacier.Client, error)

func GlobalAcceleratorClient

func GlobalAcceleratorClient(ctx context.Context, d *plugin.QueryData) (*globalaccelerator.Client, error)

func GlueClient

func GlueClient(ctx context.Context, d *plugin.QueryData) (*glue.Client, error)

func GuardDutyClient

func GuardDutyClient(ctx context.Context, d *plugin.QueryData) (*guardduty.Client, error)

func HealthClient

func HealthClient(ctx context.Context, d *plugin.QueryData) (*health.Client, error)

func IAMClient

func IAMClient(ctx context.Context, d *plugin.QueryData) (*iam.Client, error)

func IdentityStoreClient

func IdentityStoreClient(ctx context.Context, d *plugin.QueryData) (*identitystore.Client, error)

func Inspector2Client

func Inspector2Client(ctx context.Context, d *plugin.QueryData) (*inspector2.Client, error)

func InspectorClient

func InspectorClient(ctx context.Context, d *plugin.QueryData) (*inspector.Client, error)

func KMSClient

func KMSClient(ctx context.Context, d *plugin.QueryData) (*kms.Client, error)

func KafkaClient

func KafkaClient(ctx context.Context, d *plugin.QueryData) (*kafka.Client, error)

func KinesisAnalyticsV2Client

func KinesisAnalyticsV2Client(ctx context.Context, d *plugin.QueryData) (*kinesisanalyticsv2.Client, error)

func KinesisClient

func KinesisClient(ctx context.Context, d *plugin.QueryData) (*kinesis.Client, error)

func KinesisVideoClient

func KinesisVideoClient(ctx context.Context, d *plugin.QueryData) (*kinesisvideo.Client, error)

func LambdaClient

func LambdaClient(ctx context.Context, d *plugin.QueryData) (*lambda.Client, error)

func LightsailClient

func LightsailClient(ctx context.Context, d *plugin.QueryData) (*lightsail.Client, error)

func ListSESDomainIdentities

func ListSESDomainIdentities(ctx context.Context, d *plugin.QueryData, data *plugin.HydrateData) (interface{}, error)

func ListSESEmailIdentities

func ListSESEmailIdentities(ctx context.Context, d *plugin.QueryData, data *plugin.HydrateData) (interface{}, error)

func MGNClient

func MGNClient(ctx context.Context, d *plugin.QueryData) (*mgn.Client, error)

func Macie2Client

func Macie2Client(ctx context.Context, d *plugin.QueryData) (*macie2.Client, error)

func MediaStoreClient

func MediaStoreClient(ctx context.Context, d *plugin.QueryData) (*mediastore.Client, error)

func NeptuneClient

func NeptuneClient(ctx context.Context, d *plugin.QueryData) (*neptune.Client, error)

func NetworkFirewallClient

func NetworkFirewallClient(ctx context.Context, d *plugin.QueryData) (*networkfirewall.Client, error)

func NormalizeRegion

func NormalizeRegion(region string) string

func OAMClient

func OAMClient(ctx context.Context, d *plugin.QueryData) (*oam.Client, error)

func OpenSearchClient

func OpenSearchClient(ctx context.Context, d *plugin.QueryData) (*opensearch.Client, error)

func OrganizationClient

func OrganizationClient(ctx context.Context, d *plugin.QueryData) (*organizations.Client, error)

func PinpointClient

func PinpointClient(ctx context.Context, d *plugin.QueryData) (*pinpoint.Client, error)

func PipesClient

func PipesClient(ctx context.Context, d *plugin.QueryData) (*pipes.Client, error)

func Plugin

func Plugin(ctx context.Context) *plugin.Plugin

Plugin creates this (aws) plugin

func PricingClient

func PricingClient(ctx context.Context, d *plugin.QueryData) (*pricing.Client, error)

func RAMClient

func RAMClient(ctx context.Context, d *plugin.QueryData) (*ram.Client, error)

func RDSClient

func RDSClient(ctx context.Context, d *plugin.QueryData) (*rds.Client, error)

func RDSDBProxyClient

func RDSDBProxyClient(ctx context.Context, d *plugin.QueryData) (*rds.Client, error)

func RedshiftClient

func RedshiftClient(ctx context.Context, d *plugin.QueryData) (*redshift.Client, error)

func RedshiftServerlessClient

func RedshiftServerlessClient(ctx context.Context, d *plugin.QueryData) (*redshiftserverless.Client, error)

func ResourceExplorerClient

func ResourceExplorerClient(ctx context.Context, d *plugin.QueryData, region string) (*resourceexplorer2.Client, error)

func Route53Client

func Route53Client(ctx context.Context, d *plugin.QueryData) (*route53.Client, error)

func Route53DomainsClient

func Route53DomainsClient(ctx context.Context, d *plugin.QueryData) (*route53domains.Client, error)

func Route53ResolverClient

func Route53ResolverClient(ctx context.Context, d *plugin.QueryData) (*route53resolver.Client, error)

func S3Client

func S3Client(ctx context.Context, d *plugin.QueryData, region string) (*s3.Client, error)

func S3ControlClient

func S3ControlClient(ctx context.Context, d *plugin.QueryData, region string) (*s3control.Client, error)

func S3ControlMultiRegionAccessClient

func S3ControlMultiRegionAccessClient(ctx context.Context, d *plugin.QueryData) (*s3control.Client, error)

All requests to create or maintain Multi-Region Access Points are routed to the US West (Oregon) Region. so we have no choice but to hard code it here. This is true regardless of which Region you are in when making the request, or what Regions the Multi-Region Access Point supports. https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html S3 multi-region access point supports in China but not in US Gov or US ISO

func SESClient

func SESClient(ctx context.Context, d *plugin.QueryData) (*ses.Client, error)

func SNSClient

func SNSClient(ctx context.Context, d *plugin.QueryData) (*sns.Client, error)

func SQSClient

func SQSClient(ctx context.Context, d *plugin.QueryData) (*sqs.Client, error)

func SSMClient

func SSMClient(ctx context.Context, d *plugin.QueryData) (*ssm.Client, error)

func SSOAdminClient

func SSOAdminClient(ctx context.Context, d *plugin.QueryData) (*ssoadmin.Client, error)

func STSClient

func STSClient(ctx context.Context, d *plugin.QueryData) (*sts.Client, error)

func SageMakerClient

func SageMakerClient(ctx context.Context, d *plugin.QueryData) (*sagemaker.Client, error)

func SecretsManagerClient

func SecretsManagerClient(ctx context.Context, d *plugin.QueryData) (*secretsmanager.Client, error)

func SecurityHubClient

func SecurityHubClient(ctx context.Context, d *plugin.QueryData) (*securityhub.Client, error)

func SecurityHubClientConfig

func SecurityHubClientConfig(ctx context.Context, d *plugin.QueryData) (*aws.Config, error)

Added for using middleware for migrating table "aws_securityhub_member" See https://github.com/aws/aws-sdk-go-v2/issues/1884#issuecomment-1278567756 for more info

func SecurityLakeClient

func SecurityLakeClient(ctx context.Context, d *plugin.QueryData) (*securitylake.Client, error)

func ServiceCatalogClient

func ServiceCatalogClient(ctx context.Context, d *plugin.QueryData) (*servicecatalog.Client, error)

func ServiceDiscoveryClient

func ServiceDiscoveryClient(ctx context.Context, d *plugin.QueryData) (*servicediscovery.Client, error)

func ServiceQuotasClient

func ServiceQuotasClient(ctx context.Context, d *plugin.QueryData) (*servicequotas.Client, error)

func SimSpaceWeaverClient

func SimSpaceWeaverClient(ctx context.Context, d *plugin.QueryData) (*simspaceweaver.Client, error)

func StepFunctionsClient

func StepFunctionsClient(ctx context.Context, d *plugin.QueryData) (*sfn.Client, error)

func SupportedRegionMatrix

func SupportedRegionMatrix(serviceID string) func(ctx context.Context, d *plugin.QueryData) []map[string]interface{}

Return a matrix of regions supported by serviceID, which will then be queried for the table in parallel. This result factors in things like regions that are opted-in, regions for the service and even the `regions` config in aws.spc.

func SupportedRegionMatrixWithExclusions

func SupportedRegionMatrixWithExclusions(serviceID string, excludeRegions []string) func(ctx context.Context, d *plugin.QueryData) []map[string]interface{}

Similar to SupportedRegionMatrix, but excludes the regions in excludeRegions for manual overrides if the service definition is incorrect.

func UnmarshalYAMLorJSONNoUnescape

func UnmarshalYAMLorJSONNoUnescape(_ context.Context, d *transform.TransformData) (interface{}, error)

func WAFClient

func WAFClient(ctx context.Context, d *plugin.QueryData) (*waf.Client, error)

func WAFRegionMatrix

func WAFRegionMatrix(ctx context.Context, d *plugin.QueryData) []map[string]interface{}

WAFRegionMatrix returns the general region list, with a special region called "global" added. This is a specific region name used only by the WAF service. Note that the global region is always included in WAF results, even if the target region list is limited to specific regions. Currently, there is no way to exclude it except by filtering the results.

func WAFRegionalClient

func WAFRegionalClient(ctx context.Context, d *plugin.QueryData) (*wafregional.Client, error)

func WAFV2Client

func WAFV2Client(ctx context.Context, d *plugin.QueryData, region string) (*wafv2.Client, error)

func WellArchitectedClient

func WellArchitectedClient(ctx context.Context, d *plugin.QueryData) (*wellarchitected.Client, error)

func WorkspacesClient

func WorkspacesClient(ctx context.Context, d *plugin.QueryData) (*workspaces.Client, error)

Types

type AnswerInfo

type AnswerInfo struct {
	types.Answer
	LensAlias       *string
	LensArn         *string
	MilestoneNumber *int32
	WorkloadId      *string
}

type CEMetricRow

type CEMetricRow struct {
	Estimated bool

	// The time period that the result covers.
	PeriodStart *string
	PeriodEnd   *string

	Dimension1 *string
	Dimension2 *string

	BlendedCostAmount      *string
	UnblendedCostAmount    *string
	NetUnblendedCostAmount *string
	AmortizedCostAmount    *string
	NetAmortizedCostAmount *string
	UsageQuantityAmount    *string
	NormalizedUsageAmount  *string

	BlendedCostUnit      *string
	UnblendedCostUnit    *string
	NetUnblendedCostUnit *string
	AmortizedCostUnit    *string
	NetAmortizedCostUnit *string
	UsageQuantityUnit    *string
	NormalizedUsageUnit  *string
}

CEMetricRow is the flattened, aggregated value for a metric.

type CEQuals

type CEQuals struct {
	// Quals stuff
	SearchStartTime *timestamp.Timestamp
	SearchEndTime   *timestamp.Timestamp
	Granularity     string
	DimensionType1  string
	DimensionType2  string
	TagKey1         string
	TagKey2         string
}

type CWMetricRow

type CWMetricRow struct {
	// The (single) metric Dimension name
	DimensionName *string

	// The value for the (single) metric Dimension
	DimensionValue *string

	// The namespace of the metric
	Namespace *string

	// The name of the metric
	MetricName *string

	// The average of the metric values that correspond to the data point.
	Average *float64

	// The maximum metric value for the data point.
	Maximum *float64

	// The minimum metric value for the data point.
	Minimum *float64

	// The number of metric values that contributed to the aggregate value of this
	// data point.
	SampleCount *float64

	// The sum of the metric values for the data point.
	Sum *float64

	// The time stamp used for the data point.
	Timestamp *time.Time

	// The standard unit for the data point.
	Unit *string
}

type CaseSensitiveValue

type CaseSensitiveValue []string

CaseSensitiveValue is used for value arrays that care about case AWS allows string or []string as value, we convert everything to []string to avoid casting. We also sort these - order does not matter for arrays/lists in IAM policies, so we sort them for easier diffing and remove duplicates since they're ignored anyway

func (*CaseSensitiveValue) UnmarshalJSON

func (value *CaseSensitiveValue) UnmarshalJSON(b []byte) error

UnmarshalJSON for the CaseSensitiveValue struct

type CertInfo

type CertInfo struct {
	DirectoryId            *string
	CertificateId          *string
	ClientCertAuthSettings *types.ClientCertAuthSettings
	CommonName             *string
	ExpiryDateTime         *time.Time
	RegisteredDateTime     *time.Time
	State                  types.CertificateState
	StateReason            *string
	Type                   types.CertificateType
}

type CheckDetailInfo

type CheckDetailInfo struct {
	types.CheckDetail
	WorkloadId *string
}

type CheckSummaryInfo

type CheckSummaryInfo struct {
	types.CheckSummary
	WorkloadId *string
}

type DestinationInfo

type DestinationInfo = struct {
	DestinationId                   *string
	DestinationType                 types.DestinationType
	DestinationArn                  *string
	KmsKeyArn                       *string
	Status                          types.PublishingStatus
	PublishingFailureStartTimestamp *int64
	DetectorId                      string
}

type ExclusionInfo

type ExclusionInfo = struct {
	types.Exclusion
	AssessmentRunArn string
}

type ExponentialJitterBackoff

type ExponentialJitterBackoff struct {
	// contains filtered or unexported fields
}

ExponentialJitterBackoff provides backoff delays with jitter based on the number of attempts.

func NewExponentialJitterBackoff

func NewExponentialJitterBackoff(minDelay time.Duration, maxAttempts int) *ExponentialJitterBackoff

NewExponentialJitterBackoff returns an ExponentialJitterBackoff configured for the max backoff.

func (*ExponentialJitterBackoff) BackoffDelay

func (j *ExponentialJitterBackoff) BackoffDelay(attempt int, err error) (time.Duration, error)

BackoffDelay returns the duration to wait before the next attempt should be made. Returns an error if unable get a duration.

type IntelligentTieringConfigurationInfo

type IntelligentTieringConfigurationInfo struct {
	BucketName *string
	types.IntelligentTieringConfiguration
}

type LensInfo

type LensInfo struct {
	CreatedAt         *time.Time
	Description       *string
	LensAlias         *string
	LensArn           *string
	LensName          *string
	LensStatus        types.LensStatus
	LensType          types.LensType
	LensVersion       *string
	Owner             *string
	UpdatedAt         *time.Time
	ShareInvitationId *string
	Tags              map[string]string
}

type LensReviewInfo

type LensReviewInfo struct {
	MilestoneNumber *int32
	WorkloadId      *string
	*types.LensReview
}

type LensShareInfo

type LensShareInfo struct {
	LensAlias     *string
	LensName      *string
	LensArn       *string
	ShareId       *string
	SharedWith    *string
	Status        types.ShareStatus
	StatusMessage *string
}

type NoOpRateLimit

type NoOpRateLimit struct{}

https://github.com/aws/aws-sdk-go-v2/issues/543

func (NoOpRateLimit) AddTokens

func (NoOpRateLimit) AddTokens(uint) error

func (NoOpRateLimit) GetToken

func (NoOpRateLimit) GetToken(context.Context, uint) (func() error, error)

type Offer

type Offer struct {
	PriceDimensions map[string]*PriceDimension
	EffectiveDate   *time.Time
	OfferTermCode   *string
	TermAttributes  *TermAttributes
	// contains filtered or unexported fields
}

type OpenIDConnectProvider

type OpenIDConnectProvider struct {
	Arn string `type:"string"`
	iam.GetOpenIDConnectProviderOutput
}

type ParliamentCondition

type ParliamentCondition struct {
	Condition   string
	Description string
	Type        string
}

type ParliamentPermissions

type ParliamentPermissions []ParliamentService

type ParliamentPrivilege

type ParliamentPrivilege struct {
	AccessLevel   string
	Description   string
	Privilege     string
	ResourceTypes []ParliamentResourceType
}

type ParliamentResource

type ParliamentResource struct {
	Arn           string
	ConditionKeys []string
	Resource      string
}

type ParliamentResourceType

type ParliamentResourceType struct {
	ConditionKeys    []string
	DependentActions []string
	ResourceType     string
}

type ParliamentService

type ParliamentService struct {
	Conditions  []ParliamentCondition
	Prefix      string
	Privileges  []ParliamentPrivilege
	Resources   []ParliamentResource
	ServiceName string
}

type Policy

type Policy struct {
	Id         string     `json:"Id,omitempty"` // Optional, case-sensitive
	Statements Statements `json:"Statement"`    // Required, array of Statements or single statement
	// 2012-10-17 or 2008-10-17 old policies, do NOT use this for new policies
	Version string `json:"Version"` // Required, version date string
}

Policy represents an IAM Policy document It would be nice if we could sort the fields (json keys) but postgres jsonb "does not preserve the order of object keys", per https://www.postgresql.org/docs/9.4/datatype-json.html

type PrefixListEntryInfo

type PrefixListEntryInfo struct {
	PrefixListId *string
	Cidr         *string
	Description  *string
}

type PriceDimension

type PriceDimension struct {
	Unit         *string
	BeginRange   *string
	EndRange     *string
	Description  *string
	RateCode     *string
	PricePerUnit map[string]*string
}

type PriceList

type PriceList struct {
	Product         *Product
	ServiceCode     *string
	Terms           map[string]*Term
	Version         *string
	PublicationDate *time.Time
	// contains filtered or unexported fields
}

type Principal

type Principal map[string]interface{}

Principal may be string '*' or a map of principaltype:value. If '*', we add as an array element to the AWS principal type. Each value in the map may be a string or []string, we convert everything to []string and sort it and remove duplicates

func (*Principal) UnmarshalJSON

func (principal *Principal) UnmarshalJSON(b []byte) error

UnmarshalJSON for the Principal struct

type Product

type Product struct {
	ProductFamily *string
	Attributes    map[string]*string
	// contains filtered or unexported fields
}

type RegionsData

type RegionsData struct {
	AllRegions      []string
	ActiveRegions   []string
	NotOptedRegions []string
	APIRetrivedList bool
}

type ReviewImprovementInfo

type ReviewImprovementInfo struct {
	LensAlias       *string
	LensArn         *string
	MilestoneNumber *int32
	WorkloadId      *string
	types.ImprovementSummary
}

type ReviewReportInfo

type ReviewReportInfo struct {
	Base64String    *string
	LensAlias       *string
	LensArn         *string
	MilestoneNumber *int32
	WorkloadId      *string
}

type SearchStreamItem

type SearchStreamItem struct {
	types.Resource
	ViewArn *string
}

type ServiceDetail

type ServiceDetail struct {
	AttributeName string
	ServiceCode   *string
}

type Statement

type Statement struct {
	Action       Value                  `json:"Action,omitempty"`       // Optional, string or array of strings, case insensitive
	Condition    map[string]interface{} `json:"Condition,omitempty"`    // Optional, map of conditions
	Effect       string                 `json:"Effect"`                 // Required, Allow or Deny, case sensitive
	NotAction    Value                  `json:"NotAction,omitempty"`    // Optional, string or array of strings, case insensitive
	NotPrincipal Principal              `json:"NotPrincipal,omitempty"` // Optional, string (*) or map of strings/arrays
	NotResource  CaseSensitiveValue     `json:"NotResource,omitempty"`  // Optional, string or array of strings, case sensitive
	Principal    Principal              `json:"Principal,omitempty"`    // Optional, string (*) or map of strings/arrays
	Resource     CaseSensitiveValue     `json:"Resource,omitempty"`     // Optional, string or array of strings, case sensitive
	Sid          string                 `json:"Sid,omitempty"`          // Optional, case sensitive
}

Statement represents a Statement in an IAM Policy. It would be nice if we could sort the fields (json keys) but postgres jsonb "does not preserve the order of object keys", per https://www.postgresql.org/docs/9.4/datatype-json.html

func (*Statement) UnmarshalJSON

func (statement *Statement) UnmarshalJSON(b []byte) error

UnmarshalJSON for the Statement struct

type Statements

type Statements []Statement

Statements is an array of statements from an IAM policy

func (*Statements) UnmarshalJSON

func (statement *Statements) UnmarshalJSON(b []byte) error

UnmarshalJSON for the Policy struct. A policy can contain a single Statement or an array of statements, we always convert to array. Currently, we do not sort these but we probably should....

type Term

type Term map[string]*Offer

type TermAttributes

type TermAttributes struct {
	PurchaseOption      *string
	LeaseContractLength *string
	// contains filtered or unexported fields
}

type Value

type Value []string

Value is an AWS IAM value string or array. AWS allows string or []string as value, we convert everything to []string to avoid casting. We also sort these - order does not matter for arrays/lists in IAM policies, so we sort them for easier diffing, and remove duplicates since they're ignored anyway

func (*Value) UnmarshalJSON

func (value *Value) UnmarshalJSON(b []byte) error

UnmarshalJSON for the Value struct

type VpcFilterKeyMap

type VpcFilterKeyMap struct {
	ColumnName string
	FilterName string
	ColumnType string
}

type WorkloadShareInfo

type WorkloadShareInfo struct {
	WorkloadId    *string
	WorkloadShare types.WorkloadShareSummary
}

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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