Documentation ¶
Overview ¶
Code generated by internal/generate/awsclient/main.go; DO NOT EDIT.
Code generated by internal/generate/clientconfig/main.go; DO NOT EDIT.
Index ¶
- Constants
- Variables
- func FailIfAllEnvVarEmpty(t testing.T, names []string, usageMessage string) (string, string)
- func FailIfEnvVarEmpty(t testing.T, name string, usageMessage string) string
- func GetEnvVarWithDefault(variable string, defaultValue string) string
- func GetSupportedEC2Platforms(conn *ec2.EC2) ([]string, error)
- func HasEC2Classic(platforms []string) bool
- func NewSessionForRegion(cfg *aws.Config, region, terraformVersion string) (*session.Session, error)
- func RequireEnvVar(name string, usageMessage string) (string, error)
- func RequireOneOfEnvVar(names []string, usageMessage string) (string, string, error)
- func ReverseDNS(hostname string) string
- func SkipIfAllEnvVarEmpty(t testing.T, names []string, usageMessage string) (string, string)
- func SkipIfEnvVarEmpty(t testing.T, name string, usageMessage string) string
- func StdUserAgentProducts(terraformVersion string) *awsbase.APNInfo
- type AWSClient
- type Config
- type MutexKV
Constants ¶
const ( // Default static credential identifier for tests (AWS Go SDK does not provide this as constant) // See also AWS_SECRET_ACCESS_KEY and AWS_PROFILE EnvVarAccessKeyId = "AWS_ACCESS_KEY_ID" // Container credentials endpoint // See also AWS_ACCESS_KEY_ID and AWS_PROFILE EnvVarContainerCredentialsFullURI = "AWS_CONTAINER_CREDENTIALS_FULL_URI" // Default AWS region for tests (AWS Go SDK does not provide this as constant) EnvVarDefaultRegion = "AWS_DEFAULT_REGION" // Default AWS shared configuration profile for tests (AWS Go SDK does not provide this as constant) EnvVarProfile = "AWS_PROFILE" // Default static credential value for tests (AWS Go SDK does not provide this as constant) // See also AWS_ACCESS_KEY_ID and AWS_PROFILE EnvVarSecretAccessKey = "AWS_SECRET_ACCESS_KEY" )
Standard AWS environment variables used in the Terraform AWS Provider testing. These are not provided as constants in the AWS Go SDK currently.
const ( // For tests using an alternate AWS account, the equivalent of AWS_ACCESS_KEY_ID for that account EnvVarAlternateAccessKeyId = "AWS_ALTERNATE_ACCESS_KEY_ID" // For tests using an alternate AWS account, the equivalent of AWS_PROFILE for that account EnvVarAlternateProfile = "AWS_ALTERNATE_PROFILE" // For tests using an alternate AWS region, the equivalent of AWS_DEFAULT_REGION for that account EnvVarAlternateRegion = "AWS_ALTERNATE_REGION" // For tests using an alternate AWS account, the equivalent of AWS_SECRET_ACCESS_KEY for that account EnvVarAlternateSecretAccessKey = "AWS_ALTERNATE_SECRET_ACCESS_KEY" // For tests using a third AWS region, the equivalent of AWS_DEFAULT_REGION for that region EnvVarThirdRegion = "AWS_THIRD_REGION" // For tests requiring GitHub permissions EnvVarGithubToken = "GITHUB_TOKEN" // For tests requiring restricted IAM permissions, an existing IAM Role to assume // An inline assume role policy is then used to deny actions for the test EnvVarAccAssumeRoleARN = "TF_ACC_ASSUME_ROLE_ARN" )
Custom environment variables used in the Terraform AWS Provider testing. Additions should also be documented in the Environment Variable Dictionary of the Maintainers Guide: docs/MAINTAINING.md
const ( // The ARN of the IAM Role to assume EnvVarAssumeRoleARN = "TF_AWS_ASSUME_ROLE_ARN" // The duration in seconds the IAM role will be assumed. // Defaults to 1 hour (3600) instead of the SDK default of 15 minutes. EnvVarAssumeRoleDuration = "TF_AWS_ASSUME_ROLE_DURATION" // An External ID to pass to the assumed role EnvVarAssumeRoleExternalID = "TF_AWS_ASSUME_ROLE_EXTERNAL_ID" // A session name for the assumed role EnvVarAssumeRoleSessionName = "TF_AWS_ASSUME_ROLE_SESSION_NAME" )
Custom environment variables used for assuming a role with resource sweepers
Variables ¶
var GlobalMutexKV = NewMutexKV()
GlobalMutexKV is a global MutexKV for use within this plugin.
Functions ¶
func FailIfAllEnvVarEmpty ¶
FailIfAllEnvVarEmpty verifies that at least one environment variable is non-empty or fails the test.
If at least one environment variable is non-empty, returns the first name and value.
func FailIfEnvVarEmpty ¶
FailIfEnvVarEmpty verifies that an environment variable is non-empty or fails the test.
For acceptance tests, this function must be used outside PreCheck functions to set values for configurations.
func GetEnvVarWithDefault ¶
GetEnvVarWithDefault gets an environment variable value if non-empty or returns the default.
func HasEC2Classic ¶
func NewSessionForRegion ¶
func RequireEnvVar ¶
RequireEnvVar verifies that an environment variable is non-empty or returns an error.
func RequireOneOfEnvVar ¶
RequireOneOfEnvVar verifies that at least one environment variable is non-empty or returns an error.
If at least one environment variable is non-empty, returns the first name and value.
func ReverseDNS ¶
ReverseDNS switches a DNS hostname to reverse DNS and vice-versa.
func SkipIfAllEnvVarEmpty ¶
SkipIfAllEnvVarEmpty verifies that at least one environment variable is non-empty or skips the test.
If at least one environment variable is non-empty, returns the first name and value.
func SkipIfEnvVarEmpty ¶
SkipIfEnvVarEmpty verifies that an environment variable is non-empty or skips the test.
For acceptance tests, this function must be used outside PreCheck functions to set values for configurations.
func StdUserAgentProducts ¶
Types ¶
type AWSClient ¶
type AWSClient struct { AccountID string DefaultTagsConfig *tftags.DefaultConfig DNSSuffix string IgnoreTagsConfig *tftags.IgnoreConfig MediaConvertAccountConn *mediaconvert.MediaConvert Partition string Region string ReverseDNSPrefix string S3ConnURICleaningDisabled *s3.S3 Session *session.Session SupportedPlatforms []string TerraformVersion string ACMConn *acm.ACM ACMPCAConn *acmpca.ACMPCA AMPConn *prometheusservice.PrometheusService APIGatewayConn *apigateway.APIGateway APIGatewayManagementAPIConn *apigatewaymanagementapi.ApiGatewayManagementApi APIGatewayV2Conn *apigatewayv2.ApiGatewayV2 AccessAnalyzerConn *accessanalyzer.AccessAnalyzer AccountConn *account.Account AlexaForBusinessConn *alexaforbusiness.AlexaForBusiness AmplifyConn *amplify.Amplify AmplifyBackendConn *amplifybackend.AmplifyBackend AmplifyUIBuilderConn *amplifyuibuilder.AmplifyUIBuilder AppAutoScalingConn *applicationautoscaling.ApplicationAutoScaling AppConfigConn *appconfig.AppConfig AppConfigDataConn *appconfigdata.AppConfigData AppFlowConn *appflow.Appflow AppIntegrationsConn *appintegrationsservice.AppIntegrationsService AppMeshConn *appmesh.AppMesh AppRunnerConn *apprunner.AppRunner AppStreamConn *appstream.AppStream AppSyncConn *appsync.AppSync ApplicationCostProfilerConn *applicationcostprofiler.ApplicationCostProfiler ApplicationInsightsConn *applicationinsights.ApplicationInsights AthenaConn *athena.Athena AuditManagerConn *auditmanager.AuditManager AutoScalingConn *autoscaling.AutoScaling AutoScalingPlansConn *autoscalingplans.AutoScalingPlans BackupConn *backup.Backup BackupGatewayConn *backupgateway.BackupGateway BatchConn *batch.Batch BillingConductorConn *billingconductor.BillingConductor BraketConn *braket.Braket BudgetsConn *budgets.Budgets CEConn *costexplorer.CostExplorer CURConn *costandusagereportservice.CostandUsageReportService ChimeConn *chime.Chime ChimeSDKIdentityConn *chimesdkidentity.ChimeSDKIdentity ChimeSDKMeetingsConn *chimesdkmeetings.ChimeSDKMeetings ChimeSDKMessagingConn *chimesdkmessaging.ChimeSDKMessaging Cloud9Conn *cloud9.Cloud9 CloudControlConn *cloudcontrolapi.CloudControlApi CloudDirectoryConn *clouddirectory.CloudDirectory CloudFormationConn *cloudformation.CloudFormation CloudFrontConn *cloudfront.CloudFront CloudHSMV2Conn *cloudhsmv2.CloudHSMV2 CloudSearchConn *cloudsearch.CloudSearch CloudSearchDomainConn *cloudsearchdomain.CloudSearchDomain CloudTrailConn *cloudtrail.CloudTrail CloudWatchConn *cloudwatch.CloudWatch CodeArtifactConn *codeartifact.CodeArtifact CodeBuildConn *codebuild.CodeBuild CodeCommitConn *codecommit.CodeCommit CodeGuruProfilerConn *codeguruprofiler.CodeGuruProfiler CodeGuruReviewerConn *codegurureviewer.CodeGuruReviewer CodePipelineConn *codepipeline.CodePipeline CodeStarConn *codestar.CodeStar CodeStarConnectionsConn *codestarconnections.CodeStarConnections CodeStarNotificationsConn *codestarnotifications.CodeStarNotifications CognitoIDPConn *cognitoidentityprovider.CognitoIdentityProvider CognitoIdentityConn *cognitoidentity.CognitoIdentity CognitoSyncConn *cognitosync.CognitoSync ComprehendConn *comprehend.Comprehend ComprehendMedicalConn *comprehendmedical.ComprehendMedical ComputeOptimizerConn *computeoptimizer.ComputeOptimizer ConfigServiceConn *configservice.ConfigService ConnectConn *connect.Connect ConnectContactLensConn *connectcontactlens.ConnectContactLens ConnectParticipantConn *connectparticipant.ConnectParticipant CustomerProfilesConn *customerprofiles.CustomerProfiles DAXConn *dax.DAX DLMConn *dlm.DLM DMSConn *databasemigrationservice.DatabaseMigrationService DRSConn *drs.Drs DSConn *directoryservice.DirectoryService DataBrewConn *gluedatabrew.GlueDataBrew DataExchangeConn *dataexchange.DataExchange DataPipelineConn *datapipeline.DataPipeline DataSyncConn *datasync.DataSync DeployConn *codedeploy.CodeDeploy DetectiveConn *detective.Detective DevOpsGuruConn *devopsguru.DevOpsGuru DeviceFarmConn *devicefarm.DeviceFarm DirectConnectConn *directconnect.DirectConnect DiscoveryConn *applicationdiscoveryservice.ApplicationDiscoveryService DocDBConn *docdb.DocDB DynamoDBConn *dynamodb.DynamoDB DynamoDBStreamsConn *dynamodbstreams.DynamoDBStreams EBSConn *ebs.EBS EC2Conn *ec2.EC2 EC2InstanceConnectConn *ec2instanceconnect.EC2InstanceConnect ECRConn *ecr.ECR ECRPublicConn *ecrpublic.ECRPublic ECSConn *ecs.ECS EFSConn *efs.EFS EKSConn *eks.EKS ELBConn *elb.ELB ELBV2Conn *elbv2.ELBV2 EMRConn *emr.EMR EMRContainersConn *emrcontainers.EMRContainers EMRServerlessConn *emrserverless.EMRServerless ElastiCacheConn *elasticache.ElastiCache ElasticBeanstalkConn *elasticbeanstalk.ElasticBeanstalk ElasticInferenceConn *elasticinference.ElasticInference ElasticTranscoderConn *elastictranscoder.ElasticTranscoder ElasticsearchConn *elasticsearchservice.ElasticsearchService EventsConn *eventbridge.EventBridge EvidentlyConn *cloudwatchevidently.CloudWatchEvidently FISConn *fis.Client FMSConn *fms.FMS FSxConn *fsx.FSx FinSpaceConn *finspace.Finspace FinSpaceDataConn *finspacedata.FinSpaceData FirehoseConn *firehose.Firehose ForecastConn *forecastservice.ForecastService ForecastQueryConn *forecastqueryservice.ForecastQueryService FraudDetectorConn *frauddetector.FraudDetector GameLiftConn *gamelift.GameLift GlacierConn *glacier.Glacier GlobalAcceleratorConn *globalaccelerator.GlobalAccelerator GlueConn *glue.Glue GrafanaConn *managedgrafana.ManagedGrafana GreengrassConn *greengrass.Greengrass GreengrassV2Conn *greengrassv2.GreengrassV2 GroundStationConn *groundstation.GroundStation GuardDutyConn *guardduty.GuardDuty HealthConn *health.Health HealthLakeConn *healthlake.HealthLake HoneycodeConn *honeycode.Honeycode IAMConn *iam.IAM IVSConn *ivs.IVS IdentityStoreConn *identitystore.IdentityStore ImageBuilderConn *imagebuilder.Imagebuilder InspectorConn *inspector.Inspector Inspector2Conn *inspector2.Inspector2 IoTConn *iot.IoT IoT1ClickDevicesConn *iot1clickdevicesservice.IoT1ClickDevicesService IoT1ClickProjectsConn *iot1clickprojects.IoT1ClickProjects IoTAnalyticsConn *iotanalytics.IoTAnalytics IoTDataConn *iotdataplane.IoTDataPlane IoTDeviceAdvisorConn *iotdeviceadvisor.IoTDeviceAdvisor IoTEventsConn *iotevents.IoTEvents IoTEventsDataConn *ioteventsdata.IoTEventsData IoTFleetHubConn *iotfleethub.IoTFleetHub IoTJobsDataConn *iotjobsdataplane.IoTJobsDataPlane IoTSecureTunnelingConn *iotsecuretunneling.IoTSecureTunneling IoTSiteWiseConn *iotsitewise.IoTSiteWise IoTThingsGraphConn *iotthingsgraph.IoTThingsGraph IoTTwinMakerConn *iottwinmaker.IoTTwinMaker IoTWirelessConn *iotwireless.IoTWireless KMSConn *kms.KMS KafkaConn *kafka.Kafka KafkaConnectConn *kafkaconnect.KafkaConnect KendraConn *kendra.Client KeyspacesConn *keyspaces.Keyspaces KinesisConn *kinesis.Kinesis KinesisAnalyticsConn *kinesisanalytics.KinesisAnalytics KinesisAnalyticsV2Conn *kinesisanalyticsv2.KinesisAnalyticsV2 KinesisVideoConn *kinesisvideo.KinesisVideo KinesisVideoArchivedMediaConn *kinesisvideoarchivedmedia.KinesisVideoArchivedMedia KinesisVideoMediaConn *kinesisvideomedia.KinesisVideoMedia KinesisVideoSignalingConn *kinesisvideosignalingchannels.KinesisVideoSignalingChannels LakeFormationConn *lakeformation.LakeFormation LambdaConn *lambda.Lambda LexModelsConn *lexmodelbuildingservice.LexModelBuildingService LexModelsV2Conn *lexmodelsv2.LexModelsV2 LexRuntimeConn *lexruntimeservice.LexRuntimeService LexRuntimeV2Conn *lexruntimev2.LexRuntimeV2 LicenseManagerConn *licensemanager.LicenseManager LightsailConn *lightsail.Lightsail LocationConn *locationservice.LocationService LogsConn *cloudwatchlogs.CloudWatchLogs LookoutEquipmentConn *lookoutequipment.LookoutEquipment LookoutMetricsConn *lookoutmetrics.LookoutMetrics LookoutVisionConn *lookoutforvision.LookoutForVision MQConn *mq.MQ MTurkConn *mturk.MTurk MWAAConn *mwaa.MWAA MachineLearningConn *machinelearning.MachineLearning MacieConn *macie.Macie Macie2Conn *macie2.Macie2 ManagedBlockchainConn *managedblockchain.ManagedBlockchain MarketplaceCatalogConn *marketplacecatalog.MarketplaceCatalog MarketplaceCommerceAnalyticsConn *marketplacecommerceanalytics.MarketplaceCommerceAnalytics MarketplaceEntitlementConn *marketplaceentitlementservice.MarketplaceEntitlementService MarketplaceMeteringConn *marketplacemetering.MarketplaceMetering MediaConnectConn *mediaconnect.MediaConnect MediaConvertConn *mediaconvert.MediaConvert MediaLiveConn *medialive.MediaLive MediaPackageConn *mediapackage.MediaPackage MediaPackageVODConn *mediapackagevod.MediaPackageVod MediaStoreConn *mediastore.MediaStore MediaStoreDataConn *mediastoredata.MediaStoreData MediaTailorConn *mediatailor.MediaTailor MemoryDBConn *memorydb.MemoryDB MgHConn *migrationhub.MigrationHub MgnConn *mgn.Mgn MigrationHubConfigConn *migrationhubconfig.MigrationHubConfig MigrationHubRefactorSpacesConn *migrationhubrefactorspaces.MigrationHubRefactorSpaces MigrationHubStrategyConn *migrationhubstrategyrecommendations.MigrationHubStrategyRecommendations MobileConn *mobile.Mobile NeptuneConn *neptune.Neptune NetworkFirewallConn *networkfirewall.NetworkFirewall NetworkManagerConn *networkmanager.NetworkManager NimbleConn *nimblestudio.NimbleStudio OpenSearchConn *opensearchservice.OpenSearchService OpsWorksConn *opsworks.OpsWorks OpsWorksCMConn *opsworkscm.OpsWorksCM OrganizationsConn *organizations.Organizations OutpostsConn *outposts.Outposts PIConn *pi.PI PanoramaConn *panorama.Panorama PersonalizeConn *personalize.Personalize PersonalizeEventsConn *personalizeevents.PersonalizeEvents PersonalizeRuntimeConn *personalizeruntime.PersonalizeRuntime PinpointConn *pinpoint.Pinpoint PinpointEmailConn *pinpointemail.PinpointEmail PinpointSMSVoiceConn *pinpointsmsvoice.PinpointSMSVoice PollyConn *polly.Polly PricingConn *pricing.Pricing ProtonConn *proton.Proton QLDBConn *qldb.QLDB QLDBSessionConn *qldbsession.QLDBSession QuickSightConn *quicksight.QuickSight RAMConn *ram.RAM RBinConn *recyclebin.RecycleBin RDSConn *rds.RDS RDSDataConn *rdsdataservice.RDSDataService RUMConn *cloudwatchrum.CloudWatchRUM RedshiftConn *redshift.Redshift RedshiftDataConn *redshiftdataapiservice.RedshiftDataAPIService RedshiftServerlessConn *redshiftserverless.RedshiftServerless RekognitionConn *rekognition.Rekognition ResilienceHubConn *resiliencehub.ResilienceHub ResourceGroupsConn *resourcegroups.ResourceGroups ResourceGroupsTaggingAPIConn *resourcegroupstaggingapi.ResourceGroupsTaggingAPI RoboMakerConn *robomaker.RoboMaker RolesAnywhereConn *rolesanywhere.Client Route53Conn *route53.Route53 Route53DomainsConn *route53domains.Client Route53RecoveryClusterConn *route53recoverycluster.Route53RecoveryCluster Route53RecoveryControlConfigConn *route53recoverycontrolconfig.Route53RecoveryControlConfig Route53RecoveryReadinessConn *route53recoveryreadiness.Route53RecoveryReadiness Route53ResolverConn *route53resolver.Route53Resolver S3Conn *s3.S3 S3ControlConn *s3control.S3Control S3OutpostsConn *s3outposts.S3Outposts SESConn *ses.SES SESV2Conn *sesv2.SESV2 SFNConn *sfn.SFN SMSConn *sms.SMS SNSConn *sns.SNS SQSConn *sqs.SQS SSMConn *ssm.SSM SSMContactsConn *ssmcontacts.SSMContacts SSMIncidentsConn *ssmincidents.SSMIncidents SSOConn *sso.SSO SSOAdminConn *ssoadmin.SSOAdmin SSOOIDCConn *ssooidc.SSOOIDC STSConn *sts.STS SWFConn *swf.SWF SageMakerConn *sagemaker.SageMaker SageMakerA2IRuntimeConn *augmentedairuntime.AugmentedAIRuntime SageMakerEdgeConn *sagemakeredgemanager.SagemakerEdgeManager SageMakerFeatureStoreRuntimeConn *sagemakerfeaturestoreruntime.SageMakerFeatureStoreRuntime SageMakerRuntimeConn *sagemakerruntime.SageMakerRuntime SavingsPlansConn *savingsplans.SavingsPlans SchemasConn *schemas.Schemas SecretsManagerConn *secretsmanager.SecretsManager SecurityHubConn *securityhub.SecurityHub ServerlessRepoConn *serverlessapplicationrepository.ServerlessApplicationRepository ServiceCatalogConn *servicecatalog.ServiceCatalog ServiceCatalogAppRegistryConn *appregistry.AppRegistry ServiceDiscoveryConn *servicediscovery.ServiceDiscovery ServiceQuotasConn *servicequotas.ServiceQuotas ShieldConn *shield.Shield SignerConn *signer.Signer SimpleDBConn *simpledb.SimpleDB SnowDeviceManagementConn *snowdevicemanagement.SnowDeviceManagement SnowballConn *snowball.Snowball StorageGatewayConn *storagegateway.StorageGateway SupportConn *support.Support SyntheticsConn *synthetics.Synthetics TextractConn *textract.Textract TimestreamQueryConn *timestreamquery.TimestreamQuery TimestreamWriteConn *timestreamwrite.TimestreamWrite TranscribeConn *transcribe.Client TranscribeStreamingConn *transcribestreamingservice.TranscribeStreamingService TransferConn *transfer.Transfer TranslateConn *translate.Translate VoiceIDConn *voiceid.VoiceID WAFConn *waf.WAF WAFRegionalConn *wafregional.WAFRegional WAFV2Conn *wafv2.WAFV2 WellArchitectedConn *wellarchitected.WellArchitected WisdomConn *connectwisdomservice.ConnectWisdomService WorkDocsConn *workdocs.WorkDocs WorkLinkConn *worklink.WorkLink WorkMailConn *workmail.WorkMail WorkMailMessageFlowConn *workmailmessageflow.WorkMailMessageFlow WorkSpacesConn *workspaces.WorkSpaces WorkSpacesWebConn *workspacesweb.WorkSpacesWeb XRayConn *xray.XRay }
func (*AWSClient) PartitionHostname ¶
PartitionHostname returns a hostname with the provider domain suffix for the partition e.g. PREFIX.amazonaws.com The prefix should not contain a trailing period.
func (*AWSClient) RegionalHostname ¶
RegionalHostname returns a hostname with the provider domain suffix for the region and partition e.g. PREFIX.us-west-2.amazonaws.com The prefix should not contain a trailing period.
type Config ¶
type Config struct { AccessKey string AllowedAccountIds []string AssumeRole *awsbase.AssumeRole AssumeRoleWithWebIdentity *awsbase.AssumeRoleWithWebIdentity CustomCABundle string DefaultTagsConfig *tftags.DefaultConfig EC2MetadataServiceEnableState imds.ClientEnableState EC2MetadataServiceEndpoint string EC2MetadataServiceEndpointMode string Endpoints map[string]string ForbiddenAccountIds []string HTTPProxy string IgnoreTagsConfig *tftags.IgnoreConfig Insecure bool MaxRetries int Profile string Region string S3UsePathStyle bool SecretKey string SkipCredsValidation bool SkipGetEC2Platforms bool SkipRegionValidation bool SkipRequestingAccountId bool STSRegion string SuppressDebugLog bool TerraformVersion string Token string UseDualStackEndpoint bool UseFIPSEndpoint bool }
type MutexKV ¶
type MutexKV struct {
// contains filtered or unexported fields
}
MutexKV is a simple key/value store for arbitrary mutexes. It can be used to serialize changes across arbitrary collaborators that share knowledge of the keys they must serialize on.