diff --git a/examples/go.mod b/examples/go.mod index be1b359c65a..d2d30634ccd 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -4,8 +4,8 @@ go 1.23.3 require ( github.com/aws/aws-sdk-go v1.55.5 - github.com/aws/aws-sdk-go-v2/config v1.28.5 - github.com/aws/aws-sdk-go-v2/service/iam v1.38.1 + github.com/aws/aws-sdk-go-v2/config v1.28.6 + github.com/aws/aws-sdk-go-v2/service/iam v1.38.2 github.com/pulumi/providertest v0.1.3 github.com/pulumi/pulumi-aws/provider/v6 v6.0.0-00010101000000-000000000000 github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 @@ -56,264 +56,264 @@ require ( github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go-v2 v1.32.5 // indirect + github.com/aws/aws-sdk-go-v2 v1.32.6 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.46 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.41 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.47 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.24 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/account v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/acm v1.30.6 // indirect - github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.7 // indirect - github.com/aws/aws-sdk-go-v2/service/amp v1.30.3 // indirect - github.com/aws/aws-sdk-go-v2/service/amplify v1.27.4 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.6 // indirect - github.com/aws/aws-sdk-go-v2/service/appflow v1.45.7 // indirect - github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.6 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.4 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/appstream v1.41.6 // indirect - github.com/aws/aws-sdk-go-v2/service/appsync v1.40.0 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.48.4 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.6 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.0 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/backup v1.39.7 // indirect - github.com/aws/aws-sdk-go-v2/service/batch v1.48.1 // indirect - github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.6 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.22.4 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.0 // indirect - github.com/aws/aws-sdk-go-v2/service/chime v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.19.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.0 // indirect - github.com/aws/aws-sdk-go-v2/service/configservice v1.50.6 // indirect - github.com/aws/aws-sdk-go-v2/service/connect v1.117.0 // indirect - github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/controltower v1.20.0 // indirect - github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.0 // indirect - github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.0 // indirect - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.4 // indirect - github.com/aws/aws-sdk-go-v2/service/databrew v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.4 // indirect - github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/datasync v1.43.4 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dax v1.23.6 // indirect - github.com/aws/aws-sdk-go-v2/service/detective v1.31.6 // indirect - github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.7 // indirect - github.com/aws/aws-sdk-go-v2/service/dlm v1.28.7 // indirect - github.com/aws/aws-sdk-go-v2/service/docdb v1.39.5 // indirect - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.3 // indirect - github.com/aws/aws-sdk-go-v2/service/drs v1.30.6 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.193.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.36.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.52.0 // indirect - github.com/aws/aws-sdk-go-v2/service/efs v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/eks v1.52.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.5 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.5 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/emr v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.7 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/evidently v1.23.6 // indirect - github.com/aws/aws-sdk-go-v2/service/finspace v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/firehose v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fis v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fms v1.38.4 // indirect - github.com/aws/aws-sdk-go-v2/service/fsx v1.49.6 // indirect - github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/glacier v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/glue v1.102.0 // indirect - github.com/aws/aws-sdk-go-v2/service/grafana v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.6 // indirect - github.com/aws/aws-sdk-go-v2/service/guardduty v1.51.2 // indirect - github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.38.4 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.25 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.2 // indirect + github.com/aws/aws-sdk-go-v2/service/account v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/acm v1.30.7 // indirect + github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.8 // indirect + github.com/aws/aws-sdk-go-v2/service/amp v1.30.4 // indirect + github.com/aws/aws-sdk-go-v2/service/amplify v1.27.5 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.1 // indirect + github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.7 // indirect + github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8 // indirect + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2 // indirect + github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 // indirect + github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 // indirect + github.com/aws/aws-sdk-go-v2/service/athena v1.48.5 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/backup v1.39.8 // indirect + github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 // indirect + github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1 // indirect + github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.2 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.1 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.1 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.2 // indirect + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.1 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1 // indirect + github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1 // indirect + github.com/aws/aws-sdk-go-v2/service/connect v1.119.0 // indirect + github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1 // indirect + github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.1 // indirect + github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.1 // indirect + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.5 // indirect + github.com/aws/aws-sdk-go-v2/service/databrew v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.5 // indirect + github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1 // indirect + github.com/aws/aws-sdk-go-v2/service/dax v1.23.7 // indirect + github.com/aws/aws-sdk-go-v2/service/detective v1.31.7 // indirect + github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1 // indirect + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8 // indirect + github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8 // indirect + github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 // indirect + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 // indirect + github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1 // indirect + github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/emr v1.47.1 // indirect + github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7 // indirect + github.com/aws/aws-sdk-go-v2/service/finspace v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/firehose v1.35.2 // indirect + github.com/aws/aws-sdk-go-v2/service/fis v1.31.2 // indirect + github.com/aws/aws-sdk-go-v2/service/fms v1.38.5 // indirect + github.com/aws/aws-sdk-go-v2/service/fsx v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.102.1 // indirect + github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.7 // indirect + github.com/aws/aws-sdk-go-v2/service/guardduty v1.52.0 // indirect + github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/iot v1.61.0 // indirect - github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ivs v1.42.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.38.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.54.6 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.37.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.3 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.69.0 // indirect - github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.6 // indirect - github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.6 // indirect - github.com/aws/aws-sdk-go-v2/service/location v1.42.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.6 // indirect - github.com/aws/aws-sdk-go-v2/service/m2 v1.18.4 // indirect - github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.0 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.62.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/memorydb v1.24.5 // indirect - github.com/aws/aws-sdk-go-v2/service/mq v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/neptune v1.35.5 // indirect - github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.0 // indirect - github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.3 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.6 // indirect - github.com/aws/aws-sdk-go-v2/service/oam v1.15.6 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearch v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.3 // indirect - github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/organizations v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/osis v1.14.6 // indirect - github.com/aws/aws-sdk-go-v2/service/outposts v1.47.1 // indirect - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.6 // indirect - github.com/aws/aws-sdk-go-v2/service/pcs v1.2.7 // indirect - github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pipes v1.18.4 // indirect - github.com/aws/aws-sdk-go-v2/service/polly v1.45.7 // indirect - github.com/aws/aws-sdk-go-v2/service/pricing v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/qldb v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ram v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/rbin v1.21.0 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.91.0 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.52.1 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.3 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3 // indirect - github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.7 // indirect - github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53 v1.46.2 // indirect - github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rum v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.69.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.50.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.0 // indirect - github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.6 // indirect - github.com/aws/aws-sdk-go-v2/service/schemas v1.28.7 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/securityhub v1.54.7 // indirect - github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.4 // indirect - github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ses v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.3 // indirect - github.com/aws/aws-sdk-go-v2/service/sfn v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/shield v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/signer v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sns v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sqs v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.56.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.5 // indirect - github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/swf v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.0 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.6 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.7 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.6 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.53.5 // indirect - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.2 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.12.9 // indirect - github.com/aws/aws-sdk-go-v2/service/waf v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.5 // indirect - github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/iot v1.61.1 // indirect + github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ivs v1.42.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.37.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1 // indirect + github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.7 // indirect + github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.7 // indirect + github.com/aws/aws-sdk-go-v2/service/location v1.42.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.7 // indirect + github.com/aws/aws-sdk-go-v2/service/m2 v1.18.5 // indirect + github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.7 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1 // indirect + github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/memorydb v1.25.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mq v1.27.8 // indirect + github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.1 // indirect + github.com/aws/aws-sdk-go-v2/service/neptune v1.35.6 // indirect + github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.1 // indirect + github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.4 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.1 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.7 // indirect + github.com/aws/aws-sdk-go-v2/service/oam v1.15.7 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearch v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.4 // indirect + github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/organizations v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/osis v1.14.7 // indirect + github.com/aws/aws-sdk-go-v2/service/outposts v1.47.2 // indirect + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.7 // indirect + github.com/aws/aws-sdk-go-v2/service/pcs v1.2.8 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.2 // indirect + github.com/aws/aws-sdk-go-v2/service/pipes v1.18.5 // indirect + github.com/aws/aws-sdk-go-v2/service/polly v1.45.8 // indirect + github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.92.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4 // indirect + github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8 // indirect + github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53 v1.46.3 // indirect + github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2 // indirect + github.com/aws/aws-sdk-go-v2/service/rum v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1 // indirect + github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7 // indirect + github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 // indirect + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/securityhub v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.5 // indirect + github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.7 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ses v1.29.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/shield v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/signer v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.56.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 // indirect + github.com/aws/aws-sdk-go-v2/service/swf v1.27.8 // indirect + github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2 // indirect + github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/waf v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.6 // indirect + github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.1 // indirect - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.0 // indirect - github.com/aws/aws-sdk-go-v2/service/xray v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2 // indirect + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1 // indirect + github.com/aws/aws-sdk-go-v2/service/xray v1.30.1 // indirect github.com/aws/smithy-go v1.22.1 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beevik/etree v1.4.1 // indirect @@ -483,7 +483,7 @@ require ( github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/yuin/goldmark v1.7.4 // indirect - github.com/zclconf/go-cty v1.15.0 // indirect + github.com/zclconf/go-cty v1.15.1 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.57.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect @@ -510,7 +510,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect google.golang.org/grpc v1.68.0 // indirect google.golang.org/protobuf v1.35.2 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/examples/go.sum b/examples/go.sum index c842fcabd23..5590e3200ba 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1236,526 +1236,526 @@ github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go-v2 v1.32.5 h1:U8vdWJuY7ruAkzaOdD7guwJjD06YSKmnKCJs7s3IkIo= -github.com/aws/aws-sdk-go-v2 v1.32.5/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= +github.com/aws/aws-sdk-go-v2 v1.32.6 h1:7BokKRgRPuGmKkFMhEg/jSul+tB9VvXhcViILtfG8b4= +github.com/aws/aws-sdk-go-v2 v1.32.6/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 h1:lL7IfaFzngfx0ZwUGOZdsFFnQ5uLvR0hWqqhyE7Q9M8= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7/go.mod h1:QraP0UcVlQJsmHfioCrveWOC1nbiWUl3ej08h4mXWoc= -github.com/aws/aws-sdk-go-v2/config v1.28.5 h1:Za41twdCXbuyyWv9LndXxZZv3QhTG1DinqlFsSuvtI0= -github.com/aws/aws-sdk-go-v2/config v1.28.5/go.mod h1:4VsPbHP8JdcdUDmbTVgNL/8w9SqOkM5jyY8ljIxLO3o= -github.com/aws/aws-sdk-go-v2/credentials v1.17.46 h1:AU7RcriIo2lXjUfHFnFKYsLCwgbz1E7Mm95ieIRDNUg= -github.com/aws/aws-sdk-go-v2/credentials v1.17.46/go.mod h1:1FmYyLGL08KQXQ6mcTlifyFXfJVCNJTVGuQP4m0d/UA= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20 h1:sDSXIrlsFSFJtWKLQS4PUWRvrT580rrnuLydJrCQ/yA= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20/go.mod h1:WZ/c+w0ofps+/OUqMwWgnfrgzZH1DZO1RIkktICsqnY= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.41 h1:hqcxMc2g/MwwnRMod9n6Bd+t+9Nf7d5qRg7RaXKPd6o= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.41/go.mod h1:d1eH0VrttvPmrCraU68LOyNdu26zFxQFjrVSb5vdhog= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24 h1:4usbeaes3yJnCFC7kfeyhkdkPtoRYPa/hTmCqMpKpLI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24/go.mod h1:5CI1JemjVwde8m2WG3cz23qHKPOxbpkq0HaoreEgLIY= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24 h1:N1zsICrQglfzaBnrfM0Ys00860C+QFwu6u/5+LomP+o= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24/go.mod h1:dCn9HbJ8+K31i8IQ8EWmWj0EiIk0+vKiHNMxTTYveAg= +github.com/aws/aws-sdk-go-v2/config v1.28.6 h1:D89IKtGrs/I3QXOLNTH93NJYtDhm8SYa9Q5CsPShmyo= +github.com/aws/aws-sdk-go-v2/config v1.28.6/go.mod h1:GDzxJ5wyyFSCoLkS+UhGB0dArhb9mI+Co4dHtoTxbko= +github.com/aws/aws-sdk-go-v2/credentials v1.17.47 h1:48bA+3/fCdi2yAwVt+3COvmatZ6jUDNkDTIsqDiMUdw= +github.com/aws/aws-sdk-go-v2/credentials v1.17.47/go.mod h1:+KdckOejLW3Ks3b0E3b5rHsr2f9yuORBum0WPnE5o5w= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 h1:AmoU1pziydclFT/xRV+xXE/Vb8fttJCLRPv8oAkprc0= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21/go.mod h1:AjUdLYe4Tgs6kpH4Bv7uMZo7pottoyHMn4eTcIcneaY= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42 h1:vEnk9vtjJ62OO2wOhEmgKMZgNcn1w0aF7XCiNXO5rK0= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42/go.mod h1:GUOPbPJWRZsdt1OJ355upCrry4d3ZFgdX6rhT7gtkto= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 h1:s/fF4+yDQDoElYhfIVvSNyeCydfbuTKzhxSXDXCPasU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25/go.mod h1:IgPfDv5jqFIzQSNbUEMoitNooSMXjRSDkhXv8jiROvU= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 h1:ZntTCl5EsYnhN/IygQEUugpdwbhdkom9uHcbCftiGgA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25/go.mod h1:DBdPrgeocww+CSl1C8cEV8PN1mHMBhuCDLpXezyvWkE= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.24 h1:JX70yGKLj25+lMC5Yyh8wBtvB01GDilyRuJvXJ4piD0= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.24/go.mod h1:+Ln60j9SUTD0LEwnhEB0Xhg61DHqplBrbZpLgyjoEHg= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.1 h1:IdOcs3kO2gSgjQ6CQVV3TiFrcqt4+p/hIO3fJoY5LAk= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.1/go.mod h1:73ZiTjCNz6qec4WaTLpXuz3QS/B6BGaeI1CsiojnR2w= -github.com/aws/aws-sdk-go-v2/service/account v1.21.6 h1:FtKN52U4HemOC0ScQTPmZKe+902h09Uf60s6F6x9eE8= -github.com/aws/aws-sdk-go-v2/service/account v1.21.6/go.mod h1:DoOQNxPjjgOCH5KPxVZ+37214qlPbXGOX7phOWvZPQU= -github.com/aws/aws-sdk-go-v2/service/acm v1.30.6 h1:fDg0RlN30Xf/yYzEUL/WXqhmgFsjVb/I3230oCfyI5w= -github.com/aws/aws-sdk-go-v2/service/acm v1.30.6/go.mod h1:zRR6jE3v/TcbfO8C2P+H0Z+kShiKKVaVyoIl8NQRjyg= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.7 h1:uysdx5dYnLtvApVpV4A730PfmqqEjb2ejYcB0NB+2js= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.7/go.mod h1:PmgOAeKyU7dx7gOZE+v+p3n2tiKa2DvGKvJ8GDehAZw= -github.com/aws/aws-sdk-go-v2/service/amp v1.30.3 h1:28FOQuvHpWMdEYK9x89FszjBmwGfhkWYIc45DQcLhsk= -github.com/aws/aws-sdk-go-v2/service/amp v1.30.3/go.mod h1:QbCuQItcTOX7oQR9Nn9nGveBCqSad391I5ReOyQmtag= -github.com/aws/aws-sdk-go-v2/service/amplify v1.27.4 h1:wnfodLD2dlJXX4CgYQh18nvo18dPjqZEWrtYZ6DWGh0= -github.com/aws/aws-sdk-go-v2/service/amplify v1.27.4/go.mod h1:hmHZYJI1CZlr2V/qTBE8r+/U353Gn/7pOoxNpfFmZuI= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.0 h1:BkESaUndLOn3ZFTq4Eho347yvtiJxEQf1HWxgVu2RVI= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.0/go.mod h1:WP+ceHdK5RAijZxABi1mH1kCZmQKRJNKwV+cj0iVr44= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.6 h1:wNUMxMjviF0fbO1pWKVFT1xDRa+BY2qwW6+YJkgIRvI= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.6/go.mod h1:pCq9ErKoUWYFfmpENhlWuhBF+NNNwVOXNrZA5C480eM= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.0 h1:6IlrKbN6rVw2wdVxm4WQ5nI/Np0eTydc5Lsa1Vq+cBs= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.0/go.mod h1:mtklZ9Lk3KEtJ9ej2NrPqpGHaGGcrwfeSN9ClPd4FA8= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.6 h1:71eLtI7uFLhWHgnbaZqLs+dCYw6obqHrAQy+/5+Jlt4= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.6/go.mod h1:RPqeoYHbSE1AoVzgAPQp1JjaKiyGMXszHOZMa0pKdUM= -github.com/aws/aws-sdk-go-v2/service/appflow v1.45.7 h1:UfxkfxuI4Ksq33InChPPDFg/qEFGsPzrnRnBHzbisHM= -github.com/aws/aws-sdk-go-v2/service/appflow v1.45.7/go.mod h1:kJIzLElxd30701jCUv8leaH4GGrCCfoxpNUULd7+rK8= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.6 h1:wUhwc2GcAZ4m00sVu2gQ9ugn5Jxk3EjZPf9KxIM+aZo= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.6/go.mod h1:ivsyQDuUvZ2HIjoACH4KiSkaP3/rQVjPpb4yUurgPCU= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.0 h1:GepjPOtTMErWuKclEcfUtibA2gP8kLlL6gglC2YJEMU= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.0/go.mod h1:XBKTLJ2N61HegfI0sroliDC1MNX0L3ApqCfNoZ9POAA= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.4 h1:NiytCBlDQWHo7GWomxI7sBayGgYikFLRWGx67mab42o= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.4/go.mod h1:S/E1rruraVCEM0H11AAlulupi00RyhGmARep6mgJgec= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.1 h1:UU84hkab8PQfrTM8jJjEQvfYns1meYkXWcCQs7uuiSo= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.1/go.mod h1:/tCS8SpYcmDH7u+RiqUuT7MgKQjyWJWzRwlkMlXbgAA= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.6 h1:mnptOnjJlbuERJEoEGdUZKnTGxkvHzgosXba3+JoCfI= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.6/go.mod h1:bRUdurcm4crbVyWF9uN8J7P1WHcZ0U7Losz/wc9mY94= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.6 h1:Wqlx6m821gv7qXMJQ3f7JuTQusWbZNWbpEgFD6/qkgE= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.6/go.mod h1:liN6AXsZpCSw888Vdsc1OSeKuEVvWek31jv41mn4KCA= -github.com/aws/aws-sdk-go-v2/service/appstream v1.41.6 h1:Y/npDc6JZ9rxarIqZOWZllxgtZLLjFXvwTjuhpoSqW8= -github.com/aws/aws-sdk-go-v2/service/appstream v1.41.6/go.mod h1:Ex0sRVuADGJBCsP8Yvsuu+RTeAydhj5OrXxu99OlE+w= -github.com/aws/aws-sdk-go-v2/service/appsync v1.40.0 h1:FgT5r1MEc4ZAxmYGw4VcobadiEno6CggVP+GTm2SK5I= -github.com/aws/aws-sdk-go-v2/service/appsync v1.40.0/go.mod h1:d+xpwZCcffeV4l4bM1xjQgINiNPUlmwKQSkoaAnMjVE= -github.com/aws/aws-sdk-go-v2/service/athena v1.48.4 h1:FbHOJ4JekyaFLE5SG0yuHryYRuaHXd9rO4QMYK4NH5A= -github.com/aws/aws-sdk-go-v2/service/athena v1.48.4/go.mod h1:sAM9gz5RsYx3nBYISXE9CRnQVk7WtCs6SjCZvygmtzQ= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.6 h1:TLXugBC1lQUGMcVhUTdRiUnX4ulOs13hGvBlw4bBkSE= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.6/go.mod h1:TnalEymbabDCozLHd0UxERDVwDsiUNQ8Cy7Wd6I+nUE= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.0 h1:1KzQVZi7OTixxaVJ8fWaJAUBjme+iQ3zBOCZhE4RgxQ= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.0/go.mod h1:I1+/2m+IhnK5qEbhS3CrzjeiVloo9sItE/2K+so0fkU= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.6 h1:zkRcAyCAf1sO51+tr7cdzARkojrgaqQEMNJa6SSxszw= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.6/go.mod h1:Fk9vMo1pF5oomcRNwVuu/oAZWgnErNzdr1dpYlLFnjg= -github.com/aws/aws-sdk-go-v2/service/backup v1.39.7 h1:YeU78WW19lWGew7OBP2lImtLvn2d5Zlktjwh268d07I= -github.com/aws/aws-sdk-go-v2/service/backup v1.39.7/go.mod h1:oeRKTbMD3NrXPRvFZGSibtpJfpYlyLKnQOyHvl6rjqQ= -github.com/aws/aws-sdk-go-v2/service/batch v1.48.1 h1:DkHLOuDTutCshu7k+Po0sd/CXfOrtML+GHVx4dgkvpg= -github.com/aws/aws-sdk-go-v2/service/batch v1.48.1/go.mod h1:2bWNVbqMIXP8HnWqkEIEm+WTH3QNo9Ui/CGJ5l9IM2E= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.6 h1:sxKe/rHVVxLQJgqnxBzdlX2GYCLhY+y9jH9UmE9381A= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.6/go.mod h1:kplgf9W6J8e3ml6xKdfdNRuCCdXZbgmwVd6xfUeHkkM= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.22.4 h1:R0Tw4Xon1Lz8TGmeTi3D2Qi8Rn601myEGVFRw0Rp3aY= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.22.4/go.mod h1:U9FfwVNRitPo23yN28RGlXRR1EgqcwnP0P2oTUHKCi8= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.27.1 h1:Uq364zd0sw4Sa5DovhBKFn5oXqEws3KQkzMMnRl1N5k= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.27.1/go.mod h1:+QNM3upOuzc6CrYFdtDnNApChkfbC6lIAI2nqct4/u8= -github.com/aws/aws-sdk-go-v2/service/budgets v1.28.6 h1:RVzQr0yvPN3OGZ2ipFVe1SBIwvomwjCvGg9S2q1QQbM= -github.com/aws/aws-sdk-go-v2/service/budgets v1.28.6/go.mod h1:v5aGgmg7e0sS9wbdIK1CwgSIGCBmKbwnnI3F0vj3Fb0= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.0 h1:9MsvMH/fdhu4NhtaYrAvyOGrewZTkh6W5bwxIbKAQGk= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.0/go.mod h1:AnpVkIhMiOul0lelxDuySlmnNMW4AqEXz4VyRC5mCvo= -github.com/aws/aws-sdk-go-v2/service/chime v1.34.6 h1:Jl5fsX028RPDzuKInYkCU6p+cWnvWLpBJEXPlnzdkOQ= -github.com/aws/aws-sdk-go-v2/service/chime v1.34.6/go.mod h1:pqo7AjgtB9xL2KfkCFXO8wKNAFCTcfM4Yiw6nUYt7O0= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.1 h1:wasRSxlF1Ye9ilVut1GngPCTwyMPc13XJyRTJPM0nO4= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.1/go.mod h1:PMNzhRaaNVe10wFPXZot2S/d7oWZ+daavUxPZoJwunc= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.19.6 h1:gHAxXcatt7lzQmRGwnlHzdsDc0QF2nyasvmGziUDW0M= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.19.6/go.mod h1:06jbpOTnxPCMbGCiQZKt4GaM+w1NxNXoCYINTK0ddXQ= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.20.1 h1:kILYJ5OnV3XPABU3XPWhCl2Ruek1SLGh9A2zOPpIHtg= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.20.1/go.mod h1:AVtuSdL0mtsEZhTJQiSVDe3UMneZUQvqN0fgHCNM0kE= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.6 h1:pKLIvUEFSgh7BICo0Vkk1LXkQFfgrDVrGvD+jJr9QOA= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.6/go.mod h1:wDc8fmV/V2cWH6OYILCV6eaQGNe38/glTCiffF61N30= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.1 h1:x4XUX/gadOFFsX5ndid0zKvf9Y33rlkbPmlmubLsfZA= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.1/go.mod h1:8vDrlyLzxWUybo1E4Rh2UVUPM9cyu+GgTYkwFCRV6h4= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0 h1:zmXJiEm/fQYtFDLIUsZrcPIjTrL3R/noFICGlYBj3Ww= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0/go.mod h1:9nOjXCDKE+QMK4JaCrLl36PU+VEfJmI7WVehYmojO8s= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.0 h1:Ny0HHch5IyjWd3Hh/csFvAZFPDHvu7eeePFh7+BnbZ8= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.0/go.mod h1:KC7JSdRScZQpZJDJp4ze9elsg8QIWIoABjmCzDS4rtg= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.6 h1:dke8UJCJrHoscyZ1dIPgy3cxoLdets5LnoXO9jlW2bM= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.6/go.mod h1:A42W0NdVTnuXFemvBZY/nNVnVKgTVJBv06fQTtVvLuo= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.7 h1:Ymxy7Hrq/Gax/w++W0t1E2ptd9W4/nFAGl3Ls50npDI= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.7/go.mod h1:W4rh804hNs3jvIUVrZU7W6ZzufPUTn2fvjFwDLg75Vk= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.5 h1:qv4Vmbrmq556QW1geLfnVU04FKotI85HgCVup2CHC0I= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.5/go.mod h1:bLUwLj8J6hdXNYgrlrBmYaC6k+WRiWVuuj82l4cE+dE= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.1 h1:2ak2eGvO11EG8dbF2rduX0LFYqkSmLTaFiAXbrYeBik= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.1/go.mod h1:1UmWM2dmPjAP9GndptgNB5ZO1GnVRHFUX5JK0RB+ozY= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.1 h1:FbjhJTRoTujDYDwTnnE46Km5Qh1mMSH+BwTL4ODFifg= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.1/go.mod h1:OwyCzHw6CH8pkLqT8uoCkOgUsgm11LTfexLZyRy6fBg= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.44.0 h1:OREVd94+oXW5a+3SSUAo4K0L5ci8cucCLu+PSiek8OU= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.44.0/go.mod h1:Qbr4yfpNqVNl69l/GEDK+8wxLf/vHi0ChoiSDzD7thU= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.6 h1:Uu7boDJDhHI3P9AjMPu9/bdSfOoTlhowBTUPswP5avM= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.6/go.mod h1:MledsPnJ3IBEYa7pWbYIitZDbSOftxNjRCxrEm5W9L0= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.1 h1:rVfkJ2IsXFUB2dRyjoCcED1LQPeTwiOGSxB2tzItrL8= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.1/go.mod h1:8dQzphxd2LV1cd7+OGI4GMFDxQ/VPHVjh6KxVd2SJbo= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.6 h1:+1s3luItMYMd4tzBtvvDC92v1P9wnTMbxTlQsL++8eg= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.6/go.mod h1:+uaY4HqZJC0cu7SHnzMV6k/aeazDS7TLfW3yjHI4eSs= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.6 h1:RDxqhwbpubVwvFAsh2YYFlK3y9JPTE3sfnRhLk5Ngj4= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.6/go.mod h1:Q77pLjwbFzluXn9ciIdzS4kwnU8OSOKskIMIjFP6oyY= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.6 h1:qrWm4wG/P/ocxqYW4rBKaMoO8vabqrr3I1Hbvu+mTkM= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.6/go.mod h1:cx8mC1/hFSDeK6b40Kqga9vk2s2rkbf3MsErQLojnSA= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.6 h1:jwaOL3HT0yXEIs/2Bs35sx6DM6L755ppdW9DejXYYa4= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.6/go.mod h1:wOfD5vHIuGIe9aMoujgn0teM3fGOvtW1uxeZPs+MluI= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.6 h1:NHA1oFgnYErN/m1U1KDFrM4pbL7EABumJU6hCL6FhIg= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.6/go.mod h1:f7Z7f8TJ+jPCG3a7iw5G3Og6ZNlVV/h4Vssa2z5Ctvg= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.6 h1:ZCwOHI5qLoZOKXRroD7zFC9DsJOwr7/2trzCqGmTJXk= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.6/go.mod h1:LwkwNbB3ftbrnzeolIatXt5WPCpkRbVZcEnDJ4B33yE= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.0 h1:NADCf4LSkrl1ADbJT1q3VxGhJ4gre77MJ40aqupZczg= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.0/go.mod h1:VNGtFdYLnh+4bhmz/t1grmciVHt1aPeFWu3YAUOzJeM= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.6 h1:OqC1rs2Rt4hOl07IcVQ3ZjXDPPCQJ20k2Xp59ZMNfmY= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.6/go.mod h1:NSqFyJ68sZwNuQOBCZ1c+G10d9nd03AqdkLwkRPIHPo= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.6 h1:IeMC7DWOojfoApk0lSrmFO9lWdbd2EFskmYNrgegwuY= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.6/go.mod h1:ZAEhVVAHdollHwVtzGSoh7gH8SGbFaOvYeHAE7lv1Uk= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.6 h1:qrxndl72akI2mK6nhN5TLe+JiAklKl+vtaiAvbQ71lM= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.6/go.mod h1:v4nSWzO8c2OSdtprw0PQ7UtspocKCJhH1uBd6NxL8FM= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.0 h1:9WEhV3JmFhSMnKaY2SqcPb0bM5XIoMmAy62Fj5TNMwk= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.0/go.mod h1:TxsMf+uRm3AHGUs2BSmnxz99BqUd6f9EiuDEhRppTY8= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.6 h1:cnZDmrpdVewJ22Y9Su1XpmsPIQ5oS3TujNPS04cH+7s= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.6/go.mod h1:LGMQ+uNG/xTjB8nx6Jb2SrsQqvWc7ip0vqNiiKu9EiA= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.0 h1:rNj0NoMlMlV9B3rEnxv84CG5RfEqwyfjHL6P/YtX224= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.0/go.mod h1:MH4YodNw/6ZHhRwow3baZ7RQP6z8GKSMsO94X5OZ3Y0= -github.com/aws/aws-sdk-go-v2/service/configservice v1.50.6 h1:GsIoN6f+LLTX/Sa70WO77Cy1GTrSF9xi7e8OwwOiGcs= -github.com/aws/aws-sdk-go-v2/service/configservice v1.50.6/go.mod h1:5vbQi0lIP9T7RLGyjmQZhqf5Xv9WxHXk7qlHnhEqWKc= -github.com/aws/aws-sdk-go-v2/service/connect v1.117.0 h1:ELPEshWAPZzprvgJfY0vZcyuPx9eSsXpkdNyQ6kl198= -github.com/aws/aws-sdk-go-v2/service/connect v1.117.0/go.mod h1:oGrMxGM/Ww+glDJ7cfMU1X22kJ6XBBHXsfxIhKD6E3k= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.6 h1:w475oN5DyGiDt58pLYm1Gq7wKzH4FuZM1tNj+Agd1j4= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.6/go.mod h1:gCKtUjvhDcgZCLqqdc5AI9cxEFx4VCvvgKy8FL2UeXY= -github.com/aws/aws-sdk-go-v2/service/controltower v1.20.0 h1:4YuCMtKeY+TwG277Rh/4zC6ijMjJ5XeMj9djxZ0luXI= -github.com/aws/aws-sdk-go-v2/service/controltower v1.20.0/go.mod h1:Wwtsq9vGGX+s+z2CAU6nNVQnQUp6tP12FmGK8Gauy7M= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.6 h1:osGnDbG5/5BHoExuVOK1EN0a9cLfZ8NdqB7luLInxOA= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.6/go.mod h1:Rkaugb0V6ZcPs8GzhnEjbq+EB9K+GASbOMdxiDzTZX4= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.0 h1:78q3WvpWmDAg6Ssd9c9bgGLLtFuwRMhNRdSNSX8lXto= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.0/go.mod h1:rwuImPfFVkoKeuAkGrlDSFm9pT9veoRNoH25IG9Jco0= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.0 h1:nV8WhW54iNT4XYZphMG5zfxhpe8POhi67Dp5uHCVk80= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.0/go.mod h1:CPai3cHY5BMDEFDcUW4JrkN0vo+L3IyJgF/+Ddlm3wc= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.43.0 h1:LnSDxvx4MoC59r50lHfyDmKFtT4DVeicBn6ci+gvQ/E= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.43.0/go.mod h1:NszyDJkn2aVBAt20J4jJou61HFdA8N6AFGNIBfsCmB4= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.4 h1:WK5CyygA6+yzm8Zlx4W5u9b06uepMDJz+Hahpdmg25k= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.4/go.mod h1:7TP5GpEyyLYic8kVFHJu/OK0bk9X2uKcvPqLw90CMok= -github.com/aws/aws-sdk-go-v2/service/databrew v1.33.6 h1:yZtWiFez6yMalTG9Ouc0A8LQqGrFjgKYePl5rM27fQo= -github.com/aws/aws-sdk-go-v2/service/databrew v1.33.6/go.mod h1:FGU+VnezEhrhsfnxFJcJnTu0sDNowur5LFxIFsL7M7Q= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.4 h1:Gfr2MS/iQBluI3gGBTepfBc6lCcUPDVu9SHBAcImPos= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.4/go.mod h1:npMegXgBSU5uTIVtczlAFOvKcy9f5x4uGpbLsAHqelU= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.6 h1:dH4IwB5kATH1fb0PV0Vw58CDKgKQFlE24qwd1j8Ruj4= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.6/go.mod h1:1v3H40k29g47RMmzLpeN8CQahznbkrrchPf7WYp7PyE= -github.com/aws/aws-sdk-go-v2/service/datasync v1.43.4 h1:rc3uPdxBtqgt3ELUzTP7qRV8M4MhWboC4wsvPCPGK3M= -github.com/aws/aws-sdk-go-v2/service/datasync v1.43.4/go.mod h1:+goO0fVAf3qrLIIlnp0nITiG26fGtkfKakRXkgJ9u14= -github.com/aws/aws-sdk-go-v2/service/datazone v1.24.0 h1:1vQZdB56DusyU/ZUVaJ6EOa3m/J5eOYQ9xnKE5huD5Q= -github.com/aws/aws-sdk-go-v2/service/datazone v1.24.0/go.mod h1:2f82lBtHfBrKP/pAn93z9QTta5TrO7pt60KR7I2ipnQ= -github.com/aws/aws-sdk-go-v2/service/dax v1.23.6 h1:tKtDYH6bWtGCD/2lWSh/nTDCSC13fj9Ta4opiJec4rs= -github.com/aws/aws-sdk-go-v2/service/dax v1.23.6/go.mod h1:UacIy1kHz1XwzQksauluq9Ikc/54pzzZalbGMs87T0A= -github.com/aws/aws-sdk-go-v2/service/detective v1.31.6 h1:Y8GzDptm2EHuqDCI5We0ZJoxnIJ07bMgH02JOk8/4DA= -github.com/aws/aws-sdk-go-v2/service/detective v1.31.6/go.mod h1:FjvuK1A2czZ+8xeIXDiXntztVg49AxwkSmCnTAmrqqw= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.6 h1:LMO26c9BpvBJU7TjkIOmeA0UnuVz9VEJGVKJUl/B6Ts= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.6/go.mod h1:/gu3tsu45lTMBDGOCMq+ff6R8xFJPJTmzG03GjsgNtI= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.6 h1:ddoKgFm/1oBHo7u553A9KiaOGHps3vDDdW6l4mLOXSg= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.6/go.mod h1:45NHbOfJAeqabfodRAD16xwtjiJmMdUNKNfF3o8i1nE= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.0 h1:Ynu1cxMflxgI2nG0LlS1EsCOhNCelAO24HgZCijyNw4= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.0/go.mod h1:E2hAfYPWIpsei0SCp8ykbHcXFON8Knf1oBVdlwUMuVE= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.7 h1:ZwecDiXujdrRm5C8UGwdcF9YpV83lgXfzBgUEF5KeME= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.7/go.mod h1:ndWayMkDqmOHWM2OcX8Uno6i6gSNm2O8UBNkQjQHpFg= -github.com/aws/aws-sdk-go-v2/service/dlm v1.28.7 h1:gcQxVPVOqGaltkiGow3KxZN4srjmJeVXt4xzY21VqdU= -github.com/aws/aws-sdk-go-v2/service/dlm v1.28.7/go.mod h1:r1kmK6s90DSs6cxF3UvQAGI5LMVEySns/AWL7Rc6fH4= -github.com/aws/aws-sdk-go-v2/service/docdb v1.39.5 h1:gWPt2urz9yNjcNcPQ097utT1VGdoeB47yMz2strJrZo= -github.com/aws/aws-sdk-go-v2/service/docdb v1.39.5/go.mod h1:3MWrxWaAZsyjlR7sPSnps1uaVQZs8zIdS4lWDCUVD3g= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.3 h1:CqabKk/auDP8y6gjxpHNQ9pavQA1mKe4YopiC10U1co= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.3/go.mod h1:TR7OBxz2KVqaU7utIGP4TjVZmIodSLNQyl3IcbiDi5Q= -github.com/aws/aws-sdk-go-v2/service/drs v1.30.6 h1:gRx0PWMok7r3zmoiwdFzYRyJwp2R2gzuuoFGVxQVSFs= -github.com/aws/aws-sdk-go-v2/service/drs v1.30.6/go.mod h1:k4mtLg6LgO18IaHeQX9bCms31VSXidi44A1oqMiJ6CA= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.1 h1:vucMirlM6D+RDU8ncKaSZ/5dGrXNajozVwpmWNPn2gQ= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.1/go.mod h1:fceORfs010mNxZbQhfqUjUeHlTwANmIT4mvHamuUaUg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.193.0 h1:RhSoBFT5/8tTmIseJUXM6INTXTQDF8+0oyxWBnozIms= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.193.0/go.mod h1:mzj8EEjIHSN2oZRXiw1Dd+uB4HZTl7hC8nBzX9IZMWw= -github.com/aws/aws-sdk-go-v2/service/ecr v1.36.6 h1:zg+3FGHA0PBs0KM25qE/rOf2o5zsjNa1g/Qq83+SDI0= -github.com/aws/aws-sdk-go-v2/service/ecr v1.36.6/go.mod h1:ZSq54Z9SIsOTf1Efwgw1msilSs4XVEfVQiP9nYVnKpM= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.6 h1:9DXEMWmABYPz/NXSFmp9Y14yI5FQ5jmPPvllS9hXXfY= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.6/go.mod h1:qoPi18scDl8uM9o+tHi77043RLv2WIIFvVHcF1RT8Yk= -github.com/aws/aws-sdk-go-v2/service/ecs v1.52.0 h1:7/vgFWplkusJN/m+3QOa+W9FNRqa8ujMPNmdufRaJpg= -github.com/aws/aws-sdk-go-v2/service/ecs v1.52.0/go.mod h1:dPTOvmjJQ1T7Q+2+Xs2KSPrMvx+p0rpyV+HsQVnUK4o= -github.com/aws/aws-sdk-go-v2/service/efs v1.34.0 h1:0VpBMWwpq5UuhneIWO19+/Mp5DmFwQIEAoC0LqFCYdM= -github.com/aws/aws-sdk-go-v2/service/efs v1.34.0/go.mod h1:WBUkzX6kKt36+zyeTQYxySd0TPuvNQhNWG6vRrNBzJw= -github.com/aws/aws-sdk-go-v2/service/eks v1.52.1 h1:XqyUdJbXQxY48CbBtN9a51HoTQy/kTIwrWiruRDsydk= -github.com/aws/aws-sdk-go-v2/service/eks v1.52.1/go.mod h1:WTfZ/+I7aSMEna6iYm1Kjne9A8f1MyxXNfp6hCa1+Bk= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.0 h1:Fyzf7cqohTLamP8kht9xvkMJT3HXmz0IQGdRMk1tdJk= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.0/go.mod h1:yx9zxw7KuLQoIdf0ajFjNhsIve273fJDMmF/BprT8Vc= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.5 h1:bCj+S/v35iLUnHp8DiIC92sdWYweLUjBDSLFbw7vHQ0= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.5/go.mod h1:gOJmxmxThaTRM7r8WZ6BeOCl14UE48lSgMca7U4/oMM= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.5 h1:12Fm4tTwFk2Url99X56hdKXKVK7suzZKjtdXAILne4g= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.5/go.mod h1:qnlecrYsTCjPhGuF+3SZaz7WGuNz/T3L/Q8a3Yc7uww= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.0 h1:fIAJ5VM/ANpYV81C1Jbf4ePbElMSzuWFljezD6weU9k= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.0/go.mod h1:pZP3I+Ts+XuhJJtZE49+ABVjfxm7u9/hxcNUYSpY3OE= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.6 h1:j19Nazjj1qrrm7DufPO53F9FFzrUDlphsqpNn0HU3fg= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.6/go.mod h1:6QH9UwlCk7m5PoCPH+/UZtStdP8dLg7CzJJ/52o2pAU= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.6 h1:oV6JszCETDPPHkqZahjVUaP8IlWDSUm2B5lRISvsL2g= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.6/go.mod h1:JsyDIVlHAYBxZHya8YzO7RzLq24uVUs01aG9BiKOYlo= -github.com/aws/aws-sdk-go-v2/service/emr v1.47.0 h1:S3soqtUBuxbG1FcLFiP2uGInncnM0eei+hsmCou2aBs= -github.com/aws/aws-sdk-go-v2/service/emr v1.47.0/go.mod h1:1Rl0CmeP2He+Oiz7PtsVJxFIt1h2m1rt0vahJtIldE8= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.7 h1:OzrMVLJ97pCg2BCER5Tk0/Fg/604Ravd4VR3rRQeKJU= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.7/go.mod h1:JYC8r7iUXCR02VKACPxpcOeLtYnHeKNrMzLv0U6uKVs= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.6 h1:0SqOqOHxwzy+2i/DvV/a5Lc+UrfDFRDiCQhVT9jTFFU= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.6/go.mod h1:xfBpOsT/7QZnOPGQmaNxW99mqJG8Ya02kmvUcwOYiGk= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.35.6 h1:LLUzdN3H7EEmpRjkJDpMGdbimAPTg6+3fFvJCDpjcrQ= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.35.6/go.mod h1:njIZoyz4eQquthx3TH9aIz5svTr55u/6+agentCxFC0= -github.com/aws/aws-sdk-go-v2/service/evidently v1.23.6 h1:dVG09QDQUUvWW16V1nbRrYLnTN6K0DukfN6D2cFn9jE= -github.com/aws/aws-sdk-go-v2/service/evidently v1.23.6/go.mod h1:KL+GoKHIcOl97tHqKuL39pAjTQ6+cjifp1Y4Z4fagM4= -github.com/aws/aws-sdk-go-v2/service/finspace v1.28.6 h1:DMzWUq6cdH+I03X8Bn1UATTt0MFnhsSkR6kOsN5pcFo= -github.com/aws/aws-sdk-go-v2/service/finspace v1.28.6/go.mod h1:5SpnpHrkr9dXBugT+Dv/X+X57K88XC5MtYDK4WDf6a8= -github.com/aws/aws-sdk-go-v2/service/firehose v1.35.1 h1:yA6/HoFnFrPhE1nMO3LzsgKIT/99NDWoX5Xzqnqhpyg= -github.com/aws/aws-sdk-go-v2/service/firehose v1.35.1/go.mod h1:TSAFnwAC+DYOJX5JehOV+wJiAhpluwa+yHDxDmWI4P0= -github.com/aws/aws-sdk-go-v2/service/fis v1.31.1 h1:bllAkyDhLHCyJFn/nP+b49RRL8Hh/w5Fj4TW8rZhKrw= -github.com/aws/aws-sdk-go-v2/service/fis v1.31.1/go.mod h1:IxUBo1RMVFX9fbptkBFSnqaAh4x5SXdTDmLLsyzYPC4= -github.com/aws/aws-sdk-go-v2/service/fms v1.38.4 h1:cEOnWR/0wXpeQ/UR7ekpfdi3E0tn5GUhPoJWoaPid+Y= -github.com/aws/aws-sdk-go-v2/service/fms v1.38.4/go.mod h1:sdb9Vy6D39p4Vye95Bz5tRQc6IPenFmcT8+wsketxUw= -github.com/aws/aws-sdk-go-v2/service/fsx v1.49.6 h1:dgI1m+My7Se4SpgSLJ3oIaNQDvwTHUNdjLjq7vPgJjo= -github.com/aws/aws-sdk-go-v2/service/fsx v1.49.6/go.mod h1:MV66g+vJERlW3JmnDD0fGwJHkCQ13iAhACBUUsG9Fbg= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.1 h1:knLg8HvuZ0aMqX4YlH2uPSlScqcj9xFejdn6KUCvpig= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.1/go.mod h1:yfH6QVHv+ST1elyWtd4lj9V7Uw+QMjVROA7/gjrhNCM= -github.com/aws/aws-sdk-go-v2/service/glacier v1.26.6 h1:Yb4du9dQRtexyb3AsAnH/soJOYdULLsjCIzIYSi2KFk= -github.com/aws/aws-sdk-go-v2/service/glacier v1.26.6/go.mod h1:mcndxNubKcVuK74+86W8BDJYhmWgfV/9/WO25Ofouuw= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.6 h1:p4aGf3B37+2c8Jqh9oukh2Aj2AMK8E0XRroDyLJ0jx8= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.6/go.mod h1:Au4Za2pi2wu/ib9eut/FRpmW4bqw/HuFpnlje/94Of4= -github.com/aws/aws-sdk-go-v2/service/glue v1.102.0 h1:D6OOWCPCSpjzwfya9hOgDQk3BNvgN1N8ie8bzszq3VU= -github.com/aws/aws-sdk-go-v2/service/glue v1.102.0/go.mod h1:TNh83y7HCK7s/ImCZkiJF/a5/25XZwkvGHtmvDM4y7I= -github.com/aws/aws-sdk-go-v2/service/grafana v1.26.6 h1:4HbrlCilE6Gfp/mzsm0QUZWrkOXnJhA6tANilm4bW5A= -github.com/aws/aws-sdk-go-v2/service/grafana v1.26.6/go.mod h1:HJ529PdQzuLBtEDDjLtpk9tUskaGduSfAeY2bQzSPi0= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.6 h1:Jsv+CFWW/dC7Pnn8QyxfzyJkfQBt0sEFg+I+DQAxrB4= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.6/go.mod h1:TPDOTBV37nVuKseCVfhtjXYFsesBQmhe/ap5HFKTUWc= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.6 h1:mIzNjH67V9Nu0YaT8FMxe48i4da5etXCxr9YZbBc8os= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.6/go.mod h1:FutbhbkJQBICQf1iATk3YM5/KpMCoGBwtIzrj4fpjN8= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.51.2 h1:b7UFaMcKBI7L6dn0cIdti+JWo7tu/PBzSiPMxL5hG+0= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.51.2/go.mod h1:Nt8fPu+TIY++o7jufOiHACxNFdgTNSL5yY9csYxIK3s= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.6 h1:5ORoj9mfye3aGD2Q3bWqybeflWHK4MKd8YrVwy2lQGU= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.6/go.mod h1:X3UjJJdBn2mecE1MqmLTjL83ueoiwBo8aWFCMk8HYbE= -github.com/aws/aws-sdk-go-v2/service/iam v1.38.1 h1:hfkzDZHBp9jAT4zcd5mtqckpU4E3Ax0LQaEWWk1VgN8= -github.com/aws/aws-sdk-go-v2/service/iam v1.38.1/go.mod h1:u36ahDtZcQHGmVm/r+0L1sfKX4fzLEMdCqiKRKkUMVM= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.6 h1:K0vnb1HZx5Bzc4VP2Pyul6pKGOkmlOdLGLNag1H6tJ0= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.6/go.mod h1:4biBEi9kbDSwayhZhLtGF6325lrEi3e+C9q+C0N5Jv0= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.38.4 h1:aiUxEicGm5tUeTfhsay1FJXnKJnwVO7RPqSLL9ofmcI= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.38.4/go.mod h1:6tZhu4I5K6paE401s53iw4F8fskiW6Z+HfOis/MyVwg= -github.com/aws/aws-sdk-go-v2/service/inspector v1.25.6 h1:7tGA6lqnXk+KU9ZAYuExBkcw9pLw/mv/bXYxO5Sgsc0= -github.com/aws/aws-sdk-go-v2/service/inspector v1.25.6/go.mod h1:UJfA0/mna6xg+45rmRqxX0+72UdlLnW7r99ke5MX4JU= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.0 h1:qEaZRkBG/RrgakiBGSU4j2gvYiJ4R29T65YLqynr92U= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.0/go.mod h1:WDIty+W4K+zTro9oNy51ct4odnoZSEQl9VdnRyJI4pE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.25 h1:r67ps7oHCYnflpgDy2LZU0MAQtQbYIOqNNnqGO6xQkE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.25/go.mod h1:GrGY+Q4fIokYLtjCVB/aFfCVL6hhGUFl8inD18fDalE= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.2 h1:9WvCTutkgDExBamb9UZQ94oiCjJwXUhhtoBH3NIs0Iw= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.2/go.mod h1:9QmJU2Zam+wUZe8etjM4VY9NlC0WeMFLIvtUIOIko4U= +github.com/aws/aws-sdk-go-v2/service/account v1.21.7 h1:TljZChU1jYlIrVC6GpS4t5CCuTPVbxkHP9pOv9yKz+o= +github.com/aws/aws-sdk-go-v2/service/account v1.21.7/go.mod h1:/OutbIU/lpaxPpjAeKIE6lOfy9bPOZi1xMzSllMubKw= +github.com/aws/aws-sdk-go-v2/service/acm v1.30.7 h1:rv8PVsnReslpDVVByyuX4LzfA7j0+Jcj6Gili1dBEd0= +github.com/aws/aws-sdk-go-v2/service/acm v1.30.7/go.mod h1:ns7D5/uAekEaVLAIzzNrxVz/CsBCCwNfSdi46PEaGhI= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.8 h1:qcx0XpDUjTkwp89kt15m1iKorZ1BK1uzXFTT+1NvU0A= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.8/go.mod h1:T44GdsVnipn1kFnmZbVqLhDNtl9rrWVBmjsuPIrRQzY= +github.com/aws/aws-sdk-go-v2/service/amp v1.30.4 h1:0ya3FPNzwsGD93yx7ag3l5sD6Kelb8qghRAUgRfB5G8= +github.com/aws/aws-sdk-go-v2/service/amp v1.30.4/go.mod h1:e3oL6s7I4YUSaRCpz4gSp1ujDmi+f0CwMbDjlRsad40= +github.com/aws/aws-sdk-go-v2/service/amplify v1.27.5 h1:W+P/AMT4p8I1EuP9BaRidIiJXWbUNpbsSb4uZwXah+Q= +github.com/aws/aws-sdk-go-v2/service/amplify v1.27.5/go.mod h1:2wrh0ye46s6rA3L1TKkvu4MEADM54tvnxcMkXVL4z5c= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.1 h1:XBVNkd4B5uGC6RgJ+/4x/ZUuk7/6f/hQ8cvGRSxltBI= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.1/go.mod h1:4cynmnoMmeiroN7OvI8upcQbvJ3Rfzd3j5hOthYKQnk= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.7 h1:sDijLs7HLzhvxPWxODryESj4gMA8A8seQWhaUVZaPlE= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.7/go.mod h1:5AN33eZ7xq2pxsvMJGgXmQA30PQGHOGOaHZf8Q7AaFw= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.1 h1:I8nQw87FkrIlGbeXx3O7yFpn6a1wmcdEzDd3U6lCacM= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.1/go.mod h1:pTisi6AYAEJXJpYnghBsl52D0U2Xu8/ZxnCsN5g8Fz0= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.7 h1:rktzRP9bRlkjb9g5ndMnS6x8tUgc/rrrXyCCn3qHe4s= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.7/go.mod h1:7UgJlroQG4RN5Klt8zwbZFvfGGV8zWvgf3BH+iJoRfY= +github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8 h1:C4Ahu+vqQMgwcKfOaxdUgn0Tmz/yKl5lrk/Y9aGhRsc= +github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8/go.mod h1:m9n55ulVW0oYNVhczguWuVkoaWky0znzYCn1Is2Q4l0= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7 h1:LrYSdKQMAAJs8XpSfNba7Goc0m0hOEGWoNvrOWFasEw= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7/go.mod h1:GiSlb1fm4OJ1foTOhXcDziKm2Xre4+bcG8AnQAhjUIM= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1 h1:8EwNbY+A/Q5myYggLJ7v9v9f00UuWoh9S04y5kre8UQ= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1/go.mod h1:2mMP2R86zLPAUz0TpJdsKW8XawHgs9Nk97fYJomO3o8= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5 h1:dxVAH0LY3XmilHw4O4eB+kYKTu3SqujSYQlyKA6PqkM= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5/go.mod h1:A+d2JfMEfDdWWMz3OfbK0IKtWjqoLaKlHt3ifC9pd04= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2 h1:QL9Ak3hh3POYTr/DgOe4pn0naYOnARZ9Gy9/uIzW+Oo= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2/go.mod h1:a+yECc5pms9wxGPwIKHOhnmDWcHJqAUmTIZR76IhMaA= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.7 h1:sycevRiEU3w7mUO+aVCAFgQw7VxXmzGj+13evW/l+Hk= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.7/go.mod h1:7/hVyfkxKjfuBu0Z+Ggh9n9VWNEkxPVFagCJZZYGV0U= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 h1:VlcGnZMtvyxACAPxWPPyWBIRmaqQ62vyf/dTWKyHC84= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7/go.mod h1:/lor1ybmbMZb2It700RSirZR8uIXzt6/EVv9b9qX3r0= +github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 h1:9KTwRIeh67p4JjOtkAiUQ6Qbzui3igoFyCFGudRR9BY= +github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7/go.mod h1:YC50kSYeBhmjzeJKNf4CB85KN9Gdy+RKhtt4MvMx4ro= +github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 h1:+fJ03y/PaSNBw6ZrJZFnyix+hTOagn1/+iRLQbW/Crg= +github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1/go.mod h1:YN/LhOApnQGAgb4AljjHkcpl+OmaLrkD6cGPL1dkajI= +github.com/aws/aws-sdk-go-v2/service/athena v1.48.5 h1:nfeCwaDRq4tXZUoBENWNydZQ7YeP3lPuWnAMCJSYcuE= +github.com/aws/aws-sdk-go-v2/service/athena v1.48.5/go.mod h1:27ljwDsnZvfrZKsLzWD4WFjI4OZutEFIjvVtYfj9gHc= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7 h1:THLQzF9JZZthlhdf8i+rDCqO8K7sk2xmsgl/by0/4B4= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7/go.mod h1:UZOdtpOTwIj4yHbPVNxfayWIlQp4c3Xht/7sDaFzZs0= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1 h1:XFZsqNpwwi/D8nFI/tdUQn1QW1BTVcuQH382RNUXojE= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1/go.mod h1:r+eOyjSMo2zY+j6zEEaHjb7nU74oyva1r2/wFqDkPg4= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.7 h1:7zci6q+hPs522cfe75lHUw9LnJ/Ha6eeE977IpBiRwg= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.7/go.mod h1:J/X0cqccGAPGPtWCWi5Juw2sSkmUN7mKnBKbbyyjzwc= +github.com/aws/aws-sdk-go-v2/service/backup v1.39.8 h1:ChfrtARE1PhWRW+EZ89IywUUoiPf4f9HYFEahbDaKxo= +github.com/aws/aws-sdk-go-v2/service/backup v1.39.8/go.mod h1:YgtsGOZJNjMAnSov/HRVspxzEUjjszZi3qXo90gzNU8= +github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 h1:/BSZk0ywzZD4KKRt4qm33fIcXQztMSr8zpkr6EfrACs= +github.com/aws/aws-sdk-go-v2/service/batch v1.48.2/go.mod h1:5pxmENM3nBEAr2XrSs6c89Iwl6wAJk0/pkyFd3Gmav0= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 h1:zrQ6zDzE5ohrLEpwaXGoF0PoBiSBo0oW6uW72iyF0ic= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7/go.mod h1:J+Zv3ekV1h3RyqVlxi1hCliEuI1SwugGAnmiOfwzNco= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0 h1:/fvYAZjlXlKTC88cFjZeHLjW+bTV69aK23VbGZQGjbU= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0/go.mod h1:BKSewSMuaeUidKqXArDlT06PWK/PP3wsgLWTXKeKgQw= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0 h1:NnApuV9cjAjJMtUmTzp6gPDvzAqUdEVljpW1W5u+6Vo= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0/go.mod h1:d+BIleA83BNMLQbwc1gYB/Kgrogwl4lzn2RN+XPIC0s= +github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7 h1:MaBE1kMoZnJ7sxK7wtR7qVe4ggfMz9681DoQZtasgII= +github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7/go.mod h1:jhUXdAWAOIKQReti3jcD8zaDjyayYBAuhmijh8+rYrk= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1 h1:g+Xnw4sHm/T5xDTlNvPBeM6gAAQSzj7EwOI0vBXscSE= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1/go.mod h1:lpKKa8zv8/MTIHRh1JB24Y+R/RXLE6BWxnFCQ/b0W2M= +github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 h1:iHBLzHxZF2vRCQzm9fKp7yA6X2nnUzqeVF3TY60tqhQ= +github.com/aws/aws-sdk-go-v2/service/chime v1.34.7/go.mod h1:NFTd15WIZy1RPTOSZEsWalWG7PuteqwXLfcy/YQocY4= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.2 h1:r4NLm/DDTGnpo2MMXIv/yox2ckrm1xugN41SH/gBrIQ= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.2/go.mod h1:NVs+MoGw0vt6s6g0hulXyy9IMRxTlfPrsral5630V9E= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.20.0 h1:IwQ9oL4a8ZhJq/tgfPd5r17wxe7V9Sa6JhhwfCkS0D0= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.20.0/go.mod h1:U8vcvSwicq+2VDdkPTP8UYn5IV8YFWPPi8CoMI786w8= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.21.0 h1:XlyfMge7JCGYR9wJoihE0aSx1mmlDdmeDg8l/SmCXPQ= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.21.0/go.mod h1:F/4OPOJP5yt+EsQXiOyMq1CkV00LZImdgoHdRWd0nQA= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.7 h1:gcTAeqesSwreH8YtKudbKx3FrliadMbVJOdmHssqEDc= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.7/go.mod h1:l1sYjOTxY/lcqFT56ruW2YoC1k2in//ko50kBxwpYII= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.2 h1:xUD/6aoYwDsMmVl6J6Umkgk+QlkzDm1N0w2BukgXTMI= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.2/go.mod h1:NQSFnuiS7N4Leys2Mx/N0UMIWkMsXHBs3HEI4ElCSV8= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.1 h1:EqRhsrEoXFFyzcNuqQCF1g9rG9EA8K2EiUj6/eWClgk= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.1/go.mod h1:75rrfzgrN4Ol0m9Xo4+8S09KBoGAd1t6eafFHMt5wDI= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.1 h1:riUb1ppQ6Qs0+Yz0bttwlwPIl0AdBAcJdtuKLzsbaI4= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.1/go.mod h1:fXHLupAMPNGhRAW7e2kS0aoDY/KsQ9GHu80GSK70cRs= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.7 h1:+7Ru1G2Y17qgRiUAcBxc9enlf0TxustitfBqonrWcBc= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.7/go.mod h1:Di9EQnngIp8gHvxf+GkB14uEbC5UcSxsNOOnSWMsfjQ= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 h1:3WVykb3vPvTQ7Ht1LgUzcqlSuZVhV6hntx9lwhvaJ3Y= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8/go.mod h1:l9Gu/zoAKx1ww1ZtRlSj8qP80AV742bDP337N5NkY3o= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 h1:m1CAIBZzVi05OAocQs7SzY3gLsGGNBmg+qpHA7HQteU= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6/go.mod h1:4ogUNAMmF9rtIYGYnFm21WXc/8+lcAuoNYUkS534MfI= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 h1:DrN2vg75JseLCepYjMVav43e+v7+AhArtWlm2F0OJ6Y= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2/go.mod h1:WcTfALKgqv+VCMRCLtG4155sAwcfdYhFADc/yDJgSlc= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2 h1:+M/uY6CU2TjCyi9u8ZcowyguWvpifU7C4eQowdZeXBU= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2/go.mod h1:URs8sqsyaxiAZkKP6tOEmhcs9j2ynFIomqOKY/CAHJc= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0 h1:j9rGKWaYglZpf9KbJCQVM/L85Y4UdGMgK80A1OddR24= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0/go.mod h1:LZafBHU62ByizrdhNLMnzWGsUX+abAW4q35PN+FOj+A= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7 h1:5us9BU1TnHeSqgQEiQCH9qpDbwGEtYAz6fhSL0jiAyA= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7/go.mod h1:k6IbvJ+UeAR3ueA7so+YwS+sPoHa99ECNQvbtwt/pxk= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.2 h1:hQB9ib1JAhjLodnSczNfG5XDw1bWZU0wBwW0FjDs2/4= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.2/go.mod h1:dOgg7MoOJYIvQkUkZRrKuO/3YdAbO3+fIJlICyDc3dc= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.7 h1:FgYA/R4VzjeXwimhbQGJhuyaxV/ORz1LVXUkn4t++Nw= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.7/go.mod h1:1V3pxyJ9hgz8HDju0oDV7lY+pzM/rERREZh7Kd6W3Yo= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.7 h1:8IZ97GQsCxQ3n0yQ+0QAMMtt2YpOeig6W5Q+hIBCfjE= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.7/go.mod h1:7thXvCQtqWJhO9u+40n1lA89PhEA7069UVxShNyL5N0= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.7 h1:j2T2/23Cyo+5cOl8iXOL9Tau780sXBriOhWw/N4ex20= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.7/go.mod h1:GmV2UoFy3kQRz44DlCYZUu7/m1tT8K+6TGtqkBQWxHY= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.7 h1:WPhY1/OCDi8AteUyBZj7zvVczNZ4O6T5/HtSxBWh3nE= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.7/go.mod h1:0Xfzxc16U/0QopHTRY6P7MapMxHqd8RkJOt27ryEV+g= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.7 h1:5FCm30+pN7ZXwLohD5e2ec/rGPeuTz7l5cCFMFZfVwY= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.7/go.mod h1:miiswEyJjWFb8lIQgqA067DXBnq5mmTk2eIgKkhg9Yg= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.7 h1:x7Wiwow6bm0ICkR9akuYUkzfdpZrDx5wvkY64hZ0nT8= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.7/go.mod h1:91nPYuyG0FyzUG6sKqXqU6wJyeysU/9H/ug+tbQR1jc= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.1 h1:+PBCTujGgVyFHSFR7VKGBuwzHZCd6aolUCXO98Xd3yw= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.1/go.mod h1:fLGjNeyN4aduz+LrpWje0ufvfadQnwZof389MwTeFtI= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7 h1:5bDPXYGWnZ9nY/N7tY9cSO4hMadCFvZqDwRIs/4ik7w= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7/go.mod h1:K9YY4T95yT7BVqHvDjSo8h9yxftqPvWYDFfuCxtHF/g= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7 h1:12UdLytB/DylaodJgGl0CUBT7Zz2xRskdlrHst29JVE= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7/go.mod h1:yDbe8Oh55gPuNdJzsv3CFbHV7d5wvUoLkFhql0p+y1U= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7 h1:Mr0Fl/TJ1ZtkTOtX3wpgzqL6ZI+WOTnxHF0X0OlZyXo= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7/go.mod h1:eVAaMRWHgjdGuTJCjlmcwYleskahesLPrGFV4MpQYvA= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1 h1:isjmZUmhAMzCLs38LnWVIKqWRSkItqZVGpdJowlmV/Y= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1/go.mod h1:U+GnB0KkXI5SgVMzW2J1FHMGbAiObr1XaIGZSMejLlI= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7 h1:z6WD4P7bvSJNlmNVDsfNP/e5o0Zmbz9oM2wOgFWCHRA= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7/go.mod h1:M+Z8mhHoSWbr3Q1V8ZaINLLj0p1WGYWjCv/kO4IgUVw= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1 h1:iH/z1Q7WYbT2MoTkEIMvR32Ip+FFRuD74EKXUqYLP+k= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1/go.mod h1:Epb43KiHofSehPHq6PEQZ07hcl/Euv4vUi7kEcC7J7I= +github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1 h1:zA4KArT5FZ4ypJc8X+7MJNN3iv74K8ygmFhci64M4YI= +github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1/go.mod h1:2fOznUkaoZ2EtJimN0zizQRxQmkndSJz/SSd2x0goKo= +github.com/aws/aws-sdk-go-v2/service/connect v1.119.0 h1:uZ2hecASZoYuuGLHa252ss5SSbFYEhcS/SSWUa/u9kE= +github.com/aws/aws-sdk-go-v2/service/connect v1.119.0/go.mod h1:tuGtOUYMxcOObTcKDHKpzTG9EvjfXjOIEC74a6meGRk= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7 h1:uWiDzkr4L/KMlftI2OqmELmsv0ZGxeyi3YAo266wJzs= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7/go.mod h1:/FZ+YQmJpAdZPR4Z1tA1mIxA/SmLmUlgrn3sZOAmnfQ= +github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1 h1:fpqsKm/4mA+oOn2IM62syUhcVZMU3Gc7tl8HTd4Ul+k= +github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1/go.mod h1:zVh69cAM8AHhBlu/eP9OSBCRbojNw++iEHx0+wgBojI= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.7 h1:8iIE0CQ6ZWC11vSLJf+M4gPgaiP+qxQ3haPV7KhGZTE= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.7/go.mod h1:guVPkA6zDaG1wnh0Od9xyPb/6lUijf2zaHi4tTxW8Do= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.1 h1:2aaEZa6CBfsEebfn3jxwnIDGbSAwZnqIsEC5KF89X2w= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.1/go.mod h1:RboWadEsqV6Hw/OOyyu8IP+kdz0DASutt3H4ezBxSIk= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.1 h1:r1LakPxgYvob4eOY0rTjgYuahwFhVgx0txkSHpnyxFw= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.1/go.mod h1:agAlqygpDyX9paflw12sVF0sGGzAk6Ed5plVQgOqJRk= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.44.0 h1:Wkf9S+n02aTZ8pQsp+nBRRVFdodbHG7V5HWqwYQWm/Q= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.44.0/go.mod h1:yresrCHgaNcKcF7cLJ6emqK9eb05B1Ik2KvDMLbncU8= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.5 h1:KmcRuMU/pSZy/bhnZ0nTGeNXhvBO0cvXkXduq3E5mAQ= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.5/go.mod h1:4O6knGhxKpEu9ILt1+PGSN/LVWzLa4hdyUdPfjgFTao= +github.com/aws/aws-sdk-go-v2/service/databrew v1.33.7 h1:kaYiuNxHzwDMwsqM766yy0cp8ZVldOTwJhOeR0MINU8= +github.com/aws/aws-sdk-go-v2/service/databrew v1.33.7/go.mod h1:Gu2mR/aUZzdmnNORl8GbAN6xDsPO/t9KNG+B99SNMIk= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.5 h1:X62garDt07bE4Ojd+qO6MTlyMC/wYPw6Sg0QkSfNgXs= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.5/go.mod h1:UJZLGoXBQs6AukctWkOWimAQh6wloVGq6LOTyg/ALJs= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7 h1:b2xXuJ5Yh5RuyOzs3vdBamLXVK5DIM5l819/pCxbC/M= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7/go.mod h1:IH2WIe0ol0aDtM5a/+nP6UYRwrDXi/gwF+DA0nJK+i8= +github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5 h1:4tdw3XO+pUwsjE6j2a4kWxZt80NtRxhOl9OnDtPS1fY= +github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5/go.mod h1:ty1/xBfWRiv/C+e/cbTLkM4UGMfkOavUgp3daLZ2QKc= +github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1 h1:/7+bznm0eo+AtBUZZY6cNzrmmto3Mv57Cg8BZeJDBXI= +github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1/go.mod h1:2MCAq6PXnLOI6NVaUES50GGvOl1pa5l6N2XmRAVWWWw= +github.com/aws/aws-sdk-go-v2/service/dax v1.23.7 h1:hZg1sHhWXGZShzHGpwcaOT8HZfx26kkbRDNZgZda4xI= +github.com/aws/aws-sdk-go-v2/service/dax v1.23.7/go.mod h1:fYBjETTq8hZfirBEgXM1xIMy+tvCGYZTeWpjeKKp0bU= +github.com/aws/aws-sdk-go-v2/service/detective v1.31.7 h1:Pw3K9Leqg7SfEoPZek374z1pTJXSKbbS+zbGolMCsWI= +github.com/aws/aws-sdk-go-v2/service/detective v1.31.7/go.mod h1:ngskhJvBbS6oSmoGYyX6gzcoumPw+W5KIzbMVNBd8lQ= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.7 h1:oXxzZJw5Jc5rrbnSBYjC5EfQ3cik+ZzdjHIZYPQ2SeA= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.7/go.mod h1:RmmJpAmMnDSzrKzi29jEcnhy9d4xfjRJ368FEnhvCiE= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.7 h1:WrbyPtKCsyt0UcHzoF/5Kof6O3b4JkZgx5pAFrAe3Ps= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.7/go.mod h1:/pcwN9rb3n1thi1++LLQik7v48pXo7mcgh4baY5giPA= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1 h1:U2VtqwmOzP7sZYWmrnapl3j3KLxIntWyK0RU3uGBIPk= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1/go.mod h1:IVHMPfXzPHdq2JuZmnyreo2Dhhlu84Vel/tochYKgh8= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8 h1:o3yUhrImWkJuI42DyTJu7REWf1+EUNlwfmLpo2yXzb0= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8/go.mod h1:CxYqXrb08ko/psMpQ692AcEFXCuB+sVuWA2OZPB32t0= +github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8 h1:Ez/XAeVo6h1hd4dk+r0JADhEqR3fhDPOIgzkWcbKPns= +github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8/go.mod h1:SBPSK/ycAG4ET3JblaBP2Xt52RjNcg827EFgqN8W7AY= +github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 h1:N2iwdECLOQuClhv3XdTgGSY75N7QHF5nDekPGoFpRyY= +github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6/go.mod h1:pa9tid/NTUDjayagl5El0KVg9IiV3hJEKVxFmvyc+J8= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 h1:pT1NLJ04YA/05ZEbYBNhminfsbKBvHDlOh8ScoMZybA= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4/go.mod h1:ZupWmXwSQwiyktsk0/7C71pCkTn7dLgOw47TmpvtU1Q= +github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 h1:0jUZJqidFnPF9LlSSsYD9yQcbIYLyNKjGa+gFPh9UlA= +github.com/aws/aws-sdk-go-v2/service/drs v1.30.7/go.mod h1:myL1h4VGyN3HU1B/7WBs2MsjKYX3FugwPJ09muIM8tE= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2 h1:dTzxoKbznBEm2xscSQc4DXQ447j/IZRTCwhJxiDN3mg= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2/go.mod h1:xDvUyIkwBwNtVZJdHEwAuhFly3mezwdEWkbJ5oNYwIw= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 h1:F3pFi50sK30DZ4IkkNpHwTLGeal5c3nlKuvTgv7xec4= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0/go.mod h1:00zqVNJFK6UASrTnuvjJHJuaqUdkVz5tW8Ip+VhzuNg= +github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7 h1:R+5XKIJga2K9Dkj0/iQ6fD/MBGo02oxGGFTc512lK/Q= +github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7/go.mod h1:fDPQV/6ONOQOjvtKhtypIy1wcGLcKYtoK/lvZ9fyDGQ= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 h1:eddAe+FnCCLECUKHUHLM9/iAlqDkyRjZk/84+eo0ToE= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7/go.mod h1:lik3qEJ4TBnQrEKoZnFh8E8nn5oZSebnB/pydq8oQRQ= +github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1 h1:85SGI/Db9I8PT2rvDLIRGxXdSzuyC4ZKDJwfzuv7WqQ= +github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1/go.mod h1:Ghi1OWUv4+VMEULWiHsKH2gNA3KAcMoLWsvU0eRXvIA= +github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 h1:y2BaF/VBEQM5Gi27ZOX1jSKRQLNifOfvegkqKKDPNEM= +github.com/aws/aws-sdk-go-v2/service/efs v1.34.1/go.mod h1:0c/j249PCFk5d/KHJsBIoCVdnZa9Or71J/fqC/n63BA= +github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 h1:ACTxnLwL6YNmuYbxtp/VR3HGL9SWXU6VZkXPjWST9ZQ= +github.com/aws/aws-sdk-go-v2/service/eks v1.53.0/go.mod h1:ZzOjZXGGUQxOq+T3xmfPLKCZe4OaB5vm1LdGaC8IPn4= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 h1:Dch9DIcyrHf6OTEhgzz7wIFKrHZAWfcZ1BCAlZtwpYo= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1/go.mod h1:gzplo968xB24VkeHC4wKfDbSERguKL2xKPL1Csd/mH4= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6 h1:QMEpOzwWVIfi6V1vWA4ONGZictI9Ch/ZNiveQTgYq2M= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6/go.mod h1:U47A7lAuy5QYMD7lnRHA8WJCzV/W0POLZrUfjZ7HLro= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6 h1:uQFPQNvc9hIaF7SyHQyg2vRtTcWONaa1LUUy+8LEzT8= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6/go.mod h1:KkaWcwL6GJtS/TNn1+fVJPAR+6G7Bs7kEm8E3MlgbhQ= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1 h1:L9Wt9zgtoYKIlaeFTy+EztGjL4oaXBBGtVXA+jaeYko= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1/go.mod h1:yxzLdxt7bVGvIOPYIKFtiaJCJnx2ChlIIvlhW4QgI6M= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.7 h1:LEo0xkW2yM3qVp8awRVG1lp1o/eR2o0CSR4h9CpB3us= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.7/go.mod h1:cMruo7iPDprwYjl8CruF4+ht8gZnMJ8nmbVtgEEBu8M= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7 h1:46x9DdOeOXKRKsDuwX22aHWg1Ow/32jkYyETzh/1zPQ= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7/go.mod h1:sjP2fl/DXY5A/zWjkC414jwK5HXbydQ/ClUFIIzyNQA= +github.com/aws/aws-sdk-go-v2/service/emr v1.47.1 h1:7vjckLqynZflJB13FUfp1oWOvmAhkHFlA6WsnWSOcj0= +github.com/aws/aws-sdk-go-v2/service/emr v1.47.1/go.mod h1:Bae8t4Qt9r5jnngv9coFhXIHvFBCzlplxsqzm2pOLTs= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8 h1:tr2CAqQqNsOQqlQTNFJ0HW4o4A/era9mnq/9UnnVZng= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8/go.mod h1:BAo50mn0HxLW1w5N96Y3KluxU//eaQkpQv2O0LLPsw4= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7 h1:9mmljOULuO7Q0foAf32HWwyhgbm+oLGeVwaGadp08lY= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7/go.mod h1:HAlr1TP57Lswg9mwg+5SyoeDRMMj98chLBn9BRq/SmE= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0 h1:UBCwgevYbPDbPb8LKyCmyBJ0Lk/gCPq4v85rZLe3vr4= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0/go.mod h1:ve9wzd6ToYjkZrF0nesNJxy14kU77QjrH5Rixrr4NJY= +github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7 h1:Y4KQFc4uXRZRUS0c8zauTd0t0vAMvQrAS06DqwyvWMg= +github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7/go.mod h1:uvzDzbyHPk9ZoALbM6K0Yz+XiZuGHwHPNGXUdggdDu0= +github.com/aws/aws-sdk-go-v2/service/finspace v1.28.7 h1:4Figzs7CIQI08uPe8YDsECkDOJuR9N8eMz2Y8pccxc4= +github.com/aws/aws-sdk-go-v2/service/finspace v1.28.7/go.mod h1:a+RGo9o5n5Ts8kCQadDaq8Py9r6upMOFTzd5LV1xB2M= +github.com/aws/aws-sdk-go-v2/service/firehose v1.35.2 h1:A4rkZ/YpyzoU8f8LMe1rPXEvkzX5R/vdAxDwN6IGegs= +github.com/aws/aws-sdk-go-v2/service/firehose v1.35.2/go.mod h1:3Iza1sNaP9L+uKzhE08ilDSz8Dbu2tOL8e5exyj0etE= +github.com/aws/aws-sdk-go-v2/service/fis v1.31.2 h1:sgNhe7x7r4SffGdtbZteb0AHqCmw5ZHDIiyMCEl6BWs= +github.com/aws/aws-sdk-go-v2/service/fis v1.31.2/go.mod h1:MDGBuQGY9Y4zvv6Bi5tDF4Am+D7fRCvk+nUVndGr0l0= +github.com/aws/aws-sdk-go-v2/service/fms v1.38.5 h1:y41UPvSB231dfhAikN9xB2OSEGi8wdJgu7YvOHIT9IY= +github.com/aws/aws-sdk-go-v2/service/fms v1.38.5/go.mod h1:XnzEACT9GzGF0eSbBbkupYA74UtnF2b4mQN6In289KA= +github.com/aws/aws-sdk-go-v2/service/fsx v1.51.0 h1:n4ifwCx29MYkKBnojL/dkV1BzG5IJubsG4Z9A/bZB30= +github.com/aws/aws-sdk-go-v2/service/fsx v1.51.0/go.mod h1:5q7w7rvT828zgFuEod4Ijbw/yJ4Tn4vOPSSxbRT7Lws= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.2 h1:OzCZubJlSiTU7ht4kGi+g5/RWjoutYyBYWPPaw6Mi5c= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.2/go.mod h1:MOsRBRZZKsukJ3FetfsrX+QXgLd9k0q1wwIxJrh5qu0= +github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7 h1:YTg3h8OBu4x3UCsu9vKz9VHqkfJQpY1fpwXye6GeoMQ= +github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7/go.mod h1:w/cFjxbAVqNeAMQf31PI9KopvcFYoXdv0oG2Y9wU0uA= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7 h1:TB66P1ES3DvjeR7YNTfO4/4ncB2MiFx0jzazbPisWkw= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7/go.mod h1:geddg2iWFvxpfa7SIoJztvcdP/Prm1xk9W4+IUhGs7Y= +github.com/aws/aws-sdk-go-v2/service/glue v1.102.1 h1:E8/vYD7uGzp9mwKErJdQBH77FqEtt/BK35hM7UP3PLM= +github.com/aws/aws-sdk-go-v2/service/glue v1.102.1/go.mod h1:ajiRue7mZ0vQjVHQkQG2KBaPHW8lL5GtvmjRTHWDaqk= +github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7 h1:LVJA+YR5tHGo95E8P5W1GFnqrQIiOOagnYCGLExvVr0= +github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7/go.mod h1:oEez2RtKrs3oJ6EgbLV0aBC5YJ/bPcMbkGNtsrW1L3Q= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7 h1:ZYq/OyCCRtS55xvC73U7klRHzWlV4AG0XvG8/jbBH1E= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7/go.mod h1:5iOqOd+Xi7tMBd+ucAb95owiLCYfeqxphlblc8EvCJg= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.7 h1:6I620zcBLf791OnuF3hJGj2ft+qLvSsxRerminjOiGY= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.7/go.mod h1:RPZk76+qDmck0IFAo+ZteQDOKRN3jST4mFsCeicDmOc= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.52.0 h1:eU4Wt4yUuxVfETAfHqkIivj2fmaObjY+1rNRAVp63tQ= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.52.0/go.mod h1:JMxJFzRnFpi77J2uktvtZh4lcGMJMC9HLE9Tqvf7atA= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.7 h1:XuRWGRITuK7WMWKMkog/htDAt/t58wwdTK04oynlPL8= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.7/go.mod h1:0Ef9fBviMZwF5p9vDNcmAB6hUst2h8aNRnkUhzoE3B0= +github.com/aws/aws-sdk-go-v2/service/iam v1.38.2 h1:8iFKuRj/FJipy/aDZ2lbq0DYuEHdrxp0qVsdi+ZEwnE= +github.com/aws/aws-sdk-go-v2/service/iam v1.38.2/go.mod h1:UBe4z0VZnbXGp6xaCW1ulE9pndjfpsnrU206rWZcR0Y= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.7 h1:y0SG6t2s4xrOwjulhbGQ72ovA2MSlrb2UyAz+pA6n8g= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.7/go.mod h1:cJpIii79T0fjc0awSqvU/1kltAjp8MCmMpkhbOUUiik= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.39.0 h1:iYKAYIDogQjGVip912p9brH3/SUnY+uBAZyZi2TKz20= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.39.0/go.mod h1:7s6ULWi0Vru/qbdXGU9P17fRG3J0pnCLdb0Q7ldlI2s= +github.com/aws/aws-sdk-go-v2/service/inspector v1.25.7 h1:LV32Xwxm9bvE4DnnUHyfDFrkL5sNGGnr/PWG8LMg2rA= +github.com/aws/aws-sdk-go-v2/service/inspector v1.25.7/go.mod h1:yK+nyYadIKeORBC4ctdbS87vSBa6AHzck8HHhQ6ZxX4= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.1 h1:dX68SHOUFejZMeg2HyHlyL1QFWR+p03S2y08EO2eTdY= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.1/go.mod h1:SDwBSilPek820sf6C7qttUzdiO/2FXPkj811SAbn0sY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.5 h1:gvZOjQKPxFXy1ft3QnEyXmT+IqneM9QAUWlM3r0mfqw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.5/go.mod h1:DLWnfvIcm9IET/mmjdxeXbBKmTCm0ZB8p1za9BVteM8= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.5 h1:3Y457U2eGukmjYjeHG6kanZpDzJADa2m0ADqnuePYVQ= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.5/go.mod h1:CfwEHGkTjYZpkQ/5PvcbEtT7AJlG68KkEvmtwU8z3/U= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.5 h1:wtpJ4zcwrSbwhECWQoI/g6WM9zqCcSpHDJIWSbMLOu4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.5/go.mod h1:qu/W9HXQbbQ4+1+JcZp0ZNPV31ym537ZJN+fiS7Ti8E= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.5 h1:P1doBzv5VEg1ONxnJss1Kh5ZG/ewoIE4MQtKKc6Crgg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.5/go.mod h1:NOP+euMW7W3Ukt28tAxPuoWao4rhhqJD3QEBk7oCg7w= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.1 h1:bMINUQ0Vx+W0F55LdM/QNmCyy4EpGNFRZxtEY9YY9Y4= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.1/go.mod h1:FwrxOAc2QpAXWHy6pPDHqQpQy/2NuZcdvj1x+lfQEek= -github.com/aws/aws-sdk-go-v2/service/iot v1.61.0 h1:VsaQ+YkTqF7R/GbzWGdT9NVhKoxhw67eSC4JIA1QH2k= -github.com/aws/aws-sdk-go-v2/service/iot v1.61.0/go.mod h1:S3rkM2vxkYQdO+eEfv7EKzL11An45GCt2/lcnI5LbU0= -github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.6 h1:HCNKm01tmleHcWYZQ9xHreJx0+2mWetldsfHK5G2LZs= -github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.6/go.mod h1:YBeFAvdZ9sTyody+TwjI++jM7+A+gGMdNxUrssNDnlI= -github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.6 h1:6jqw638zUZ+hCrb40uzIXL/4b6o75Yykrt5gJVtorUU= -github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.6/go.mod h1:trsP/zg3CggG/NoU1ST6HWEHoZrc1MiQZOjpjmsAbeA= -github.com/aws/aws-sdk-go-v2/service/ivs v1.42.1 h1:9u32vlxg5QBHW3nbVJDRzcGCAW/V0yxBfgd93LazzQM= -github.com/aws/aws-sdk-go-v2/service/ivs v1.42.1/go.mod h1:i0WHmbRSq7fzU4s4jTS0npa50FFxMozzpXwv6mz9OFQ= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.6 h1:5xHMX7m64RVGupzIV8fEQqEaosY6q2E+OH95s0ONMKU= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.6/go.mod h1:dJPtJnW8PowNFXJzPltAM/DsQq27tH+zgNYdygfSZDs= -github.com/aws/aws-sdk-go-v2/service/kafka v1.38.6 h1:VwFMQWdGfkUW7xhkLWfqZXk1X3ufQ1JyrwA11Uaejo4= -github.com/aws/aws-sdk-go-v2/service/kafka v1.38.6/go.mod h1:zYy5wnwc0at4JSdXWyPQ9vthJyBRsi7fuAQZHdaWs5s= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.6 h1:OJOnpv9SKHd3BbAZ7ZOVfTwH9ZuZ8DudbZ1q7Y8zEik= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.6/go.mod h1:doTPYxH1R3obnAYNR7dNb+q5uaQrFGWsjrK7mmkhFOI= -github.com/aws/aws-sdk-go-v2/service/kendra v1.54.6 h1:tFPhqndyf8ylW0sHA4SKjxdey2Tc99avmKyI4KpWd/I= -github.com/aws/aws-sdk-go-v2/service/kendra v1.54.6/go.mod h1:PfMkacoIQi/2ICBRITqDcuMtssqRcOqnlH2La8wg280= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.0 h1:9VSwywZan7uSofA8lg87jXAvrXH4+QDTIF+7H/Q+SRw= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.0/go.mod h1:H8dcZZVknJUIM10091NgZ6lwrNFZRWamRA/a1JskMIE= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.6 h1:yN7WEx9ksiP5+9zdKtoQYrUT51HvYw+EA1TXsElvMyk= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.6/go.mod h1:j8MNat6qtGw5OoEACRbWtT8r5my4nRWfM/6Uk+NsuC4= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.7 h1:Qbwhj/5W7R/gD/kLKercGtFzbLN68Dr/xVCU36RLnTg= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.7/go.mod h1:9NP8BTAPCUTA2xq2KCPtpnDzVkrsS32y0AnJGQWetLg= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.7 h1:26BO/wxoZ0UxhBnRXfoU58PHGyXAOHD6MGRdMw6bnXw= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.7/go.mod h1:G655M6ZsQSwHjKDrSSYkzzNLNl0yd24TS/Nvte1Aq8M= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.6 h1:HBq8LJ3tFE44HRDDHFdfHT/12xHhlupUL3TMyz2HqR8= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.6/go.mod h1:RrmAKIuupEED9AZl0bikVGtyyDO3C93mA0nQwKaPOT0= -github.com/aws/aws-sdk-go-v2/service/kms v1.37.6 h1:CZImQdb1QbU9sGgJ9IswhVkxAcjkkD1eQTMA1KHWk+E= -github.com/aws/aws-sdk-go-v2/service/kms v1.37.6/go.mod h1:YJDdlK0zsyxVBxGU48AR/Mi8DMrGdc1E3Yij4fNrONA= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.3 h1:vbc9pblnCXXwSGnUW6abjBH2nN66nifZzPfh0fapXl0= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.3/go.mod h1:GSrO+Jr1SM/Jfdd52DIN48EY2tbhgk02nogvzpLkFks= -github.com/aws/aws-sdk-go-v2/service/lambda v1.69.0 h1:BXt75frE/FYtAmEDBJRBa2HexOw+oAZWZl6QknZEFgg= -github.com/aws/aws-sdk-go-v2/service/lambda v1.69.0/go.mod h1:guz2K3x4FKSdDaoeB+TPVgJNU9oj2gftbp5cR8ela1A= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.6 h1:+GPVOamTqDV7sSYzvziM4WbEv4u5jw/2bVYDl5NnmNU= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.6/go.mod h1:2KF56C6mZldwDGFF/vyv83VGXqDVpAaH3NwBE2+OTtw= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.6 h1:G6qKJwPyBMvFyWjAWW7lbZoN6VsYBCPxzjrQRKCexFg= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.6/go.mod h1:NIISLX1VE6siExm6eBCKwUxgUtbcZuijhfwovFLlhww= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.6 h1:2x58q4xIruXYmlJlN16QYK1i3I3BPczqUWdLLu0tGS0= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.6/go.mod h1:g8skRF3vu5As3fJIFINhNV9kyeAOr8pBDhW9wFHjRDs= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.6 h1:lIBhjNuzuaHwAuziSpwd1pUPrOUGrHnQlg7cbcbLegM= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.6/go.mod h1:G2ZGBJQHBfH6UXY9f0TUfx6kucCKJgQbLKftvjzpXls= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.6 h1:Q5zuxb0SS9xrIEnuKlKwFYedk5nviOmtEDXWrfhh/CY= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.6/go.mod h1:qklSjYVYEPst2z+rhuBpn84+jYzoo7QRRRk+ZguUoCA= -github.com/aws/aws-sdk-go-v2/service/location v1.42.6 h1:vEfLyr8ouHpU3AzTlyjBO3tMMcVIuaWWSACv9w1VK4c= -github.com/aws/aws-sdk-go-v2/service/location v1.42.6/go.mod h1:etVji3nL4Ge3MpPffv+buU/Scj/iWAL/xf9yUGRZ8zs= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.6 h1:G3y3bhS/P9Y2+YAuvHcHHfyDN4sDjdDZEruCiIBUZM0= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.6/go.mod h1:Da6VcI7dL5IJesAqesB4nr7s2Qv6vFz/DXRUfVFWg+w= -github.com/aws/aws-sdk-go-v2/service/m2 v1.18.4 h1:clAzdHIybLtBrZyt8cqwR171x7mVE3fMmCVmaffskmY= -github.com/aws/aws-sdk-go-v2/service/m2 v1.18.4/go.mod h1:FDVkgTp/iqmocl2JsFtyiQftsSa2jO+DpZ4dB+CRe4E= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.6 h1:8Ma/55QqIQBimERWAPLiOafZZ2CGMz15l1jKOcx2YnU= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.6/go.mod h1:8DUfCGSV5Y4q2H2pyN1+oZtLszDKMzizpUx6AA9WAxo= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.6 h1:FXVjLYYBZ9t9BC14HifNCrkzUWTaIrpEEkocPcOvWjE= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.6/go.mod h1:YTN0ly1dMxMDXGGWWryQB8cDV53rIcPJZNJNXwSoBJA= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.0 h1:nnH0LGQDZDa7zv8OoXtvixQ8uXH+76tOaMzdu6jDgtU= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.0/go.mod h1:2Xyd+9T+Wq6gdWAnCEnsuhXE3XES+gwkGsPJI0EBRNI= -github.com/aws/aws-sdk-go-v2/service/medialive v1.62.6 h1:YY15VFYZC/vN2o24nEnQ8KI79GnAfqkYb6RCf0xIFfw= -github.com/aws/aws-sdk-go-v2/service/medialive v1.62.6/go.mod h1:gBEjJ+TAuuuuPDAryKEKdcTLj0oZanQ9moERd0TJpo8= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.6 h1:yLTr2ccKf3+v8eErIAZxuQcHZuVf0+8w/h/RtTJemNw= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.6/go.mod h1:eb107D0QJ62buaWqqmr8FZW7nGOLpgUkanSBzd8HOZw= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.0 h1:jyZC/sFkBrjgxae9USiu6s+V3yW9kbaw/0YeOtM09Sw= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.0/go.mod h1:N/XJzgT7ToK87uK+nTO/gT6oSV+lhbmEhEYTSAHHkZQ= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.6 h1:mwGoScB0hwRkKBlbpFhHGwWVuifXKgubYv+OxpxQa0c= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.6/go.mod h1:LTbk7V5F9ZAS5dDrCb8Hej0ztaKxzZ2k2XerAfJ1//c= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.24.5 h1:XPYy54nDWNBzieltKQ6pmm5S72NQ++ABzEMrWReAHp8= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.24.5/go.mod h1:O94Vn/09IxbWludvHgI4EmmMNrGHJYUuubF6KxYELlY= -github.com/aws/aws-sdk-go-v2/service/mq v1.27.7 h1:SM+fa0iiR0B/CNpSnYZgBAFMcaPqxaWJyFHz+0QvpHc= -github.com/aws/aws-sdk-go-v2/service/mq v1.27.7/go.mod h1:uM+OjF2Wbww2yCvtPJ3lK7pO0MzcNLtItckYtWbg7bQ= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.0 h1:2MD49J99Lxb43LfLItaZEPVVgXHQofAxXo2fQWUzWhA= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.0/go.mod h1:xBgoacMucYu8C1qm8Z9kcI8ZbnbPgHR2EynpoPt4RZw= -github.com/aws/aws-sdk-go-v2/service/neptune v1.35.5 h1:HDoA1Z3r2TuF6CJfYSoLV5Wr70ll+GtJM4vL4n7SAv0= -github.com/aws/aws-sdk-go-v2/service/neptune v1.35.5/go.mod h1:vZbGimpx06Ar8EnMRoJLNYsJ6YeYFdvozTz8Kx279lU= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.0 h1:BhMpfPFW0vgobYTzfrMFijjXxHCqpyB906ToYuswnpQ= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.0/go.mod h1:Uade5ii2gNtKGSUZ2rXZBTSow50uCWh8mNLxsBeSppM= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.3 h1:5gs6lyhGYupTMTE+sFsbh35W+XPCdCt4Pgg8qEUleGw= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.3/go.mod h1:RrSc7fUe1EX71WfWClFvg55tAdQJ0UdG1uCOBzAgFFo= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.0 h1:oodO2q9rmUFricTJr5KnG5HD/6b7L2kfGEyHBD34oSE= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.0/go.mod h1:9xE0GXvKJ9L8YedscqsmKp2H5UI9luBqqQC2P8dxvf8= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.6 h1:WnyUwcAeE6NYv8Zk1A/hrUsy5ypFpFFnD88dxNfpIx4= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.6/go.mod h1:obg4ub54CzsQSVt/Q5RMUPo48in9LO2KB/nDsuaQxZs= -github.com/aws/aws-sdk-go-v2/service/oam v1.15.6 h1:rO6Yu1VrV7IvQcw7CaTxx+p3Z0IIGeY5U7iEjpM98rc= -github.com/aws/aws-sdk-go-v2/service/oam v1.15.6/go.mod h1:WSjmYbqG4Sa08dw+q1kBbn5sOK4ioCAwajICCrytQ5I= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.44.1 h1:8LrDaf/GI94aAXufGevIiHYd+btpMkWPmpHRKn7gLPs= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.44.1/go.mod h1:Hda4HPusP9TqF+NEC+aw2296WJ+yJGZR72Ufj1atZ3w= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.3 h1:4VeBNMpriKBFdPX7y7ARuiE63IyRbzmritTKD2uqpME= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.3/go.mod h1:FAez2d7b4Pe0pkJBE+BhG+1kFJszPdasr5f/uWLFttM= -github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.6 h1:5RdEdk2lp3M+cLixpXURN0MjkUV5FRmDwFo1UXMt0Oc= -github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.6/go.mod h1:pIHYTG0D9gBoZ0gmlZRL8benTzF85bnjPbWrVU25YLk= -github.com/aws/aws-sdk-go-v2/service/organizations v1.35.1 h1:+QsuehAdI8oDvdbkSfgM2yK00FzhPpM8sFozmG1rXD8= -github.com/aws/aws-sdk-go-v2/service/organizations v1.35.1/go.mod h1:Y4nD5yj/r634ux6MWgvZFWmwTofHrHvzYvX2nMnkMdY= -github.com/aws/aws-sdk-go-v2/service/osis v1.14.6 h1:IkLznNNge5hWvUsxF6bYhKkoGpcC0E/5OqOI8rI3WcA= -github.com/aws/aws-sdk-go-v2/service/osis v1.14.6/go.mod h1:tPJ/Jub87lHWze0ct1XH1oA6mKbwIdcLXxaafsnz4t8= -github.com/aws/aws-sdk-go-v2/service/outposts v1.47.1 h1:1+XB/P5Hhf8PS7wW/J+0JuPKHMR/IF0YSYmhC+XiZXc= -github.com/aws/aws-sdk-go-v2/service/outposts v1.47.1/go.mod h1:xwxXMu+7LhL0fmE7tTDhc4tKoClcIvavT13GyixjcXU= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.1 h1:lEULsuCT1aAFhns7c33YERMpdIQDz5Hsd8zWB9we/XM= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.1/go.mod h1:lncC4s0TLDksKC5mu3D07d2hoEwyxtq/9rCfv+Rhsrg= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.6 h1:KNybFigKqPXtgiSvJlQAfBRdyo+r+pcvf8m4LkNNYzo= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.6/go.mod h1:1oelry9UC3Ht/EyNJYOtj7Jl3lXPJJS1yfAcnRX4mXo= -github.com/aws/aws-sdk-go-v2/service/pcs v1.2.7 h1:ym8CxKwHy+DcZ/q+Nr+jRW79O0TYHszJfppHDyRiaNk= -github.com/aws/aws-sdk-go-v2/service/pcs v1.2.7/go.mod h1:nEWxtjVwnxhC/+PiFYotwLndICIO7s7zg9ppmof7Snc= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.6 h1:20YDzR53Z4/F5Lj9TvZ+C8LXIUQ0Wjy+HtJXM91Ir4s= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.6/go.mod h1:lXmDGZDFvSb1CySh9mujOzljpo5lwKQchPLssSBT890= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.1 h1:Rq87gPsr+seXVoRG1qaB+PyYVZPWUYHwHNZj7vxvxR0= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.1/go.mod h1:7ouFIQqHwpK5rnzhCkDfF3LioqoOiQs5UD7ANRhxCsg= -github.com/aws/aws-sdk-go-v2/service/pipes v1.18.4 h1:hkcI3Is0nBoo0RwMCTY3N9jd3kLbF3eELkmb5xeWDWA= -github.com/aws/aws-sdk-go-v2/service/pipes v1.18.4/go.mod h1:ubOlYYLTKhB0FNA85qTHyJGsTTR20T406ywZBXZdcNs= -github.com/aws/aws-sdk-go-v2/service/polly v1.45.7 h1:vjSRnb6eE/VeWy5sicCbp1uG3yn9idstyJ9fiwydFv4= -github.com/aws/aws-sdk-go-v2/service/polly v1.45.7/go.mod h1:Rp9B8Z/0JVupwGQZavo5YmYjI8mF6wNIv5+Dv4IQb3M= -github.com/aws/aws-sdk-go-v2/service/pricing v1.32.6 h1:ZzoCQskTXjZBqKW9ZpUFUBCcK22TQZWbO+6PbX8Gu2U= -github.com/aws/aws-sdk-go-v2/service/pricing v1.32.6/go.mod h1:9U+el9JTtl0llHl7GimPXMmqNHkjgMeV9vMVvznTqfs= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.16.1 h1:h0NRI0sp2vSW3pocytiirHXzUzqz7sAKtECLucRjLo8= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.16.1/go.mod h1:npob1eKe0EiDBkePh5Y9vnTsI8N507o/XIyZLEYfiYg= -github.com/aws/aws-sdk-go-v2/service/qldb v1.25.6 h1:0x4VnCqVcYDsiQs7+VTz3qtaeyTCyB9FtZNAMkb2TCo= -github.com/aws/aws-sdk-go-v2/service/qldb v1.25.6/go.mod h1:E7qOKK1pXhE9b1M+52KfCoPr8rIhFUimRgy7bxtLN1U= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.0 h1:bVG1RvmyEsy5XJNgTGKFox/PUaenvRI6kv6Svb3ifac= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.0/go.mod h1:vFpU88RJn13XpH88/x7cu+onAag/9cGpjpre8t/0srE= -github.com/aws/aws-sdk-go-v2/service/ram v1.29.6 h1:84mPZMJZHAZBFtff+UbZjAck7ZSiRY+nxmElxTEKa1c= -github.com/aws/aws-sdk-go-v2/service/ram v1.29.6/go.mod h1:I6romstEDoLQy+FCQxBmCkoKB3TkpFqiYKrc56nQEFI= -github.com/aws/aws-sdk-go-v2/service/rbin v1.21.0 h1:Tx49bha+JoGKWeph1Z5zcyDr4u2e5CrTunWxlI0dsoU= -github.com/aws/aws-sdk-go-v2/service/rbin v1.21.0/go.mod h1:pmSXGrqZyUIIZy6GCp+jvHtreRPPAyHA0B5Rj3JWP/M= -github.com/aws/aws-sdk-go-v2/service/rds v1.91.0 h1:eqHz3Uih+gb0vLE5Cc4Xf733vOxsxDp6GFUUVQU4d7w= -github.com/aws/aws-sdk-go-v2/service/rds v1.91.0/go.mod h1:h2jc7IleH3xHY7y+h8FH7WAZcz3IVLOB6/jXotIQ/qU= -github.com/aws/aws-sdk-go-v2/service/redshift v1.52.1 h1:zb5RnnLLNhQ5ttu/M2awKTMFZCSPk/dFkzLg0wRoGEY= -github.com/aws/aws-sdk-go-v2/service/redshift v1.52.1/go.mod h1:wwRCtvNBYB+hYayN6DRc2bnpuHQa1nlbxzl2hG0iiFY= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.3 h1:TjnbaZH/KmEb05dDFhghgfRkDfPwlW8offp3N038gTQ= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.3/go.mod h1:GdcVhrp1b1xkdTQuX05ULZ+nUleYT5uJdQwu+vorK/w= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3 h1:kK6hgb+NPtKbVt6ipCyWDSny6mJty3IxnArQAeUQHRw= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3/go.mod h1:rM2oYKRheMpuxjJ7fkIqoegIVdG4GkdOqRx1PSx9xYs= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.7 h1:kC6qaN1AVzhBzDo/0sUCdkJVcamuMslppfys4oGtxR4= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.7/go.mod h1:/OYd+ham4lcrARFxWjW+TzBZ0u1gprKqbOUAnX4e0D4= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.0 h1:j4tpuJDBBOrjO0nu0/OYF+npDe0zUKDh87Bvu6xMm5M= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.0/go.mod h1:qjJmrIFydKnYY0o/pzlSRiVW3MlfexrcfLGprTB9RGU= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.1 h1:4sLI1tQYWtjUKbGcqi24jrK9yCRj9dzDlpoHI0nPBBM= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.1/go.mod h1:/BvZpktD03eMkAyP9EJgIZ/0KpfCKAokOo+rFAPWNQo= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.6 h1:1Xt2iiHMw+5WwGLaKZ7KhB+NabAHdPo2pPmSQJO9RAY= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.6/go.mod h1:gGux5LmDJLXI5Q+Nt4YqX+l3ucXvgcxAzuyJ2v9Th/I= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.6 h1:I+a2rKx253mIClu5QtBkYWtko1k3nC+SvAtWTomengI= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.6/go.mod h1:hmJ9BhvEvDx0TrC16/p9UdoBRyCD2+k23ritPq5ctdM= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.6 h1:PAcYgkHkqSQnXRvlJiYogADw2FE6e3RlxZhEyfLbp5s= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.6/go.mod h1:0oftCHOKgkrfOUU5py1HImPvXXmohziImw6ZsDblUZY= -github.com/aws/aws-sdk-go-v2/service/route53 v1.46.2 h1:wmt05tPp/CaRZpPV5B4SaJ5TwkHKom07/BzHoLdkY1o= -github.com/aws/aws-sdk-go-v2/service/route53 v1.46.2/go.mod h1:d+K9HESMpGb1EU9/UmmpInbGIUcAkwmcY6ZO/A3zZsw= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.6 h1:V05BVZkF8PlS+7mv/mZbg+RTosgot+/vbC/GjD/O6+I= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.6/go.mod h1:qi5Gro08MCfHLMycebAQWfHotdcpDzzPE3lwYSdQDHA= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.6 h1:GmnkT3Bgzhdmpr2jTEwNRBkJIG0wEJto5V0iU0+Y2Ws= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.6/go.mod h1:nmCbIBvDF0cz6unQBjj+0mWo1rrS/Kx5cLidUnBTqxM= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.6 h1:WOwc3eLLF/1K72JrZNOj8zouEKO1LeIAVNPQ0SVLMoY= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.6/go.mod h1:hSlHrezzmKmqKk5wUR4cx3jBGskN7wyP/9EzeUlr3Y4= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.6 h1:UlFi92om4R46idg9Ha1Q9E7X4wBluNqPzbwJfbMe9XQ= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.6/go.mod h1:RBzN/I/E7XuGozrYf7XXSKdbFd50qZIvqCxnisme/S0= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.1 h1:FlKzCc4JH3i87BpFsCvoXQrc2acahy24kebPFvSVWMY= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.1/go.mod h1:Srhr/nWE3+IKKhOqUBc/hYmdgCgxt2Z91GMFFtJyOeE= -github.com/aws/aws-sdk-go-v2/service/rum v1.21.6 h1:4U/ss6VTGPGvnSzDyojk/atrOWhJ9OPh4RHwYEm86aA= -github.com/aws/aws-sdk-go-v2/service/rum v1.21.6/go.mod h1:kAUyICwBeSM4d/WWS2ZcRz9RLtd0ZuDEQbTf4YCmcbA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.69.0 h1:Q2ax8S21clKOnHhhr933xm3JxdJebql+R7aNo7p7GBQ= -github.com/aws/aws-sdk-go-v2/service/s3 v1.69.0/go.mod h1:ralv4XawHjEMaHOWnTFushl0WRqim/gQWesAMF6hTow= -github.com/aws/aws-sdk-go-v2/service/s3control v1.50.1 h1:WjVnnNd++hjjmuODULNfZaW2zEKZVrDGZvdQUK2dF8M= -github.com/aws/aws-sdk-go-v2/service/s3control v1.50.1/go.mod h1:ymXHnBHIxM/iqrgGphFuoUfuczoy4inIr2LH8PRj8NQ= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.6 h1:zzoRIW5fgL23XkMtW4eDNMvWreQLOJNeFCK2tmjfz1w= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.6/go.mod h1:eWYAk3ydR9kivn2OqgXUAgZTvmeSQeoYKiEFIQFVm1M= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.0 h1:t3gEqynGngUIZ3dqg9LsrGgK/4Qemqy/LQJtpI7waow= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.0/go.mod h1:F2Dsgm3rYCwBQ3kceuZwwdx6N/7jpcRIREp3CGMBwV8= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.6 h1:68IWlYXT4lWbn1EmL8NBouGTyi9W/IXkXSJbTiasjXY= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.6/go.mod h1:p6YS4Jv8IRTR8g77fl7iAYa72RfFV5t7ek8TP8/fKVM= -github.com/aws/aws-sdk-go-v2/service/schemas v1.28.7 h1:2Wt+RX/lsLb/+np1UV9naIpl0gg03bs7rkt76Gr6W8s= -github.com/aws/aws-sdk-go-v2/service/schemas v1.28.7/go.mod h1:iwJXS0UyH3hE+/Bt+1MAFCwFuJ6uSx7MUv5KdFeqqPc= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6 h1:1KDMKvOKNrpD667ORbZ/+4OgvUoaok1gg/MLzrHF9fw= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6/go.mod h1:DmtyfCfONhOyVAJ6ZMTrDSFIeyCBlEO93Qkfhxwbxu0= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.54.7 h1:pWQKR8guL3JKhJo4fzbez5TwcG6oNShKNv1cOlDX0KM= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.54.7/go.mod h1:UleZz3snRNYUF7PwsUDdKFq7VF1SUI4WGgMrnLNbYos= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.4 h1:9q6LYxzfK4fW6hYMtrHrI/lXu4sS7I2gGY1vlyrCKNs= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.4/go.mod h1:QwvPHp/z19J3LsiN3xOStRqe5rV0TJN4tfbKjBSFlyE= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.6 h1:GfQTL+TxMeqrcUj+e0C85o60mXXsiwCzuFJvEC/XCb0= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.6/go.mod h1:mHgnVSl8qnOokL5Vrn+r8Vk26lxG5rJJWsf3ng9MmMQ= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.6 h1:ZfH1I4A7xSoZV7Hy/NNHpCTyOj6TjxLax4gZvIdmvEA= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.6/go.mod h1:8mB+AmDLKnSF82XAtwnUzRjLxDyiEJOj53S84IhR0Mw= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.6 h1:3rDGhJUqFxm3njevh4wdEwuqUEhMRUTk16gDEjMIfXg= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.6/go.mod h1:VB1Zh7z33iwdgqfNks5+k+YRCIVDX+t0odHr7iRh/9c= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.6 h1:SNpBx1RGzJRBdiUqyzEeLvJTWIsO/XdrSMNI+z6Oy88= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.6/go.mod h1:wUxQDWQLkWd7A7ROXBwiOhjKFOvHAoKHbrykS9xq9D0= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.6 h1:GiXCmQ0LWJxMqxeRK8Oc1w2Ufyn9ADxc0MXZMzFTYyI= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.6/go.mod h1:j97IqfLFihFonWq16KSfpMENWQ1PvLjNhjoJfpwYTv8= -github.com/aws/aws-sdk-go-v2/service/ses v1.29.0 h1:b6Je/QdCfxf6xupis7Eu8fH6SPFE3tG/Xd6MDOpOGJo= -github.com/aws/aws-sdk-go-v2/service/ses v1.29.0/go.mod h1:JRCjHrdiLrSoHRbbOd0lTQOS5U9Yxe72wB3Rk+e2tcQ= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.3 h1:el5Rx1kxCrz4rb/lCPl+Hq33ZAdKohbOTlcks7nR7L0= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.3/go.mod h1:Lw3+PgymmO/wdBXubwIAn+RiG7T/cD9gE5kicRmN54A= -github.com/aws/aws-sdk-go-v2/service/sfn v1.34.0 h1:fWI2n4gv/RHaPaRbceJsQxlvVwBdH2a1v/qjFx1xI58= -github.com/aws/aws-sdk-go-v2/service/sfn v1.34.0/go.mod h1:3dMtLKPPdu8n0VakTR9ncAjFGvnRyLMD1Ib5USqCLG4= -github.com/aws/aws-sdk-go-v2/service/shield v1.29.6 h1:6Gyhego+FPrK45FxaQ0wRm4EpovxHc51M4WFaQdGJz0= -github.com/aws/aws-sdk-go-v2/service/shield v1.29.6/go.mod h1:KYGAHKJFsHD+QVZ08NHHjAtA0FBrfm5YVSGe7eV4AH0= -github.com/aws/aws-sdk-go-v2/service/signer v1.26.6 h1:inoZy/MBkjYLTsvOlU+b3ifeBiWbtQlSp5CKAoFb/6k= -github.com/aws/aws-sdk-go-v2/service/signer v1.26.6/go.mod h1:PlARViFxCTRAUavXGcQObbvAneCEeln0hvpQCsHJATU= -github.com/aws/aws-sdk-go-v2/service/sns v1.33.6 h1:lEUtRHICiXsd7VRwRjXaY7MApT2X4Ue0Mrwe6XbyBro= -github.com/aws/aws-sdk-go-v2/service/sns v1.33.6/go.mod h1:SODr0Lu3lFdT0SGsGX1TzFTapwveBrT5wztVoYtppm8= -github.com/aws/aws-sdk-go-v2/service/sqs v1.37.1 h1:39WvSrVq9DD6UHkD+fx5x19P5KpRQfNdtgReDVNbelc= -github.com/aws/aws-sdk-go-v2/service/sqs v1.37.1/go.mod h1:3gwPzC9LER/BTQdQZ3r6dUktb1rSjABF1D3Sr6nS7VU= -github.com/aws/aws-sdk-go-v2/service/ssm v1.56.0 h1:mADKqoZaodipGgiZfuAjtlcr4IVBtXPZKVjkzUZCCYM= -github.com/aws/aws-sdk-go-v2/service/ssm v1.56.0/go.mod h1:l9qF25TzH95FhcIak6e4vt79KE4I7M2Nf59eMUVjj6c= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.6 h1:mYRRsmR2P2tGRzoAWOc0dhh6/wm5xF9MRkMJ/OJdkNk= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.6/go.mod h1:aTtebl9x8vxZTTUamDzvujt1OICEpcZED1oCi80yyJw= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.6 h1:dqJenl1BmS8fQWI8Ol/h3WdME5lRiYdmggoHv1fihVY= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.6/go.mod h1:NU/CID+MNfIEoHY+XOQ4xvtF8vPm0eco0thWTY2EM9o= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.0 h1:SYNFn4FRwdrh0tWdRBcrVN1T3/QgisV/E68/y+0cda8= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.0/go.mod h1:MtHMOMSvnNeeu3F5WP30eZwSp1qRbxjkT2xor1mb/H4= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.6 h1:uJACk0uiWe+s5Y7CWo15ojwRS4uwxBsfjrcG/QxztKo= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.6/go.mod h1:v676cxw/KjLk2vM97EL/nrpiX160mY97QErDa2ArdUs= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.6 h1:3zu537oLmsPfDMyjnUS2g+F2vITgy5pB74tHI+JBNoM= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.6/go.mod h1:WJSZH2ZvepM6t6jwu4w/Z45Eoi75lPN7DcydSRtJg6Y= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.6 h1:/+meNQDvDq2Bq3mAhlBkCJjSsjKhOKIUoxSkgy9VJ1o= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.6/go.mod h1:clySUxAQHWp4zLgAIm9hEOlLFHyxSE2YYb2wL/p+7Oo= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.5 h1:K0OQAsDywb0ltlFrZm0JHPY3yZp/S9OaoLU33S7vPS8= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.5/go.mod h1:ORITg+fyuMoeiQFiVGoqB3OydVTLkClw/ljbblMq6Cc= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.6 h1:6TACV9Oz/QFABh6zqHCRt6/3TCCTN2yu/Vk/d2QiMCo= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.6/go.mod h1:9Zh7Q083SlzjsH5+Ay1MUsPwDBFdpQWd8C2k3LYiIZ0= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.1 h1:6SZUVRQNvExYlMLbHdlKB48x0fLbc2iVROyaNEwBHbU= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.1/go.mod h1:GqWyYCwLXnlUB1lOAXQyNSPqPLQJvmo8J0DWBzp9mtg= -github.com/aws/aws-sdk-go-v2/service/swf v1.27.6 h1:SNBI1mmvexuy41GeRryQe8r/BWlEtnC7TuDrlIiccDg= -github.com/aws/aws-sdk-go-v2/service/swf v1.27.6/go.mod h1:p48SX8A0BLF1a9owTvsdlpALq2th780a2FJi/DGGK/s= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.1 h1:f9icqeThImJEpO3cQp7CO4taZOil/uph9uaiLqo6ZMw= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.1/go.mod h1:l0COvN1sYnOLJJaXAQistyp96G76KL0+1CtsvLtQJ/8= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.0 h1:NWEjSezAbU7klTwlWJFLhDHgwyUpwUuByd1QExRMULM= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.0/go.mod h1:jHBnwkzXiAFmiNEKEuyBxE+eEqfa1qm7wggL7RTgqHM= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.6 h1:Ouja3w2uigjuZ5wa7aR0CaHZTe+niXSzUvJS/4E1Wa0= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.6/go.mod h1:OVSgcDB+hYKLrNiho0Y19pQiOMnth63hprCxzpblayA= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.7 h1:i3Uuh/LLP1Qh3x0qh8i2OnaU+nZ5u3oMwffIrtH7yjc= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.7/go.mod h1:UyyUbIDdMO1cGXWA37B/KylPyLrq5kNU1m2E+ojF610= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.6 h1:0uM86aXF1xuNNP94lvMua36AS4/urnnV0JIoZs1hgdM= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.6/go.mod h1:VdynE2CDkpp9p96Nsy+eFE5PJferzNnjuB1kMcjl0Uk= -github.com/aws/aws-sdk-go-v2/service/transfer v1.53.5 h1:xyvVof+cdQogIXJDKJdhJ2dVF/svxrjv4zEP1T9fIV0= -github.com/aws/aws-sdk-go-v2/service/transfer v1.53.5/go.mod h1:tjYLu1usUNMh2mMGrahX1ZQd7WSIwqe0O7wGd5Gq4aU= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.2 h1:ERPfTAJIbZxwDJKCPvsZacGqodEx4dj9K2OC4sDnrCk= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.2/go.mod h1:f4UivZUJxaK4N/UIJXQgpirh3yWsNxMzWsrk0sUvZrk= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.12.9 h1:GRU6B7siT+PRSIS9JmOFLugE90//aCQ9jOfk09wxI+g= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.12.9/go.mod h1:X0X0qZ4S3qpAm8NfTdW4lacTf2VusIV3sbwF+CN3d4k= -github.com/aws/aws-sdk-go-v2/service/waf v1.25.6 h1:FgT+D2lZj5PP1enlTMg4i7yHPCDjk7css+GEQbkwHiI= -github.com/aws/aws-sdk-go-v2/service/waf v1.25.6/go.mod h1:CdOaduoCFkcCa1F3V0FfKsRflqwjuuctnt0eyDQlt0Y= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.6 h1:ZAVHrgxHso3D6ZrWYNW8ZYpWei5YRdMNu4teYal/B4c= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.6/go.mod h1:j3VEF66T5h8nu3WjPwPZRiBIwUo7rlDgyklgTTNleAE= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.5 h1:Fqt5dudTu1FxJXxrcLxKmnSPVuOV5qYyONUWXEeEU0g= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.5/go.mod h1:SGymgXOuZBAnbdEO2NAPUHOXU2swMyT0+nHD1VlNxhk= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.6 h1:gRlAqT37MBjotuhc9aES3J9OcyRolDlZE9y4eqlWx7g= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.6/go.mod h1:5/10vqAzXC/biuHdbkYAULETemq0j+7fafDQyqUjKRA= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.6 h1:HCpPsWqmYQieU7SS6E9HXfdAMSud0pteVXieJmcpIRI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.6/go.mod h1:ngUiVRCco++u+soRRVBIvBZxSMMvOVMXA4PJ36JLfSw= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.6 h1:nbmKXZzXPJn41CcD4HsHsGWqvKjLKz9kWu6XxvLmf1s= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.6/go.mod h1:SJhcisfKfAawsdNQoZMBEjg+vyN2lH6rO6fP+T94z5Y= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 h1:50+XsN70RS7dwJ2CkVNXzj7U2L1HKP8nqTd3XWEXBN4= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6/go.mod h1:WqgLmwY7so32kG01zD8CPTJWVWM+TzJoOVHwTg4aPug= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.6 h1:BbGDtTi0T1DYlmjBiCr/le3wzhA37O8QTC5/Ab8+EXk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.6/go.mod h1:hLMJt7Q8ePgViKupeymbqI0la+t9/iYFBjxQCFwuAwI= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.2 h1:Dv+q59QjG5FUBRrZGSnu5nouzwPoivj2Z7KH0U0EneU= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.2/go.mod h1:Pnzezn20O/qGSc8S3NVpy879f5w4bWnYW3iGHTUbgBw= +github.com/aws/aws-sdk-go-v2/service/iot v1.61.1 h1:xU86aILQFTU5I35YHw5iOLIbSriLsdmnYBuTst9+5K8= +github.com/aws/aws-sdk-go-v2/service/iot v1.61.1/go.mod h1:2QrSORRSY/NYGcTbUdHIz62SM5RlLCAnBcpcDIjg/Sk= +github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.7 h1:Wzu7Zb+Xxekp9ncI9Lqx24b8avRoLh4ZaVjUWda3Po8= +github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.7/go.mod h1:dT/c5XzdfUmqgbuY2rfoqEoaS4hhhV6bzYKCmHIudsg= +github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.7 h1:3+CqncIjYZhQ4dW0MEe3LN48ny4H1OydEIrtN6N/NMM= +github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.7/go.mod h1:A8OzS86qbmve0dL7bqdbqy4PcBKWCWqg8gKRHLO9pEI= +github.com/aws/aws-sdk-go-v2/service/ivs v1.42.2 h1:9QFYCHXxRywbd/jvx9wtU73u7QT0I7Y3qAKLgDDIwKo= +github.com/aws/aws-sdk-go-v2/service/ivs v1.42.2/go.mod h1:BwNgy90oNpZ/VrzHTn6y/z2jdsJ2ZK6D5yvvtE5Ft0o= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.7 h1:HlECOFumfIpk5nRnSdJ6F6ney0vxu9JsLe4zifGlswg= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.7/go.mod h1:C57nohycrCEMovZLg5G75J/DEZka5WSuOJtfaYqIq8s= +github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7 h1:RjCwdphB+wBtT/qQw6e7c6HOZ7ab4WN22Uw8GSmKNb8= +github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7/go.mod h1:6ezJjIOpnDf+Q/BJ2CIITrcdXSvfUS1zwjnEHHPa8oU= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7 h1:OSj7D23vSCmeHSp8IQUuSvc57cUi6FwYQ634FgbMdOY= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7/go.mod h1:oy7uAjiwfudbkCbOW5nIBNhzPEsQbnbcNO18JgdVqZU= +github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7 h1:tOVT7NRS+pv4o1/X8V8Abd/Pa+rVCvwfkdxCfPqofoI= +github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7/go.mod h1:/HuziZyTc3mY3YW5DqgZAnyhFoK38EMCqnASuWrpYoo= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1 h1:6H6WaX339sByRffHdcX7yCG7JeFM4Z/61+uvGLleQNw= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1/go.mod h1:hW+Z1zESPAefZ33sgnMvY1ADVCiPI2e8v1vTQcz/MDY= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7 h1:QTtbqxI+i2gaWjcTwJZtm8/xEl9kiQXXbOatGabNuXA= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7/go.mod h1:5aKZaOb2yfdeAOvfam0/6HoUXg01pN172bn7MqpM35c= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8 h1:0h1EmAZ5VTdoteDEzE9OlTr7OXZGO56eMxOGGceioBE= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8/go.mod h1:c9hLEK1e3z+ruMXThiEyqMrPdpPOxRw4yg3KZ3rHYl4= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8 h1:ryRIc8QkgWcMqmCSBcnYkchdLeDEOtCEjU4tJKCZv9M= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8/go.mod h1:vS4K9dorERPC3u8+nXR32WJfltj6DCrx/B3w1njvJUY= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7 h1:u312E9WSNS3aL0fMkD3R8TCrv6RX4KT1F8I6itnQe/4= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7/go.mod h1:pdoRfafdWneitPJSDJEIUH3npcWNF0a9ReMblcQC+hA= +github.com/aws/aws-sdk-go-v2/service/kms v1.37.7 h1:dZmNIRtPUvtvUIIDVNpvtnJQ8N8Iqm7SQAxf18htZYw= +github.com/aws/aws-sdk-go-v2/service/kms v1.37.7/go.mod h1:vj8PlfJH9mnGeIzd6uMLPi5VgiqzGG7AZoe1kf1uTXM= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4 h1:H4/iEpKAywuFxE/lTe2TygdLrUs6bsdaxBB4Ry76Mjo= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4/go.mod h1:TrZ6XeQ86aBjOsy+ae7RKlYWh3TQ53QQcA6YhtFadYk= +github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1 h1:q1NrvoJiz0rm9ayKOJ9wsMGmStK6rZSY36BDICMrcuY= +github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1/go.mod h1:hDj7He9kbR9T5zugnS+T21l4z6do4SEGuno/BpJLpA0= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7 h1:nMYxTZs0WjVLEyTEqRtD6WR83nMqF65uPHSv43SrFDQ= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7/go.mod h1:6g7hO7AFKCy9KcvxJFPs8m6u/YS42+AXnI5G6v5amyk= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.7 h1:ctsj2+1N2CfpM2WOrnSKMXgHIjoxqm8LbQ2zs/ecZWI= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.7/go.mod h1:jW7hiTAbVhBgyur3096wz15sT2YEZYPyVtO4fRWgZc4= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.7 h1:1iMiIfLc8yYCQJ4HwxLkD9L6vU5hnTcNoBI8yoanyR4= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.7/go.mod h1:Tj5DuyiCjIK6WkzvyXYy0PVq24dK+6CKvon670Q9Jag= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.7 h1:qtiX/fhTL1mrZNOM7KXKgaiHCMSmRfclUMtI2ep619U= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.7/go.mod h1:aH2CD/bGJKv5nBMc2S3bYIapITSSZ6au6YJERm5cEdo= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.7 h1:pVO3tnwny+c+XIfNkmrReAkNd4Gyy7TVvro1ZTfzY4g= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.7/go.mod h1:yveTbfkp9hhabgl3aXbd2/AvWCgJRi0O+mhm3REyvE8= +github.com/aws/aws-sdk-go-v2/service/location v1.42.7 h1:yLpR7rDAh1mSazJyYc2bNzVk8EMuertx4ZCsDzSFeNg= +github.com/aws/aws-sdk-go-v2/service/location v1.42.7/go.mod h1:lSuujyYUNaI4cHRzTha04mEVGSpIW0PM9AiTemTvKDY= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.7 h1:wyvJFktMUDLYX7q8LpfuvDS50sIR2QrcK2OPaoJZL+Q= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.7/go.mod h1:xVdP3fbrhDfhVNugkmC2aY95Ea0od8j0cUUxoRJ+UP8= +github.com/aws/aws-sdk-go-v2/service/m2 v1.18.5 h1:X6iVlWx3rVolup+wnlNcyylpUIoBbWWhwmvjM+4sC2o= +github.com/aws/aws-sdk-go-v2/service/m2 v1.18.5/go.mod h1:XXdV0w3yWrEmBvE4iZVAwWEPtQD+UrDIc3j/ETsI5+4= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.7 h1:mlaPITmZnYi8bm20Ql8tTPrSdLZc6LwdH9RYDuAgf3o= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.7/go.mod h1:wya8VTBSC9uglnFujLKT/21M03qc+tnTUHV3fgW6aFM= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7 h1:8fTYn2M9KBwvo/MN4S5V5HJkl76MCC4dCZGKK+9y11E= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7/go.mod h1:NyaKp3HdG4vD6gNfnIwGsl68/4vneSu1cok7yZAOB/U= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1 h1:O0PufOavkptAta6HE7q128zvKV4jcZ5PbyyIRbUsWI8= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1/go.mod h1:4B8R+NlIvQUF77Rpqe2r4xQceaUVXCFYfbJ2ASlocbc= +github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7 h1:BdMoauoIpEII5wAfLUnyTJpaiigoqzRctfTtQpdiYwE= +github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7/go.mod h1:3941uJpLJirB+Xc5CM5rsVMeQuNkp0UMrdswdqvOelQ= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7 h1:NEDXmP4JZxYVPcU+rvIcLUPM6kEhCS2lw09weM1a0WI= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7/go.mod h1:E4wTOblO64Lm0JHaNwxx1klyfyQ3rKje2J0CwQ6Q4XE= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1 h1:F+do5xWXqiQhY4sVpYwzVxrER5h6IKfedgFJVuAfpF0= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1/go.mod h1:+vDyRn8cichafKg5NVt3+HC81nasKOkFpJ0jxuTL6J0= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.7 h1:OK3XNax+Pg6cKlgOSOs3Rp/zGlq29gmQQVOMv6Frh4g= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.7/go.mod h1:4Cz00WLWNC0c79Y1Rks4MH+ezS5zXGerYY9DryVWRNQ= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.25.0 h1:7HzWnEIEXis3QZCiGpI0FwM4CzxKr82dc18cTqE+Ws8= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.25.0/go.mod h1:nv31Ugm3PeTj/1NoUT1wlJpSttTV9kpANgSGMCOdTYg= +github.com/aws/aws-sdk-go-v2/service/mq v1.27.8 h1:xGcrYXOE7mCt14ToL/ZibXsBW0DhReBuollS35Ci7pQ= +github.com/aws/aws-sdk-go-v2/service/mq v1.27.8/go.mod h1:EjYQlgBAl1BVTGEpjQSTTn8q2IaBYmKZAMGorq+J8N8= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.1 h1:Vy9YZcV16Fpo0gFJBTKnEoDiKsREAIwPxvZR51DDlXY= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.1/go.mod h1:jMA6WUWuLnmu8HD8/bbhF+UsqZZDD21Sy50KeCYk4Us= +github.com/aws/aws-sdk-go-v2/service/neptune v1.35.6 h1:4XpR4uxdYixFnQecBQ4bj+OVTTIllaVLIdNZT9PVGXU= +github.com/aws/aws-sdk-go-v2/service/neptune v1.35.6/go.mod h1:JeJv7jf5G41lHVNiZ+24s7Frzg8k9xYCGborBe0FdNw= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.1 h1:2jejkFcjwRmm2w7h5em/psgHikBl+uc8F9qoFdyS5F8= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.1/go.mod h1:GpKZo1Lgbubeuqk2To4Tr1E5DBHj2mGrl2tuhysti2I= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.4 h1:kkkVxybBMwof8LX4KwP46syMXHwYAQP90nsEPA5cKiU= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.4/go.mod h1:b3UwYXVSlxwwRl8frZR9eXRc3rqisD4YyHv+rZ1Xmyc= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.1 h1:xc15Eon+HAbIUBF+58ow0ZxpJ+ZRiQgY0Lu7UmkAe1A= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.1/go.mod h1:EWCvUfz0rkfBfd/2s6Jj8DBT/PilQ/ClD/EByti+JKA= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.7 h1:jq2n7Z+SUcKFK8zR4lmELte9rgX59HtBqQUBg2DhTYU= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.7/go.mod h1:Sl6QugaUidIUBpGqzz5EHcwx6cT918H/mnQKNHTyAdc= +github.com/aws/aws-sdk-go-v2/service/oam v1.15.7 h1:gy/9lznIWLyAxokvjktoXNHpmLz8f7Fl/jUrdXdWbGk= +github.com/aws/aws-sdk-go-v2/service/oam v1.15.7/go.mod h1:Rh8Jc91inXNMdoRQk/ETf3waaqde2ZgaBFMyUKC10ko= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.45.0 h1:rjJ9MjX7jObSSxrBK1IU7bkHD6iudbhKTZie4eSHoBo= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.45.0/go.mod h1:f2qp9ZzFIyhStNsVqT09BQbw5K13qEYYMTB9WNNWtDs= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.4 h1:+igfh7CHy9+DAnTtTsC1ZIcfkCn/8r+ESK+/+NQj4bk= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.4/go.mod h1:pyPPjpS52Akb5g9Y1Sy1eNqWud1ZDDjhe/cLrBfrvyo= +github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.7 h1:JHabLpXH1A2IkaLYccQwC2TBnKLm2b3uSKvAu9N39YE= +github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.7/go.mod h1:ddJLpQoIwK18NaELU6CxxgLnzYdAyzfGEGBwudjbJgo= +github.com/aws/aws-sdk-go-v2/service/organizations v1.36.0 h1:CVHfN8ZVvWzDkAf/Qj+GO53dD5NWVyK16O8pYg/wp3k= +github.com/aws/aws-sdk-go-v2/service/organizations v1.36.0/go.mod h1:SVY+doFrL3KTvVMWzFLKvD7KYQ6GQfwNRPSQS7eA3cA= +github.com/aws/aws-sdk-go-v2/service/osis v1.14.7 h1:K37+ch2PxHJVWg1NRfVebstqZvicwfPPHQuXmwznbqw= +github.com/aws/aws-sdk-go-v2/service/osis v1.14.7/go.mod h1:TRjW1OYREjDpa4Z8pn5Axm6SFPdP2FVcy+jX5eyX3XY= +github.com/aws/aws-sdk-go-v2/service/outposts v1.47.2 h1:OpS3l/leIv8pbK1zaeoZ5WzzTojbLN8zdK8inc37bMM= +github.com/aws/aws-sdk-go-v2/service/outposts v1.47.2/go.mod h1:5X4a801ISjSwj+2Wq5FVicytit172Cdy7Clwia8l3Q0= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.2 h1:FShkGVtnQNoezF2amvLfP47k7t/TcwwnXPihC1dpw5s= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.2/go.mod h1:mGR1OiBn//5KaxFrLLMwoMDiMeKD07ifB/YaHpYFsFI= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.7 h1:LOvtIRHTybPxw6Q57GpPxmNaD1dn3I8oK9aYD2ZBRmE= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.7/go.mod h1:3BgmxWQ8Z4E2uyTWXp610jzZ4ohM0vk4ECRTiquMusM= +github.com/aws/aws-sdk-go-v2/service/pcs v1.2.8 h1:Ir7mcDtBOJObLKHl/FXB2eRPuWgsDoZNIq8lfVNuJ+Y= +github.com/aws/aws-sdk-go-v2/service/pcs v1.2.8/go.mod h1:LI8eDIEw9SSDuQp2D3UDB6+LZtfs3oraCFoCuf5NHQE= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.7 h1:SZq67/WO334eVG9JqpGZ8uT2ozLV8eX4KWXOXncVmT4= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.7/go.mod h1:8vy9a2PeHCuidO1JTs7iII3BB9WHA4VRlpgHP04mR8c= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.2 h1:JijCnewV7KgxgzohNUqCrkH8AU1asAC3Gna0+O9lC6Q= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.2/go.mod h1:Aj5x9nXOR2FuuPVcPVlEQnEaliM7Sy08MKxmy40ZQck= +github.com/aws/aws-sdk-go-v2/service/pipes v1.18.5 h1:W0cvpLbDGJIctaEWbClBT6oLNdiUUsEmq4CMm00cLMs= +github.com/aws/aws-sdk-go-v2/service/pipes v1.18.5/go.mod h1:D3p7y45dr9Vgx5sIVD/PxnTwIcbjmlboTHv4GMP7Qsk= +github.com/aws/aws-sdk-go-v2/service/polly v1.45.8 h1:qP67eGQ8myAxyd9+ZA6AZc0nYFmEOBwi7zrC5Aj0DFg= +github.com/aws/aws-sdk-go-v2/service/polly v1.45.8/go.mod h1:Bn1paZpSkDKa1vVJcx5DnDZOFMxMrgR7s74igJuhMTk= +github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7 h1:9UDHX1ZgcXUTAGcyxmw04r/6OVG/aUpQ7dZUziR+vTM= +github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7/go.mod h1:68s1DYctoo30LibzEY6gLajXbQEhxpn49+zYFy+Q5Xs= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.17.0 h1:pAtj3eD8KO5dW1D6Q0q0cVyIJ2GQI+/KqD5BCYQZFVE= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.17.0/go.mod h1:cmW8VmRWKpSEhqy70H3+QCFfHcTguZMZphBIdqcWsIo= +github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 h1:TWJzwB7S/SBBVitz/0HtdB7pqyf1iv9OUCQ6qeYob5Q= +github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7/go.mod h1:8AyevnOHnUsSNTlqH723oxU2hGgIdhVsUjtDS6JIi8w= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1 h1:K0Jp2QnU6w76zFUUHf8ssh7k8wPVVG9JjINXehGm9dY= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1/go.mod h1:GE3TPXNfQ2OETAUjwhnFl3CYWqzF9SPB1sJjeUSOkJA= +github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 h1:c6XYrBzh3J8J5Vaxcj4fbfuzDtKv7Blg/bYmd12PG44= +github.com/aws/aws-sdk-go-v2/service/ram v1.29.7/go.mod h1:Znaic26hqqKZ3mmG+UA8aLdnWrOYmkdHUd5KoT/DzGY= +github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1 h1:4w3T6RGy/jrGrup/o9WwtVXEWbwbL/up/+dPaGR5IfU= +github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1/go.mod h1:R1qdIYNn+b3mrEkq9r7jM7FVpgGDeOkeYVr3Poc+95g= +github.com/aws/aws-sdk-go-v2/service/rds v1.92.0 h1:W0gUYAjO24u/M6tpR041wMHJWGzleOhxtCnNLImdrZs= +github.com/aws/aws-sdk-go-v2/service/rds v1.92.0/go.mod h1:ADD2uROOoEIXjbjDPEvDDZWnGmfKFYMddgKwG5RlBGw= +github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2 h1:mUObSWeMlDwNEZEJAC/72AtnEwfjZqwTCli+up5Yj9A= +github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2/go.mod h1:UydVhUJOB/DaCJWiaBkPlvuzvWVcUlgbS2Bxn33bcKI= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4 h1:A0vlEMhhjNwiDuSeyqCV5E+nKi71xB7JEZ3zmSk9C2o= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4/go.mod h1:D22t6rKMIQkle+JZOeXSyPbhluGCmp64qfBYnJciyNo= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4 h1:41IjzWVSWq0V5Dc/aZKINc4J4WMdf5zjCYi7hM+JI/Y= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4/go.mod h1:HR4+m/4+W7RiaFMme0p6Y5dV7bDKhAIn8UiiZfWJVXg= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8 h1:K21+kYo7APUzqhc6pvCxHWAGxdyaxJqnEfBSySbFlGM= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8/go.mod h1:LIrvj+qa6+K+FfiOFv/DXgmBxDU/LCZebFYulAITgps= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1 h1:NBrNat0V6a0IlxwURP/kixLzvW7sSYy4/PAqe/OwB5Q= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1/go.mod h1:6M1A4+fuybF+twN7Ch53fSEb0jdQAnDl7SjEQOdJQrE= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.2 h1:vqsk41T4OS50+uU4oYh6YWXjX+wMV8j6fbxMD+xkHXg= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.2/go.mod h1:TsghsVk15IIlBkv5onzATu0Efu4xd8Xqh1QsQRCFoQU= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.7 h1:gj5YZ+wn0LpNlqapkn6mEc3Af3w3G79RPh2eT7Os/zc= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.7/go.mod h1:XngsyfRxK0KbWSC3WIP+YacPE4HoSm4GDpRWiwtQAfQ= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.7 h1:xQUVjSepDh2F1BUH9Fyxam3YLnYpehb4qzdvdo6sBcY= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.7/go.mod h1:XklDWgTWh+O/pQRDMSmh6AJaTFYswRsQ+o5XjwBP2+c= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.7 h1:M49WXIllz0oLeFxvvEfZvb+FPMfhN9nnDH/Bdiyjf4k= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.7/go.mod h1:cb8Aygy/+Ap36c0StMfVnUBCLked9v65w7i/ShJLTLs= +github.com/aws/aws-sdk-go-v2/service/route53 v1.46.3 h1:pDBrvz7CMK381q5U+nPqtSQZZid5z1XH8lsI6kHNcSY= +github.com/aws/aws-sdk-go-v2/service/route53 v1.46.3/go.mod h1:rDMeB13C/RS0/zw68RQD4LLiWChf5tZBKjEQmjtHa/c= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.7 h1:cUSak+oDWuKhl3doMhJkm8adfJcP6wRz9Alh9HxDQJI= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.7/go.mod h1:c4Zcr9bz35UJ07RC3cR/zBdpFn7ZjZqy/ow+oN0+NEo= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.7 h1:6SZ8kRmQE278KIJXq4cLdlOgO7nvlxgn6BNZRIIuyFQ= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.7/go.mod h1:RFwYVDBuEI0U+vxTP5m5lGgGe9Wo2kagynHfxTl2fWU= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.7 h1:/NwKq9S1DBMAIYNamv9kBz0fwuqnILphCnilPMO48Yc= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.7/go.mod h1:Qalb81pBJbyuXB8Z1JbrOs8ZB8pbLwTTfR/L+ssPP2k= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.7 h1:uozag7wGE9PbM/rESMnnXkBqPpOR/UtSpUSUB5Knl6M= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.7/go.mod h1:aC09Jm/A1wGiFkMs2BDU5IvGL6V26xIgJKQbM1VyXrA= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2 h1:9YaCGPw0s0qmxlyPujSe6LWqmtjfouTIRXrEtiJyHaw= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2/go.mod h1:m0CMmlFRzCrscSzjkH7GOPstcuKhgJCgK2153O2bP1I= +github.com/aws/aws-sdk-go-v2/service/rum v1.21.7 h1:AEl97eESj/H7fjtDH1dNyUCXHH2Dj16o2JYXLePaRH0= +github.com/aws/aws-sdk-go-v2/service/rum v1.21.7/go.mod h1:D54Xit4pURxcusZV7N1/J9U+/1LSTA2wmrAb2zAJhdA= +github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 h1:HrHFR8RoS4l4EvodRMFcJMYQ8o3UhmALn2nbInXaxZA= +github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0/go.mod h1:sT/iQz8JK3u/5gZkT+Hmr7GzVZehUMkRZpOaAwYXeGY= +github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0 h1:1Kpbjv27QmQHXZ2wv7Tuikz3syVONMghb9CvfTEWNoQ= +github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0/go.mod h1:sAOVMYapLSs3nCfdQo63qfVkKHlu97oqHDPrRbqayNg= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 h1:yUuN4xIlI/2bUqniq5OdIw13FIGtUdPhzU4dzl2v6fM= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7/go.mod h1:yCIumXPHLHsjmrD8P9UvXFVT0R9R+Wlqut71bW5+ZY4= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1 h1:Sz0HMK2/8itHAb9ABnMOEHfpOAIxk2a+f6EMsw7jn54= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1/go.mod h1:LoIh7abCP1rQng1kxJVJOTux55TaYN2tVN7G+zNbhus= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7 h1:lRA+BvESWVoldCxaw3SG9UssITkVref8rlVy5xCsh0A= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7/go.mod h1:hCwaxwoPRJmODF1jv6HvbUyT9q7Ak43LesgkvNvZ0PI= +github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 h1:9TVRGRx70yb6sa0QHQiASkQJvi/7yyHjSgacjqtuoGs= +github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8/go.mod h1:e2l9QQlF3fXpXQp/eOaiAY8eVIk/JZX4Ood3FFMSGa8= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.7 h1:Nyfbgei75bohfmZNxgN27i528dGYVzqWJGlAO6lzXy8= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.7/go.mod h1:FG4p/DciRxPgjA+BEOlwRHN0iA8hX2h9g5buSy3cTDA= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.55.0 h1:nMhvHZ3rqAVJEf6nQzhPFJxd1Ta2V5irglgO6LxefZQ= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.55.0/go.mod h1:vcK9C11qfED/CA+tpAVXNzUNdHMIi6YkG2SY4rJeWzQ= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.5 h1:nwqNHhr5lUPJu7+xguOlyHzT8/mWvzq/sAalls7Z2lg= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.5/go.mod h1:5ouEhyGzNtLjT3iWieBp4haVCzL3O+L/WACksBRvGmc= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.7 h1:nwt36WJvLlHVvWsMJ6I9kXL9PDdHymiMX1wGbC9XV70= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.7/go.mod h1:ebAPCdcVdlTh+1dJqKJZ9nqaaW9fvVmUsDhgd5mu5uU= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.7 h1:5wifyBACWZHZQ2Qgfs4rhJn5+pDDwLADqPKZDjdrhuY= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.7/go.mod h1:yKI83wCV2CPuFQC8xrt8pzAiemWUsz7NKFZEOJBO+Og= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.7 h1:uUMAVnxMbdZNkIYjSa0x33AQQ7d/FctnXacslwqHV20= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.7/go.mod h1:6lOlu/wGdOPV5TwZ4gPZWDb0y1PtzN+jaUWL++ocCx8= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7 h1:GfXWwM9/iEJVcWQaMu22YzBeGQnY6zjiZD556awNJBA= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7/go.mod h1:YMM+e0OfZQVBpTJs+WNZWP/hdodeWnepXgancR5NFFw= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7 h1:MpCqFu4StEaeuKFfcfHBr+a6I2ZG+GgiNZqKa5gBHI8= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7/go.mod h1:Idae0gtkk4euj6ncytZGgDkkyZKmkFasf1mbZZ0RA6s= +github.com/aws/aws-sdk-go-v2/service/ses v1.29.1 h1:2e4bmSER1FF330Xu8p0nwnV4Ctdb0VzLQPUV15xs3iY= +github.com/aws/aws-sdk-go-v2/service/ses v1.29.1/go.mod h1:axmD03yvc8MIBcQkETvptcdw+wySwdc8MpYzQixku2w= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4 h1:6qEG7Ee2TgPtiCRMyK0VK5ZCh5GXdsyXSpcbE+tPjpA= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4/go.mod h1:dI4OVSVcgeQXlqjRN8zspZVtYxmDis1rZwpopBeu3dc= +github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1 h1:EsBALm4m1lGz5riWufNKWguTFOt7Nze7m0wVIzIq8wU= +github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1/go.mod h1:svXjjW4/t8lsSJa4+AUxYPevCzfw3m+z8sk4XcSsosU= +github.com/aws/aws-sdk-go-v2/service/shield v1.29.7 h1:S4nh0xUMZyNkhm7R5r2ITaa966JUYklMGug5LQHWefk= +github.com/aws/aws-sdk-go-v2/service/shield v1.29.7/go.mod h1:YebUyWBs2+7W+ybtLOJp/cvCqi9pqIwS8J2Zkn70Tls= +github.com/aws/aws-sdk-go-v2/service/signer v1.26.7 h1:lFV4EORSh0nyu8KkVp6Esw9A4nQqJ7kKdJT4IB7ods0= +github.com/aws/aws-sdk-go-v2/service/signer v1.26.7/go.mod h1:SVmnmYEocWBuQQhmyACYG1nDoWaMUpBQsgUkPa9v6WU= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.7 h1:N3o8mXK6/MP24BtD9sb51omEO9J9cgPM3Ughc293dZc= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.7/go.mod h1:AAHZydTB8/V2zn3WNwjLXBK1RAcSEpDNmFfrmjvrJQg= +github.com/aws/aws-sdk-go-v2/service/sqs v1.37.2 h1:mFLfxLZB/TVQwNJAYox4WaxpIu+dFVIcExrmRmRCOhw= +github.com/aws/aws-sdk-go-v2/service/sqs v1.37.2/go.mod h1:GnvfTdlvcpD+or3oslHPOn4Mu6KaCwlCp+0p0oqWnrM= +github.com/aws/aws-sdk-go-v2/service/ssm v1.56.1 h1:cfVjoEwOMOJOI6VoRQua0nI0KjZV9EAnR8bKaMeSppE= +github.com/aws/aws-sdk-go-v2/service/ssm v1.56.1/go.mod h1:fGHwAnTdNrLKhgl+UEeq9uEL4n3Ng4MJucA+7Xi3sC4= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.7 h1:9C399gf+xBWcnc88jYMdJXuDIUD4Cx0GgWgNwLkw7sQ= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.7/go.mod h1:s66Ty5zVYIbHuUl9Qv1jKyGPviLi1JCyMUITScR9eTs= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.7 h1:oaL9ihEn6IFAj7B2TMsHl5FWDD7mtzVP4cLuAixRZyA= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.7/go.mod h1:V8XcDjqhMDjAKPMbMVHhIdlxq4XmE38TrCnUPqVc7UE= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.1 h1:VVR6LIH9dWS+yjm65SirUAOq/AslPI0pHyKAcYblDBQ= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.1/go.mod h1:T8ZPwRPFsWMZRMdGRI8A//XEB8LO6rmg10HzcdJtPQI= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.7 h1:G/RD7kQlR7Kn+4zkXDX2zNGI35h+vITgfxXR836n3nY= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.7/go.mod h1:S74L321WjjyiND/iV5Ogc6FTPVKFlWfdvHu4kg3Wl8U= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 h1:rLnYAfXQ3YAccocshIH5mzNNwZBkBo+bP6EhIxak6Hw= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.7/go.mod h1:ZHtuQJ6t9A/+YDuxOLnbryAmITtr8UysSny3qcyvJTc= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.7 h1:X+5QChV4btPAoTpQ/GAcEJ1tCrpO6Y8X4C5CG11WNWI= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.7/go.mod h1:LYMBcQuhPc6czFaQpYC9JAcEcMf1DNVie4YHg6iC240= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 h1:JnhTZR3PiYDNKlXy50/pNeix9aGMo6lLpXwJ1mw8MD4= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6/go.mod h1:URronUEGfXZN1VpdktPSD1EkAL9mfrV+2F4sjH38qOY= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.7 h1:InM09Qs5JI3JIAFhn+rSUCntQYzxCWjxbhO4ClleGK0= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.7/go.mod h1:ilUpGJkGtgY4Wm/A0RMUualrpaLeNqKVK+v6IneCKEU= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 h1:s4074ZO1Hk8qv65GqNXqDjmkf4HSQqJukaLuuW0TpDA= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.2/go.mod h1:mVggCnIWoM09jP71Wh+ea7+5gAp53q+49wDFs1SW5z8= +github.com/aws/aws-sdk-go-v2/service/swf v1.27.8 h1:uOj2sgPJAhL/SGgWo+eXS6BwzSvf1b1aU7j3EXjnk88= +github.com/aws/aws-sdk-go-v2/service/swf v1.27.8/go.mod h1:AvLsUcEcGmH2QWmwosGAMkBqRrsI0Jr2x92clBtul9s= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2 h1:k/jiEnfNxjWewwhKbdqkvrOo/AIyQTPgaAxTy/nqYJU= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2/go.mod h1:S/mI+GqL6A6JNbKqu0M9qKop3LOE6X96OzXdJX0rO6w= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1 h1:eJp5OnMaO41jYGwemZSOtmWf2g/TSAYfWEQDfZ6yBP4= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1/go.mod h1:izz7C90kWSbYfURLt+atG6pdCvOP3AFjGEznRf0YgGw= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7 h1:JQUps7DzFbYEAHZb6O9xJCAU1GVN396Vu0Pjj9VoGPc= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7/go.mod h1:oIpMQLOrjkZVCZl0ff5cDgE/zZuFE4PwVb61+2fkELk= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8 h1:chzp64fl/hknlRR9jlstQDB4bYaf848v7KmzUB13omA= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8/go.mod h1:6r72p62vXJL+0VTgk9rVV7i9+C0qTcx+HuL56XT9Pus= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7 h1:KJ5CkGw76hEoR66sJRZFgiRGxtybWGuQgvnJ+Q6qTtA= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7/go.mod h1:BwUrZHaN6ruqmc8+b12wWhJ6fHqLrkZ0Z214feUqWWM= +github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0 h1:IA34IDWH2ooVUIPOidlQL1wZLej8QbcaZsYVgeRiA6w= +github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0/go.mod h1:UV0UI3xdWUkyarrq5gViMKtXx4EWBKQsSpPxc+rdJCA= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3 h1:3HJY3Fym+WfG/BQmrrGq5hS80th6Vlx3VM2ZyaH41Lo= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3/go.mod h1:myoi8VQCWyHnkfxRjkM1H5lFQilgGXbU2ulwAVqxeow= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0 h1:UvZSATW4nNWJFzsBmgVvosdrlLTPgtpaDfra2afaSlk= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0/go.mod h1:LLTXSn+ChGS/Ejt+akSlR0QBJ2VJVibiKQfp/IovK7Q= +github.com/aws/aws-sdk-go-v2/service/waf v1.25.7 h1:QatDy5lb2iXs9GPxuPSRDogX2HesmmUXu0GCDCQ7exQ= +github.com/aws/aws-sdk-go-v2/service/waf v1.25.7/go.mod h1:Jx83wxDXt4tq2UEhy4ODhqgpb6NBkQRs4TSkcHfBPcg= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7 h1:9V+YZqYy+FvDzZF16xXE7IWYlNWJKurMay7HC+ZGm0A= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7/go.mod h1:gB1OOPydtleVh7rcCj8fgoNfi6/4chzyP6aereNH3tA= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.6 h1:cK66ajiEQ2+eVezj6SMetpTohM1TuR94nPXGbGGCHaI= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.6/go.mod h1:HSfXIyNzPY6UIB37eFe76S4f/YyQPbuoovY+JhEy1x8= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7 h1:e4VW/f+S98RAKzHZT9+gPqFhNELSobBcgVZOTl23C/o= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7/go.mod h1:X1zN/DRROy1bpTCMdQqVLd4/hLaM3GbMhVURUW8F8mA= github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2 h1:VN3Qydtdl3UlJRHVxQxSP1d8I5gtvT5zdaCCAfZST7Y= github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2/go.mod h1:Z3RLpIq4q49syd921XdsKeD584kPu89iKTEjluh7908= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.1 h1:c974+tQIdxp/CoNWQfG6JWc90dgZDnup8/k8M0aR4+U= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.1/go.mod h1:ZKS7KNf+/ecd+vfEVnfee4ZKg09jrB6/14Qnf79Y+so= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.0 h1:H5JtZI/cuMrzvzl44q542vCr3w3EHlYl5+0ac9MdAik= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.0/go.mod h1:NgEGK1Ex63erNYNTWMenNczoi8/nguJvIvobKYp1LQ8= -github.com/aws/aws-sdk-go-v2/service/xray v1.30.0 h1:3kGcueLqlC3x5LqVWgckz38Kd5pHqpzhVC95beoZVyI= -github.com/aws/aws-sdk-go-v2/service/xray v1.30.0/go.mod h1:+wep8ElVmvR0bCsQ1SQWMKhAlA3+Ks0+uitEfYQ8zO8= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2 h1:VfPamxDTVfbKWP3UPDt3iJ8msHkHfIvqZNUhLjtGD9Q= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2/go.mod h1:OX0I9k3wOSsRCrdqAUOVEDLHupani0n+UJ80TY0fIWc= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1 h1:PrMt4dBsy0rdfuMcFYlqOQNSgHmF+gCGbV0M/8MbYd8= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1/go.mod h1:pwgFCLPLVoTNXQxG6LZdpXBGMr2wmVZBDci+yfuGZi8= +github.com/aws/aws-sdk-go-v2/service/xray v1.30.1 h1:BqsNRmYVd9CLJtcTwlJftM5oCsmuHcKm8ajJjYscP0Q= +github.com/aws/aws-sdk-go-v2/service/xray v1.30.1/go.mod h1:4XSKiCaqUPZUSQwLQCAzVVCEYJZKMzHF2s36fCTTirk= github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -2602,8 +2602,8 @@ github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4 github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty v1.14.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= -github.com/zclconf/go-cty v1.15.0 h1:tTCRWxsexYUmtt/wVxgDClUe+uQusuI443uL6e+5sXQ= -github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +github.com/zclconf/go-cty v1.15.1 h1:RgQYm4j2EvoBRXOPxhUvxPzRrGDo1eCOhHXuGfrj5S0= +github.com/zclconf/go-cty v1.15.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= @@ -3413,8 +3413,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 h1:LWZqQOEjDyONlF1H6afSWpAL/znlREo2tHfLoe+8LMA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= diff --git a/patches/0002-Add-S3-legacy-bucket-to-resources.patch b/patches/0002-Add-S3-legacy-bucket-to-resources.patch index ad274dc832e..2da8379adca 100644 --- a/patches/0002-Add-S3-legacy-bucket-to-resources.patch +++ b/patches/0002-Add-S3-legacy-bucket-to-resources.patch @@ -39,7 +39,7 @@ index b048f661fe..b6521d3f55 100644 provider.ConfigureContextFunc = func(ctx context.Context, d *schema.ResourceData) (interface{}, diag.Diagnostics) { diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go new file mode 100644 -index 0000000000..fd117b2971 +index 0000000000..cd2a293a73 --- /dev/null +++ b/internal/service/s3legacy/bucket_legacy.go @@ -0,0 +1,3030 @@ @@ -80,10 +80,10 @@ index 0000000000..fd117b2971 + +func ResourceBucketLegacy() *schema.Resource { + return &schema.Resource{ -+ Create: resourceBucketLegacyCreate, -+ Read: resourceBucketLegacyRead, -+ Update: resourceBucketLegacyUpdate, -+ Delete: resourceBucketLegacyDelete, ++ CreateContext: resourceBucketLegacyCreate, ++ ReadContext: resourceBucketLegacyRead, ++ UpdateContext: resourceBucketLegacyUpdate, ++ DeleteContext: resourceBucketLegacyDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, @@ -715,7 +715,7 @@ index 0000000000..fd117b2971 + } +} + -+func resourceBucketLegacyCreate(d *schema.ResourceData, meta interface{}) error { ++func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) error { + conn := meta.(*conns.AWSClient).S3Conn() + + // Get the bucket and acl @@ -741,7 +741,7 @@ index 0000000000..fd117b2971 + log.Printf("[DEBUG] S3 bucket %s has canned ACL %s", bucket, acl) + } + -+ awsRegion := meta.(*conns.AWSClient).Region ++ awsRegion := meta.(*conns.AWSClient).Region(ctx) + log.Printf("[DEBUG] S3 bucket create: %s, using region: %s", bucket, awsRegion) + + // Special case us-east-1 region and do not set the LocationConstraint. @@ -785,10 +785,10 @@ index 0000000000..fd117b2971 + + // Assign the bucket name as the resource ID + d.SetId(bucket) -+ return resourceBucketLegacyUpdate(d, meta) ++ return resourceBucketLegacyUpdate(ctx, d, meta) +} + -+func resourceBucketLegacyUpdate(d *schema.ResourceData, meta interface{}) error { ++func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) error { + conn := meta.(*conns.AWSClient).S3Conn() + + if d.HasChange("tags_all") { @@ -893,10 +893,10 @@ index 0000000000..fd117b2971 + } + } + -+ return resourceBucketLegacyRead(d, meta) ++ return resourceBucketLegacyRead(ctx, d, meta) +} + -+func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { ++func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta interface{}) error { + conn := meta.(*conns.AWSClient).S3Conn() + defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig + ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig @@ -1353,7 +1353,7 @@ index 0000000000..fd117b2971 + conf, err := readS3ObjectLockConfigurationLegacy(conn, d.Id()) + + // Object lock not supported in all partitions (extra guard, also guards in read func) -+ if err != nil && (meta.(*conns.AWSClient).Partition == endpoints.AwsPartitionID || meta.(*conns.AWSClient).Partition == endpoints.AwsUsGovPartitionID) { ++ if err != nil && (meta.(*conns.AWSClient).Partition(ctx) == endpoints.AwsPartitionID || meta.(*conns.AWSClient).Partition(ctx) == endpoints.AwsUsGovPartitionID) { + return fmt.Errorf("error getting S3 Bucket Object Lock configuration: %s", err) + } + @@ -1448,7 +1448,7 @@ index 0000000000..fd117b2971 + } + + arn := arn.ARN{ -+ Partition: meta.(*conns.AWSClient).Partition, ++ Partition: meta.(*conns.AWSClient).Partition(ctx), + Service: "s3", + Resource: d.Id(), + }.String() @@ -1457,7 +1457,7 @@ index 0000000000..fd117b2971 + return nil +} + -+func resourceBucketLegacyDelete(d *schema.ResourceData, meta interface{}) error { ++func resourceBucketLegacyDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) error { + conn := meta.(*conns.AWSClient).S3Conn() + + log.Printf("[DEBUG] S3 Delete Bucket: %s", d.Id()) @@ -1493,7 +1493,7 @@ index 0000000000..fd117b2971 + } + + // this line recurses until all objects are deleted or an error is returned -+ return resourceBucketLegacyDelete(d, meta) ++ return resourceBucketLegacyDelete(ctx, d, meta) + } + } + diff --git a/patches/0003-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch b/patches/0003-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch index 17edfd301d6..8897ab70d21 100644 --- a/patches/0003-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch +++ b/patches/0003-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch @@ -10,7 +10,7 @@ appears in pulumi as `aws.s3.Bucket` and is likely the default version of the Bucket resource that users will use. diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index fd117b2971..56eed6e0f0 100644 +index cd2a293a73..b1dc400249 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go @@ -572,6 +572,7 @@ func ResourceBucketLegacy() *schema.Resource { diff --git a/patches/0007-Add-EKS-cluster-certificate_authorities-plural.patch b/patches/0007-Add-EKS-cluster-certificate_authorities-plural.patch index 3da918c183f..0fe78eff74e 100644 --- a/patches/0007-Add-EKS-cluster-certificate_authorities-plural.patch +++ b/patches/0007-Add-EKS-cluster-certificate_authorities-plural.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EKS cluster certificate_authorities (plural) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go -index b0c38464ec..918c12e0e2 100644 +index 43bb45fcab..e628f09cef 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go -@@ -98,9 +98,24 @@ func resourceCluster() *schema.Resource { +@@ -99,9 +99,24 @@ func resourceCluster() *schema.Resource { ForceNew: true, Default: true, }, @@ -33,7 +33,7 @@ index b0c38464ec..918c12e0e2 100644 Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "data": { -@@ -473,6 +488,13 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta inter +@@ -606,6 +621,13 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta inter } d.Set(names.AttrARN, cluster.Arn) d.Set("bootstrap_self_managed_addons", d.Get("bootstrap_self_managed_addons")) diff --git a/patches/0015-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch b/patches/0015-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch index bc127c8d7ce..b1bcf0bb459 100644 --- a/patches/0015-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch +++ b/patches/0015-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch @@ -300,7 +300,7 @@ index 28d15ecf5e..8c1189199f 100644 return nil diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index 56eed6e0f0..69cdf81c1e 100644 +index b1dc400249..0e1e17baa3 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go @@ -20,6 +20,7 @@ import ( @@ -315,10 +315,10 @@ index 56eed6e0f0..69cdf81c1e 100644 func ResourceBucketLegacy() *schema.Resource { return &schema.Resource{ -- Create: resourceBucketLegacyCreate, -- Read: resourceBucketLegacyRead, -- Update: resourceBucketLegacyUpdate, -- Delete: resourceBucketLegacyDelete, +- CreateContext: resourceBucketLegacyCreate, +- ReadContext: resourceBucketLegacyRead, +- UpdateContext: resourceBucketLegacyUpdate, +- DeleteContext: resourceBucketLegacyDelete, + CreateWithoutTimeout: resourceBucketLegacyCreate, + ReadWithoutTimeout: resourceBucketLegacyRead, + UpdateWithoutTimeout: resourceBucketLegacyUpdate, @@ -330,12 +330,12 @@ index 56eed6e0f0..69cdf81c1e 100644 } } --func resourceBucketLegacyCreate(d *schema.ResourceData, meta interface{}) error { +-func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) error { +func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).S3Conn() // Get the bucket and acl -@@ -709,7 +710,7 @@ func resourceBucketLegacyCreate(d *schema.ResourceData, meta interface{}) error +@@ -709,7 +710,7 @@ func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, met } if err := ValidBucketNameLegacy(bucket, awsRegion); err != nil { @@ -344,7 +344,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } // S3 Object Lock can only be enabled on bucket creation. -@@ -736,15 +737,15 @@ func resourceBucketLegacyCreate(d *schema.ResourceData, meta interface{}) error +@@ -736,7 +737,7 @@ func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, met _, err = conn.CreateBucket(req) } if err != nil { @@ -353,17 +353,16 @@ index 56eed6e0f0..69cdf81c1e 100644 } // Assign the bucket name as the resource ID - d.SetId(bucket) -- return resourceBucketLegacyUpdate(d, meta) -+ return resourceBucketLegacyUpdate(ctx, d, meta) +@@ -744,7 +745,7 @@ func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, met + return resourceBucketLegacyUpdate(ctx, d, meta) } --func resourceBucketLegacyUpdate(d *schema.ResourceData, meta interface{}) error { +-func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) error { +func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).S3Conn() if d.HasChange("tags_all") { -@@ -756,25 +757,25 @@ func resourceBucketLegacyUpdate(d *schema.ResourceData, meta interface{}) error +@@ -756,25 +757,25 @@ func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, met return nil, terr }) if err != nil { @@ -393,7 +392,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } } -@@ -785,74 +786,74 @@ func resourceBucketLegacyUpdate(d *schema.ResourceData, meta interface{}) error +@@ -785,74 +786,74 @@ func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, met if versioning := expandVersioningWhenIsNewResourceLegacy(v); versioning != nil { err := resourceBucketLegacyVersioningUpdate(conn, d.Id(), versioning) if err != nil { @@ -473,16 +472,15 @@ index 56eed6e0f0..69cdf81c1e 100644 } } -- return resourceBucketLegacyRead(d, meta) -+ return resourceBucketLegacyRead(ctx, d, meta) + return resourceBucketLegacyRead(ctx, d, meta) } --func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +-func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta interface{}) error { +func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).S3Conn() defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig -@@ -896,7 +897,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -896,7 +897,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta } if err != nil { @@ -491,7 +489,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } // In the import case, we won't have this -@@ -917,24 +918,24 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -917,24 +918,24 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta log.Printf("[DEBUG] S3 bucket: %s, read policy: %v", d.Id(), pol) if err != nil { if err := d.Set("policy", ""); err != nil { @@ -520,7 +518,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } d.Set("policy", policyToSet) -@@ -945,7 +946,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -945,7 +946,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta //Read the Grant ACL. Reset if `acl` (canned ACL) is set. if acl, ok := d.GetOk("acl"); ok && acl.(string) != "private" { if err := d.Set("grant", nil); err != nil { @@ -529,7 +527,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } } else { apResponse, err := retryOnAWSCode("NoSuchBucket", func() (interface{}, error) { -@@ -954,12 +955,12 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -954,12 +955,12 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) }) if err != nil { @@ -544,7 +542,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } } -@@ -970,7 +971,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -970,7 +971,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) }) if err != nil && !tfawserr.ErrMessageContains(err, "NoSuchCORSConfiguration", "") { @@ -553,7 +551,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } corsRules := make([]map[string]interface{}, 0) -@@ -992,7 +993,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -992,7 +993,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta } } if err := d.Set("cors_rule", corsRules); err != nil { @@ -562,7 +560,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } // Read the website configuration -@@ -1002,7 +1003,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1002,7 +1003,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) }) if err != nil && !tfawserr.ErrMessageContains(err, "NotImplemented", "") && !tfawserr.ErrMessageContains(err, "NoSuchWebsiteConfiguration", "") { @@ -571,7 +569,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } websites := make([]map[string]interface{}, 0, 1) -@@ -1046,7 +1047,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1046,7 +1047,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta if v := ws.RoutingRules; v != nil { rr, err := normalizeRoutingRulesLegacy(v) if err != nil { @@ -580,7 +578,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } w["routing_rules"] = rr } -@@ -1058,7 +1059,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1058,7 +1059,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta } } if err := d.Set("website", websites); err != nil { @@ -589,7 +587,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } // Read the versioning configuration -@@ -1070,12 +1071,12 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1070,12 +1071,12 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) if err != nil { @@ -604,7 +602,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } } -@@ -1089,7 +1090,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1089,7 +1090,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta // Amazon S3 Transfer Acceleration might not be supported in the region if err != nil && !tfawserr.ErrMessageContains(err, "MethodNotAllowed", "") && !tfawserr.ErrMessageContains(err, "UnsupportedArgument", "") { @@ -613,7 +611,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } if accelerate, ok := accelerateResponse.(*s3.GetBucketAccelerateConfigurationOutput); ok { d.Set("acceleration_status", accelerate.Status) -@@ -1104,7 +1105,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1104,7 +1105,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) if err != nil { @@ -622,7 +620,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } if payer, ok := payerResponse.(*s3.GetBucketRequestPaymentOutput); ok { -@@ -1119,7 +1120,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1119,7 +1120,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) if err != nil { @@ -631,7 +629,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } lcl := make([]map[string]interface{}, 0, 1) -@@ -1135,7 +1136,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1135,7 +1136,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta lcl = append(lcl, lc) } if err := d.Set("logging", lcl); err != nil { @@ -640,7 +638,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } // Read the lifecycle configuration -@@ -1146,7 +1147,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1146,7 +1147,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) }) if err != nil && !tfawserr.ErrMessageContains(err, "NoSuchLifecycleConfiguration", "") { @@ -649,7 +647,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } lifecycleRules := make([]map[string]interface{}, 0) -@@ -1264,7 +1265,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1264,7 +1265,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta } } if err := d.Set("lifecycle_rule", lifecycleRules); err != nil { @@ -658,7 +656,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } // Read the bucket replication configuration -@@ -1275,7 +1276,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1275,7 +1276,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) }) if err != nil && !tfawserr.ErrMessageContains(err, "ReplicationConfigurationNotFoundError", "") { @@ -667,7 +665,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } replicationConfiguration := make([]map[string]interface{}, 0) -@@ -1283,7 +1284,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1283,7 +1284,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta replicationConfiguration = flattenBucketReplicationConfigurationLegacy(replication.ReplicationConfiguration) } if err := d.Set("replication_configuration", replicationConfiguration); err != nil { @@ -676,7 +674,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } // Read the bucket server side encryption configuration -@@ -1294,7 +1295,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1294,7 +1295,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) }) if err != nil && !tfawserr.ErrMessageContains(err, "ServerSideEncryptionConfigurationNotFoundError", "encryption configuration was not found") { @@ -685,7 +683,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } serverSideEncryptionConfiguration := make([]map[string]interface{}, 0) -@@ -1302,7 +1303,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1302,7 +1303,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta serverSideEncryptionConfiguration = flattenServerSideEncryptionConfigurationLegacy(encryption.ServerSideEncryptionConfiguration) } if err := d.Set("server_side_encryption_configuration", serverSideEncryptionConfiguration); err != nil { @@ -694,16 +692,16 @@ index 56eed6e0f0..69cdf81c1e 100644 } // Object Lock configuration. -@@ -1310,7 +1311,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1310,7 +1311,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta // Object lock not supported in all partitions (extra guard, also guards in read func) - if err != nil && (meta.(*conns.AWSClient).Partition == endpoints.AwsPartitionID || meta.(*conns.AWSClient).Partition == endpoints.AwsUsGovPartitionID) { + if err != nil && (meta.(*conns.AWSClient).Partition(ctx) == endpoints.AwsPartitionID || meta.(*conns.AWSClient).Partition(ctx) == endpoints.AwsUsGovPartitionID) { - return fmt.Errorf("error getting S3 Bucket Object Lock configuration: %s", err) + return diag.Errorf("error getting S3 Bucket Object Lock configuration: %s", err) } if err != nil { -@@ -1319,7 +1320,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1319,7 +1320,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta if err == nil { if err := d.Set("object_lock_configuration", conf); err != nil { @@ -712,7 +710,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } } -@@ -1340,18 +1341,18 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1340,18 +1341,18 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) }) if err != nil { @@ -734,7 +732,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } d.Set("bucket_regional_domain_name", regionalEndpoint) -@@ -1366,14 +1367,14 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1366,14 +1367,14 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta // Add website_endpoint as an attribute websiteEndpoint, err := websiteLegacyEndpoint(meta.(*conns.AWSClient), d) if err != nil { @@ -752,7 +750,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } } -@@ -1383,24 +1384,24 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1383,24 +1384,24 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta }) if err != nil { @@ -781,16 +779,16 @@ index 56eed6e0f0..69cdf81c1e 100644 } arn := arn.ARN{ -@@ -1413,7 +1414,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1413,7 +1414,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta return nil } --func resourceBucketLegacyDelete(d *schema.ResourceData, meta interface{}) error { +-func resourceBucketLegacyDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) error { +func resourceBucketLegacyDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).S3Conn() log.Printf("[DEBUG] S3 Delete Bucket: %s", d.Id()) -@@ -1445,28 +1446,28 @@ func resourceBucketLegacyDelete(d *schema.ResourceData, meta interface{}) error +@@ -1445,7 +1446,7 @@ func resourceBucketLegacyDelete(ctx context.Context, d *schema.ResourceData, met err = DeleteAllObjectVersions(conn, d.Id(), "", objectLockEnabled, false) if err != nil { @@ -799,9 +797,7 @@ index 56eed6e0f0..69cdf81c1e 100644 } // this line recurses until all objects are deleted or an error is returned -- return resourceBucketLegacyDelete(d, meta) -+ return resourceBucketLegacyDelete(ctx, d, meta) - } +@@ -1454,19 +1455,19 @@ func resourceBucketLegacyDelete(ctx context.Context, d *schema.ResourceData, met } if err != nil { diff --git a/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch b/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch index 99ace38b368..988d61a1dd2 100644 --- a/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch +++ b/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch @@ -70,7 +70,7 @@ index 5466936547..526c40e604 100644 names.AttrName: { Type: schema.TypeString, diff --git a/internal/service/ec2/vpc_security_group.go b/internal/service/ec2/vpc_security_group.go -index 90c2074895..aac8fcca0a 100644 +index 82b8dae6e7..a89db0b86d 100644 --- a/internal/service/ec2/vpc_security_group.go +++ b/internal/service/ec2/vpc_security_group.go @@ -69,7 +69,7 @@ func resourceSecurityGroup() *schema.Resource { @@ -252,7 +252,7 @@ index 646add5ad8..2731f4e425 100644 names.AttrName: { Type: schema.TypeString, diff --git a/internal/service/redshift/parameter_group.go b/internal/service/redshift/parameter_group.go -index 54483a2277..7136f7ee2e 100644 +index 0552e455d6..d413e1baf8 100644 --- a/internal/service/redshift/parameter_group.go +++ b/internal/service/redshift/parameter_group.go @@ -51,7 +51,7 @@ func resourceParameterGroup() *schema.Resource { @@ -265,7 +265,7 @@ index 54483a2277..7136f7ee2e 100644 names.AttrFamily: { Type: schema.TypeString, diff --git a/internal/service/redshift/subnet_group.go b/internal/service/redshift/subnet_group.go -index f1663cad7c..5b92c74913 100644 +index d95746d343..47390e9d5b 100644 --- a/internal/service/redshift/subnet_group.go +++ b/internal/service/redshift/subnet_group.go @@ -46,7 +46,7 @@ func resourceSubnetGroup() *schema.Resource { @@ -309,7 +309,7 @@ index c190462b1f..580e21ede5 100644 HostedZoneId: aws.String(zoneID), } diff --git a/internal/service/route53/zone.go b/internal/service/route53/zone.go -index b7e095ce90..daacde5227 100644 +index 400486c2e4..74417dc9cb 100644 --- a/internal/service/route53/zone.go +++ b/internal/service/route53/zone.go @@ -52,7 +52,7 @@ func resourceZone() *schema.Resource { @@ -322,7 +322,7 @@ index b7e095ce90..daacde5227 100644 }, "delegation_set_id": { diff --git a/internal/service/route53/zone_association.go b/internal/service/route53/zone_association.go -index 9223463906..943ab16d4f 100644 +index 6bf4c1ef12..19c08a7250 100644 --- a/internal/service/route53/zone_association.go +++ b/internal/service/route53/zone_association.go @@ -74,7 +74,7 @@ func resourceZoneAssociationCreate(ctx context.Context, d *schema.ResourceData, diff --git a/patches/0023-Provide-context-to-conns.patch b/patches/0023-Provide-context-to-conns.patch index c26bcd016a0..0d314882f65 100644 --- a/patches/0023-Provide-context-to-conns.patch +++ b/patches/0023-Provide-context-to-conns.patch @@ -143,7 +143,7 @@ index 54b86a0426..d9f2424b7a 100644 _, err := conn.DeleteMatchmakingRuleSet(&gamelift.DeleteMatchmakingRuleSetInput{ Name: aws.String(d.Id()), diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index 69cdf81c1e..575767763b 100644 +index 0e1e17baa3..dc93531e67 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go @@ -673,7 +673,7 @@ func ResourceBucketLegacy() *schema.Resource { diff --git a/patches/0024-Match-the-tags-behavior-of-other-resources.patch b/patches/0024-Match-the-tags-behavior-of-other-resources.patch index 83cb85cc747..51b53456f2b 100644 --- a/patches/0024-Match-the-tags-behavior-of-other-resources.patch +++ b/patches/0024-Match-the-tags-behavior-of-other-resources.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Match the "tags" behavior of other resources diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index 575767763b..007c2f2dc1 100644 +index dc93531e67..1da08293c4 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go @@ -31,6 +31,7 @@ import ( diff --git a/patches/0026-Restore-S3ConnURICleaningDisabled.patch b/patches/0026-Restore-S3ConnURICleaningDisabled.patch index ae66b9b36ca..9d1b9582ada 100644 --- a/patches/0026-Restore-S3ConnURICleaningDisabled.patch +++ b/patches/0026-Restore-S3ConnURICleaningDisabled.patch @@ -4,19 +4,6 @@ Date: Tue, 9 Apr 2024 15:24:26 -0400 Subject: [PATCH] Restore S3ConnURICleaningDisabled -diff --git a/internal/conns/awsclient.go b/internal/conns/awsclient.go -index 8f0be78764..627fbb1da1 100644 ---- a/internal/conns/awsclient.go -+++ b/internal/conns/awsclient.go -@@ -208,7 +208,7 @@ func (c *AWSClient) DefaultKMSKeyPolicy(ctx context.Context) string { - "Resource": "*" - } - ] --} -+} - `, c.Partition(ctx), c.AccountID) - } - diff --git a/internal/conns/awsclient_extra.go b/internal/conns/awsclient_extra.go new file mode 100644 index 0000000000..96c809fc47 diff --git a/patches/0027-Do-not-compute-tags_all-at-TF-level.patch b/patches/0027-Do-not-compute-tags_all-at-TF-level.patch index 6e365922575..2c4fe408eda 100644 --- a/patches/0027-Do-not-compute-tags_all-at-TF-level.patch +++ b/patches/0027-Do-not-compute-tags_all-at-TF-level.patch @@ -127,7 +127,7 @@ index 737b09ac5a..f966d8ed3e 100644 Computed: true, PlanModifiers: []planmodifier.String{ diff --git a/internal/service/ec2/vpc_security_group_ingress_rule.go b/internal/service/ec2/vpc_security_group_ingress_rule.go -index ffecce9792..04b1831152 100644 +index 7f4a4c5f04..972c372323 100644 --- a/internal/service/ec2/vpc_security_group_ingress_rule.go +++ b/internal/service/ec2/vpc_security_group_ingress_rule.go @@ -228,7 +228,7 @@ func (r *securityGroupRuleResource) Schema(ctx context.Context, request resource @@ -166,7 +166,7 @@ index e2dfcda3c8..e524fcad2d 100644 Optional: true, Computed: true, diff --git a/internal/service/quicksight/namespace.go b/internal/service/quicksight/namespace.go -index 4600c7d8bb..d54aa76a29 100644 +index 404f657e01..ceb29112cf 100644 --- a/internal/service/quicksight/namespace.go +++ b/internal/service/quicksight/namespace.go @@ -98,7 +98,7 @@ func (r *namespaceResource) Schema(ctx context.Context, req resource.SchemaReque @@ -179,7 +179,7 @@ index 4600c7d8bb..d54aa76a29 100644 Blocks: map[string]schema.Block{ names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ diff --git a/internal/service/quicksight/vpc_connection.go b/internal/service/quicksight/vpc_connection.go -index 5db0e656ab..e27aea658b 100644 +index 8607c6dc0d..eb2e74d1d6 100644 --- a/internal/service/quicksight/vpc_connection.go +++ b/internal/service/quicksight/vpc_connection.go @@ -141,7 +141,7 @@ func (r *vpcConnectionResource) Schema(ctx context.Context, req resource.SchemaR diff --git a/patches/0028-aws_eks_cluster-implement-default_addons_to_remove.patch b/patches/0028-aws_eks_cluster-implement-default_addons_to_remove.patch index efb95098c00..105005e4734 100644 --- a/patches/0028-aws_eks_cluster-implement-default_addons_to_remove.patch +++ b/patches/0028-aws_eks_cluster-implement-default_addons_to_remove.patch @@ -5,10 +5,10 @@ Subject: [PATCH] aws_eks_cluster: implement default_addons_to_remove diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go -index 918c12e0e2..a9e2a87c29 100644 +index e628f09cef..57b0a05dc9 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go -@@ -133,6 +133,13 @@ func resourceCluster() *schema.Resource { +@@ -161,6 +161,13 @@ func resourceCluster() *schema.Resource { Type: schema.TypeString, Computed: true, }, @@ -22,7 +22,7 @@ index 918c12e0e2..a9e2a87c29 100644 "enabled_cluster_log_types": { Type: schema.TypeSet, Optional: true, -@@ -456,7 +463,11 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta int +@@ -589,7 +596,11 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta int return sdkdiag.AppendErrorf(diags, "waiting for EKS Cluster (%s) create: %s", d.Id(), err) } diff --git a/patches/0032-Run-scripts-patch_computed_only.sh-to-patch-eks-pod_.patch b/patches/0032-Run-scripts-patch_computed_only.sh-to-patch-eks-pod_.patch index 4bfff344f6b..d2814888b9d 100644 --- a/patches/0032-Run-scripts-patch_computed_only.sh-to-patch-eks-pod_.patch +++ b/patches/0032-Run-scripts-patch_computed_only.sh-to-patch-eks-pod_.patch @@ -32,7 +32,7 @@ index ce583fa5c4..9fdeea49d8 100644 } } diff --git a/internal/service/s3control/access_grant.go b/internal/service/s3control/access_grant.go -index 6bd3274a3f..55ec1a948a 100644 +index 4f7e38caed..c3e235d110 100644 --- a/internal/service/s3control/access_grant.go +++ b/internal/service/s3control/access_grant.go @@ -102,7 +102,7 @@ func (r *accessGrantResource) Schema(ctx context.Context, request resource.Schem @@ -45,7 +45,7 @@ index 6bd3274a3f..55ec1a948a 100644 Blocks: map[string]schema.Block{ "access_grants_location_configuration": schema.ListNestedBlock{ diff --git a/internal/service/s3control/access_grants_instance.go b/internal/service/s3control/access_grants_instance.go -index 5f13ed2859..5a0e3e931b 100644 +index 24ce989902..7643c9f867 100644 --- a/internal/service/s3control/access_grants_instance.go +++ b/internal/service/s3control/access_grants_instance.go @@ -82,7 +82,7 @@ func (r *accessGrantsInstanceResource) Schema(ctx context.Context, request resou @@ -58,7 +58,7 @@ index 5f13ed2859..5a0e3e931b 100644 } } diff --git a/internal/service/s3control/access_grants_location.go b/internal/service/s3control/access_grants_location.go -index 9443dfb091..2f064132c3 100644 +index e29fdacea7..ebfe15e942 100644 --- a/internal/service/s3control/access_grants_location.go +++ b/internal/service/s3control/access_grants_location.go @@ -83,7 +83,7 @@ func (r *accessGrantsLocationResource) Schema(ctx context.Context, request resou diff --git a/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch index 8939f316518..af930864fbf 100644 --- a/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch +++ b/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch @@ -83,7 +83,7 @@ index 979de8b5bd..4c1f5dc706 100644 Blocks: map[string]schema.Block{ names.AttrActions: schema.SetNestedBlock{ diff --git a/internal/service/securitylake/data_lake.go b/internal/service/securitylake/data_lake.go -index 2a36dacdc9..56e99b5bc8 100644 +index 43fdbadef0..c894d522a4 100644 --- a/internal/service/securitylake/data_lake.go +++ b/internal/service/securitylake/data_lake.go @@ -75,7 +75,7 @@ func (r *dataLakeResource) Schema(ctx context.Context, request resource.SchemaRe diff --git a/patches/0037-Restore-legacy-bucket.patch b/patches/0037-Restore-legacy-bucket.patch index c0b1c09eca8..4cf7f006a80 100644 --- a/patches/0037-Restore-legacy-bucket.patch +++ b/patches/0037-Restore-legacy-bucket.patch @@ -116,7 +116,7 @@ index 0000000000..4278d1e70a + return conn, nil +} diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index 007c2f2dc1..b5b4c0477f 100644 +index 1da08293c4..76ce85df25 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go @@ -19,7 +19,6 @@ import ( @@ -136,16 +136,7 @@ index 007c2f2dc1..b5b4c0477f 100644 "github.com/hashicorp/terraform-provider-aws/internal/verify" ) -@@ -1309,7 +1308,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta - conf, err := readS3ObjectLockConfigurationLegacy(conn, d.Id()) - - // Object lock not supported in all partitions (extra guard, also guards in read func) -- if err != nil && (meta.(*conns.AWSClient).Partition == endpoints.AwsPartitionID || meta.(*conns.AWSClient).Partition == endpoints.AwsUsGovPartitionID) { -+ if err != nil && (meta.(*conns.AWSClient).Partition(ctx) == endpoints.AwsPartitionID || meta.(*conns.AWSClient).Partition(ctx) == endpoints.AwsUsGovPartitionID) { - return diag.Errorf("error getting S3 Bucket Object Lock configuration: %s", err) - } - -@@ -1393,11 +1392,11 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta +@@ -1393,7 +1392,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta } if inContext, ok := tftags.FromContext(ctx); ok { @@ -154,11 +145,6 @@ index 007c2f2dc1..b5b4c0477f 100644 } arn := arn.ARN{ -- Partition: meta.(*conns.AWSClient).Partition, -+ Partition: meta.(*conns.AWSClient).Partition(ctx), - Service: "s3", - Resource: d.Id(), - }.String() diff --git a/internal/service/s3legacy/object.go b/internal/service/s3legacy/object.go index f44b435af6..58f6e95d83 100644 --- a/internal/service/s3legacy/object.go diff --git a/patches/0039-Allow-creating-lambdas-without-code-related-properti.patch b/patches/0039-Allow-creating-lambdas-without-code-related-properti.patch index c10317bbb7a..dc0e8fad919 100644 --- a/patches/0039-Allow-creating-lambdas-without-code-related-properti.patch +++ b/patches/0039-Allow-creating-lambdas-without-code-related-properti.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow creating lambdas without code related properties diff --git a/internal/service/lambda/function.go b/internal/service/lambda/function.go -index cf1b3489ae..61d92d337b 100644 +index 5126ae9dd5..6f372e18a6 100644 --- a/internal/service/lambda/function.go +++ b/internal/service/lambda/function.go @@ -172,9 +172,9 @@ func resourceFunction() *schema.Resource { diff --git a/patches/0041-fix-legacy-bucket-context.patch b/patches/0041-fix-legacy-bucket-context.patch index 77a06792030..9460fe26c4b 100644 --- a/patches/0041-fix-legacy-bucket-context.patch +++ b/patches/0041-fix-legacy-bucket-context.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix legacy bucket context diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index b5b4c0477f..b0003ae2b3 100644 +index 76ce85df25..2fed6dc3e3 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go @@ -903,7 +903,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta diff --git a/patches/0047-update-apn-info.patch b/patches/0047-update-apn-info.patch index fda27d3f999..b7e066c4ab2 100644 --- a/patches/0047-update-apn-info.patch +++ b/patches/0047-update-apn-info.patch @@ -5,7 +5,7 @@ Subject: [PATCH] update apn info diff --git a/internal/conns/config.go b/internal/conns/config.go -index 8ee7c6d627..06ba95b4bb 100644 +index 771456c71f..2f807a732e 100644 --- a/internal/conns/config.go +++ b/internal/conns/config.go @@ -23,7 +23,6 @@ import ( diff --git a/patches/0048-non-idempotent-sns-topic-creation.patch b/patches/0048-non-idempotent-sns-topic-creation.patch index a2d6b6ae4ca..60ceed88e65 100644 --- a/patches/0048-non-idempotent-sns-topic-creation.patch +++ b/patches/0048-non-idempotent-sns-topic-creation.patch @@ -5,7 +5,7 @@ Subject: [PATCH] non-idempotent sns topic creation diff --git a/internal/service/sns/topic.go b/internal/service/sns/topic.go -index 4829f6aaa7..2b55e53cec 100644 +index 4829f6aaa7..18895e43f4 100644 --- a/internal/service/sns/topic.go +++ b/internal/service/sns/topic.go @@ -9,6 +9,7 @@ import ( @@ -37,7 +37,7 @@ index 4829f6aaa7..2b55e53cec 100644 + // that we prevent a race condition where two resources are created with + // the same name. + awsClient := meta.(*conns.AWSClient) -+ topicArn := constructTopicArn(conn, awsClient.AccountID, awsClient.Region, awsClient.Partition(ctx), name) ++ topicArn := constructTopicArn(conn, awsClient.AccountID(ctx), awsClient.Region(ctx), awsClient.Partition(ctx), name) + localMutex := &sync.Mutex{} + if val, ok := snsGlobalMutex.LoadOrStore(topicArn, localMutex); ok { + localMutex = val.(*sync.Mutex) diff --git a/patches/0050-Revert-r-aws_db_proxy-Change-auth-from-TypeList-to-T.patch b/patches/0050-Revert-r-aws_db_proxy-Change-auth-from-TypeList-to-T.patch index 90205807516..293e071e30b 100644 --- a/patches/0050-Revert-r-aws_db_proxy-Change-auth-from-TypeList-to-T.patch +++ b/patches/0050-Revert-r-aws_db_proxy-Change-auth-from-TypeList-to-T.patch @@ -57,7 +57,7 @@ index 008ebc180f..c326774548 100644 DebugLogging: aws.Bool(d.Get("debug_logging").(bool)), NewDBProxyName: aws.String(nName.(string)), diff --git a/internal/service/rds/proxy_test.go b/internal/service/rds/proxy_test.go -index c245b5f5ce..c39622b0aa 100644 +index 884f83084b..0856302c30 100644 --- a/internal/service/rds/proxy_test.go +++ b/internal/service/rds/proxy_test.go @@ -40,12 +40,13 @@ func TestAccRDSProxy_basic(t *testing.T) { @@ -69,7 +69,7 @@ index c245b5f5ce..c39622b0aa 100644 testAccCheckProxyExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttr(resourceName, "engine_family", "MYSQL"), - acctest.MatchResourceAttrRegionalARN(resourceName, names.AttrARN, "rds", regexache.MustCompile(`db-proxy:.+`)), + acctest.MatchResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "rds", regexache.MustCompile(`db-proxy:.+`)), resource.TestCheckResourceAttr(resourceName, "auth.#", "1"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "auth.*", map[string]string{ diff --git a/patches/0054-Parallelize-Lambda-Function-resource-operations.patch b/patches/0054-Parallelize-Lambda-Function-resource-operations.patch index a59fedce0cd..4c69e01d7b7 100644 --- a/patches/0054-Parallelize-Lambda-Function-resource-operations.patch +++ b/patches/0054-Parallelize-Lambda-Function-resource-operations.patch @@ -10,7 +10,7 @@ We think this was an optimization for a special edge case that drastically worsens the UX for the majority of users. diff --git a/internal/service/lambda/function.go b/internal/service/lambda/function.go -index 61d92d337b..269ebf6adf 100644 +index 6f372e18a6..94285306ef 100644 --- a/internal/service/lambda/function.go +++ b/internal/service/lambda/function.go @@ -36,7 +36,6 @@ import ( diff --git a/patches/0064-Adapt-gamelift-matchmaking-resources.patch b/patches/0064-Adapt-gamelift-matchmaking-resources.patch index 24a70302072..4a0780e9d92 100644 --- a/patches/0064-Adapt-gamelift-matchmaking-resources.patch +++ b/patches/0064-Adapt-gamelift-matchmaking-resources.patch @@ -255,7 +255,7 @@ index 89ecad9db0..5811f1f884 100644 for _, awsProperty := range awsProperties { property := map[string]string{ diff --git a/internal/service/gamelift/matchmaking_configuration_test.go b/internal/service/gamelift/matchmaking_configuration_test.go -index 6453fa75a0..480b62b36b 100644 +index 6453fa75a0..a5394fb536 100644 --- a/internal/service/gamelift/matchmaking_configuration_test.go +++ b/internal/service/gamelift/matchmaking_configuration_test.go @@ -6,8 +6,8 @@ import ( @@ -297,7 +297,15 @@ index 6453fa75a0..480b62b36b 100644 ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckGameServerGroupDestroy(ctx), Steps: []resource.TestStep{ -@@ -51,7 +52,7 @@ func TestAccMatchmakingConfiguration_basic(t *testing.T) { +@@ -44,14 +45,14 @@ func TestAccMatchmakingConfiguration_basic(t *testing.T) { + Config: testAccGameServerMatchmakingConfiguration_basic(rName, queueName, ruleSetName, additionalParameters, 10), + Check: resource.ComposeTestCheckFunc( + testAccCheckMatchmakingConfigurationExists(ctx, resourceName, &conf), +- acctest.MatchResourceAttrRegionalARN(resourceName, "arn", "gamelift", regexp.MustCompile(`matchmakingconfiguration/.+`)), ++ acctest.MatchResourceAttrRegionalARN(ctx, resourceName, "arn", "gamelift", regexp.MustCompile(`matchmakingconfiguration/.+`)), + resource.TestCheckResourceAttr(resourceName, "name", rName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "0"), + resource.TestCheckResourceAttr(resourceName, "custom_event_data", "pvp"), resource.TestCheckResourceAttr(resourceName, "game_session_data", "game_session_data"), resource.TestCheckResourceAttr(resourceName, "acceptance_required", "false"), resource.TestCheckResourceAttr(resourceName, "request_timeout_seconds", "10"), @@ -328,6 +336,15 @@ index 6453fa75a0..480b62b36b 100644 ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckGameServerGroupDestroy(ctx), Steps: []resource.TestStep{ +@@ -89,7 +90,7 @@ func TestAccMatchmakingConfiguration_tags(t *testing.T) { + Config: testAccGameServerMatchmakingConfiguration_tags(rName, queueName, ruleSetName, additionalParameters, 10), + Check: resource.ComposeTestCheckFunc( + testAccCheckMatchmakingConfigurationExists(ctx, resourceName, &conf), +- acctest.MatchResourceAttrRegionalARN(resourceName, "arn", "gamelift", regexp.MustCompile(`matchmakingconfiguration/.+`)), ++ acctest.MatchResourceAttrRegionalARN(ctx, resourceName, "arn", "gamelift", regexp.MustCompile(`matchmakingconfiguration/.+`)), + resource.TestCheckResourceAttr(resourceName, "name", rName), + resource.TestCheckResourceAttr(resourceName, "tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), @@ -97,7 +98,7 @@ func TestAccMatchmakingConfiguration_tags(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "game_session_data", "game_session_data"), resource.TestCheckResourceAttr(resourceName, "acceptance_required", "false"), @@ -522,7 +539,7 @@ index d9f2424b7a..5b34ab8669 100644 } if err != nil { diff --git a/internal/service/gamelift/matchmaking_rule_set_test.go b/internal/service/gamelift/matchmaking_rule_set_test.go -index 4295987ae6..377b46816e 100644 +index 4295987ae6..7554a3029c 100644 --- a/internal/service/gamelift/matchmaking_rule_set_test.go +++ b/internal/service/gamelift/matchmaking_rule_set_test.go @@ -6,20 +6,21 @@ import ( @@ -563,6 +580,15 @@ index 4295987ae6..377b46816e 100644 ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckGameServerGroupDestroy(ctx), Steps: []resource.TestStep{ +@@ -39,7 +40,7 @@ func TestAccMatchmakingRuleSet_basic(t *testing.T) { + Config: testAccMatchmakingRuleSetBasicConfig(ruleSetName, maxPlayers), + Check: resource.ComposeTestCheckFunc( + testAccCheckMatchmakingRuleSetExists(ctx, resourceName, &conf), +- acctest.MatchResourceAttrRegionalARN(resourceName, "arn", "gamelift", regexp.MustCompile(`matchmakingruleset/.+`)), ++ acctest.MatchResourceAttrRegionalARN(ctx, resourceName, "arn", "gamelift", regexp.MustCompile(`matchmakingruleset/.+`)), + resource.TestCheckResourceAttr(resourceName, "name", ruleSetName), + resource.TestCheckResourceAttr(resourceName, "rule_set_body", testAccMatchmakingRuleSetBody(maxPlayers)+"\n"), + resource.TestCheckResourceAttr(resourceName, "tags.%", "0"), @@ -57,7 +58,7 @@ func TestAccMatchmakingRuleSet_basic(t *testing.T) { func TestAccMatchmakingRuleSet_disappears(t *testing.T) { ctx := acctest.Context(t) @@ -619,7 +645,7 @@ index 4295987ae6..377b46816e 100644 return nil } diff --git a/names/data/names_data.hcl b/names/data/names_data.hcl -index b63a4a7c0a..f5dbf323f9 100644 +index 43a89b7719..c932b8e482 100644 --- a/names/data/names_data.hcl +++ b/names/data/names_data.hcl @@ -3883,7 +3883,8 @@ service "fsx" { diff --git a/patches/0066-Legacy-bucket-Read-now-sets-acl-and-force_destroy-de.patch b/patches/0066-Legacy-bucket-Read-now-sets-acl-and-force_destroy-de.patch index 2e9a6e3785d..bfabbd51150 100644 --- a/patches/0066-Legacy-bucket-Read-now-sets-acl-and-force_destroy-de.patch +++ b/patches/0066-Legacy-bucket-Read-now-sets-acl-and-force_destroy-de.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Legacy bucket Read now sets acl and force_destroy defaults diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index b0003ae2b3..42e3710685 100644 +index 2fed6dc3e3..2e2ffe77b0 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go @@ -34,6 +34,10 @@ import ( diff --git a/patches/0073-Restore-AWS-Go-SDK-v1-session.patch b/patches/0073-Restore-AWS-Go-SDK-v1-session.patch index 8d8b07c0d9f..f32a5289fca 100644 --- a/patches/0073-Restore-AWS-Go-SDK-v1-session.patch +++ b/patches/0073-Restore-AWS-Go-SDK-v1-session.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Restore AWS Go SDK v1 session diff --git a/internal/conns/awsclient.go b/internal/conns/awsclient.go -index 627fbb1da1..c014b189bf 100644 +index d84b29d997..7eb5b562e5 100644 --- a/internal/conns/awsclient.go +++ b/internal/conns/awsclient.go -@@ -284,6 +284,7 @@ func (c *AWSClient) apiClientConfig(ctx context.Context, servicePackageName stri +@@ -294,6 +294,7 @@ func (c *AWSClient) apiClientConfig(ctx context.Context, servicePackageName stri "aws_sdkv2_config": c.awsConfig, "endpoint": c.endpoints[servicePackageName], "partition": c.Partition(ctx), diff --git a/patches/0076-Fix-tags_all-Computed-for-aws_vpc_block_public_acces.patch b/patches/0076-Fix-tags_all-Computed-for-aws_vpc_block_public_acces.patch new file mode 100644 index 00000000000..74890eab597 --- /dev/null +++ b/patches/0076-Fix-tags_all-Computed-for-aws_vpc_block_public_acces.patch @@ -0,0 +1,20 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Florian Stadler +Date: Tue, 3 Dec 2024 18:59:47 +0100 +Subject: [PATCH] Fix tags_all Computed for + aws_vpc_block_public_access_exclusion + + +diff --git a/internal/service/ec2/vpc_block_public_access_exclusion.go b/internal/service/ec2/vpc_block_public_access_exclusion.go +index cb828701ab..b05fb21336 100644 +--- a/internal/service/ec2/vpc_block_public_access_exclusion.go ++++ b/internal/service/ec2/vpc_block_public_access_exclusion.go +@@ -71,7 +71,7 @@ func (r *vpcBlockPublicAccessExclusionResource) Schema(ctx context.Context, requ + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + names.AttrVPCID: schema.StringAttribute{ + Optional: true, + PlanModifiers: []planmodifier.String{ diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index f4ce1237266..a470c8546f4 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -11315,6 +11315,16 @@ "certificate_authority": { "maxItemsOne": true }, + "compute_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "node_pools": { + "maxItemsOne": false + } + } + } + }, "default_addons_to_remove": { "maxItemsOne": false }, @@ -11345,7 +11355,14 @@ } }, "kubernetes_network_config": { - "maxItemsOne": true + "maxItemsOne": true, + "elem": { + "fields": { + "elastic_load_balancing": { + "maxItemsOne": true + } + } + } }, "outpost_config": { "maxItemsOne": true, @@ -11360,6 +11377,43 @@ } } }, + "remote_network_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "remote_node_networks": { + "maxItemsOne": true, + "elem": { + "fields": { + "cidrs": { + "maxItemsOne": false + } + } + } + }, + "remote_pod_networks": { + "maxItemsOne": true, + "elem": { + "fields": { + "cidrs": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "storage_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "block_storage": { + "maxItemsOne": true + } + } + } + }, "upgrade_policy": { "maxItemsOne": true }, @@ -16718,6 +16772,19 @@ "function_response_types": { "maxItemsOne": false }, + "metrics_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "metrics": { + "maxItemsOne": false + } + } + } + }, + "provisioned_poller_config": { + "maxItemsOne": true + }, "queues": { "maxItemsOne": true }, @@ -161361,6 +161428,14 @@ "current": "aws:ec2/vpc:Vpc", "majorVersion": 6 }, + "aws_vpc_block_public_access_exclusion": { + "current": "aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion", + "majorVersion": 6 + }, + "aws_vpc_block_public_access_options": { + "current": "aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions", + "majorVersion": 6 + }, "aws_vpc_dhcp_options": { "current": "aws:ec2/vpcDhcpOptions:VpcDhcpOptions", "majorVersion": 6, @@ -161463,6 +161538,9 @@ }, "supported_ip_address_types": { "maxItemsOne": false + }, + "supported_regions": { + "maxItemsOne": false } } }, @@ -227359,6 +227437,16 @@ "certificate_authority": { "maxItemsOne": false }, + "compute_config": { + "maxItemsOne": false, + "elem": { + "fields": { + "node_pools": { + "maxItemsOne": false + } + } + } + }, "enabled_cluster_log_types": { "maxItemsOne": false }, @@ -227373,7 +227461,14 @@ } }, "kubernetes_network_config": { - "maxItemsOne": false + "maxItemsOne": false, + "elem": { + "fields": { + "elastic_load_balancing": { + "maxItemsOne": false + } + } + } }, "outpost_config": { "maxItemsOne": false, @@ -227388,6 +227483,43 @@ } } }, + "remote_network_config": { + "maxItemsOne": false, + "elem": { + "fields": { + "remote_node_networks": { + "maxItemsOne": false, + "elem": { + "fields": { + "cidrs": { + "maxItemsOne": false + } + } + } + }, + "remote_pod_networks": { + "maxItemsOne": false, + "elem": { + "fields": { + "cidrs": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "storage_config": { + "maxItemsOne": false, + "elem": { + "fields": { + "block_storage": { + "maxItemsOne": false + } + } + } + }, "upgrade_policy": { "maxItemsOne": false }, @@ -276320,6 +276452,8 @@ "aws:ec2/trafficMirrorTarget:TrafficMirrorTarget": 0, "aws:ec2/volumeAttachment:VolumeAttachment": 0, "aws:ec2/vpc:Vpc": 0, + "aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion": 1, + "aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions": 1, "aws:ec2/vpcDhcpOptions:VpcDhcpOptions": 0, "aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation": 0, "aws:ec2/vpcEndpoint:VpcEndpoint": 0, diff --git a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json index 8c74d75c006..aeb7ae7e25e 100644 --- a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json @@ -1 +1 @@ -{"auto-settings":{"resources":{"aws_batch_job_definition":{"maxItemsOneOverrides":{"eks_properties.$.pod_properties.$.containers":true}},"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_lexv2models_slot_type":{"maxItemsOneOverrides":{"composite_slot_type_setting":true,"external_source_setting":true,"external_source_setting.$.grammar_slot_type_setting":true,"external_source_setting.$.grammar_slot_type_setting.$.source":true,"slot_type_values":true}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}},"aws_wafv2_web_acl":{"maxItemsOneOverrides":{"association_config.$.request_body.$.api_gateway":false,"association_config.$.request_body.$.app_runner_service":false,"association_config.$.request_body.$.cloudfront":false,"association_config.$.request_body.$.cognito_user_pool":false,"association_config.$.request_body.$.verified_access_instance":false}}},"datasources":{"aws_efs_file_system":{"maxItemsOneOverrides":{"lifecycle_policy":true}},"aws_quicksight_analysis":{"renames":["aws:quicksight/getAnalysis:getAnalysis"]},"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":1,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appfabric/appAuthorization:AppAuthorization":1,"aws:appfabric/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/sourceApiAssociation:SourceApiAssociation":1,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/logicallyAirGappedVault:LogicallyAirGappedVault":1,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/restoreTestingPlan:RestoreTestingPlan":1,"aws:backup/restoreTestingSelection:RestoreTestingSelection":1,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bcmdata/export:Export":1,"aws:bedrock/agentAgent:AgentAgent":1,"aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup":1,"aws:bedrock/agentAgentAlias:AgentAgentAlias":1,"aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation":1,"aws:bedrock/agentDataSource:AgentDataSource":1,"aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase":1,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/guardrail:Guardrail":1,"aws:bedrock/guardrailVersion:GuardrailVersion":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chatbot/slackChannelConfiguration:SlackChannelConfiguration":1,"aws:chatbot/teamsChannelConfiguration:TeamsChannelConfiguration":1,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackInstances:StackInstances":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount":1,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/fleet:Fleet":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:computeoptimizer/enrollmentStatus:EnrollmentStatus":1,"aws:computeoptimizer/recommendationPreferences:RecommendationPreferences":1,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:costoptimizationhub/enrollmentStatus:EnrollmentStatus":1,"aws:costoptimizationhub/preferences:Preferences":1,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/assetType:AssetType":1,"aws:datazone/domain:Domain":1,"aws:datazone/environment:Environment":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/environmentProfile:EnvironmentProfile":1,"aws:datazone/formType:FormType":1,"aws:datazone/glossary:Glossary":1,"aws:datazone/glossaryTerm:GlossaryTerm":1,"aws:datazone/project:Project":1,"aws:datazone/userProfile:UserProfile":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotBlockPublicAccess:SnapshotBlockPublicAccess":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/defaultRouteTableAssociation:DefaultRouteTableAssociation":1,"aws:ec2transitgateway/defaultRouteTablePropagation:DefaultRouteTablePropagation":1,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/reservedCacheNode:ReservedCacheNode":1,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/catalogTableOptimizer:CatalogTableOptimizer":1,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPoliciesExclusive:GroupPoliciesExclusive":1,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/groupPolicyAttachmentsExclusive:GroupPolicyAttachmentsExclusive":1,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/organizationsFeatures:OrganizationsFeatures":1,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePoliciesExclusive:RolePoliciesExclusive":1,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/rolePolicyAttachmentsExclusive:RolePolicyAttachmentsExclusive":1,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPoliciesExclusive:UserPoliciesExclusive":1,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/userPolicyAttachmentsExclusive:UserPolicyAttachmentsExclusive":1,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/lifecyclePolicy:LifecyclePolicy":1,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":1,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionRecursionConfig:FunctionRecursionConfig":1,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/authorizeVpcEndpointAccess:AuthorizeVpcEndpointAccess":1,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/emailTemplate:EmailTemplate":1,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pinpoint/smsvoicev2ConfigurationSet:Smsvoicev2ConfigurationSet":1,"aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList":1,"aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber":1,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/instanceDesiredState:InstanceDesiredState":1,"aws:rds/integration:Integration":1,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws:resiliencehub/resiliencyPolicy:ResiliencyPolicy":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/profilesAssociation:ProfilesAssociation":1,"aws:route53/profilesProfile:ProfilesProfile":1,"aws:route53/profilesResourceAssociation:ProfilesResourceAssociation":1,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/hub:Hub":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/mlflowTrackingServer:MlflowTrackingServer":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsControlAssociation:StandardsControlAssociation":1,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes":1,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:shield/subscription:Subscription":1,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/quicksetupConfigurationManager:QuicksetupConfigurationManager":1,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreaminfluxdb/dbInstance:DbInstance":1,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpc/securityGroupVpcAssociation:SecurityGroupVpcAssociation":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration":1,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getAgentAgentVersions:getAgentAgentVersions":1,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrock/getInferenceProfile:getInferenceProfile":1,"aws:bedrock/getInferenceProfiles:getInferenceProfiles":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codebuild/getFleet:getFleet":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription":1,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering":1,"aws:elasticache/getServerlessCache:getServerlessCache":1,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getRegistry:getRegistry":1,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:index/getServicePrincipal:getServicePrincipal":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getListenerRule:getListenerRule":1,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getAnalysis:getAnalysis":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterParameterGroup:getClusterParameterGroup":1,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getProfilesProfiles:getProfilesProfiles":1,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:route53/getZones:getZones":1,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecretVersions:getSecretVersions":1,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations":1,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:shield/getProtection:getProtection":1,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssm/getPatchBaselines:getPatchBaselines":1,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPermissionSets:getPermissionSets":1,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:synthetics/getRuntimeVersion:getRuntimeVersion":1,"aws:synthetics/getRuntimeVersions:getRuntimeVersions":1,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file +{"auto-settings":{"resources":{"aws_batch_job_definition":{"maxItemsOneOverrides":{"eks_properties.$.pod_properties.$.containers":true}},"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_lexv2models_slot_type":{"maxItemsOneOverrides":{"composite_slot_type_setting":true,"external_source_setting":true,"external_source_setting.$.grammar_slot_type_setting":true,"external_source_setting.$.grammar_slot_type_setting.$.source":true,"slot_type_values":true}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}},"aws_wafv2_web_acl":{"maxItemsOneOverrides":{"association_config.$.request_body.$.api_gateway":false,"association_config.$.request_body.$.app_runner_service":false,"association_config.$.request_body.$.cloudfront":false,"association_config.$.request_body.$.cognito_user_pool":false,"association_config.$.request_body.$.verified_access_instance":false}}},"datasources":{"aws_efs_file_system":{"maxItemsOneOverrides":{"lifecycle_policy":true}},"aws_quicksight_analysis":{"renames":["aws:quicksight/getAnalysis:getAnalysis"]},"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":1,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appfabric/appAuthorization:AppAuthorization":1,"aws:appfabric/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/sourceApiAssociation:SourceApiAssociation":1,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/logicallyAirGappedVault:LogicallyAirGappedVault":1,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/restoreTestingPlan:RestoreTestingPlan":1,"aws:backup/restoreTestingSelection:RestoreTestingSelection":1,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bcmdata/export:Export":1,"aws:bedrock/agentAgent:AgentAgent":1,"aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup":1,"aws:bedrock/agentAgentAlias:AgentAgentAlias":1,"aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation":1,"aws:bedrock/agentDataSource:AgentDataSource":1,"aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase":1,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/guardrail:Guardrail":1,"aws:bedrock/guardrailVersion:GuardrailVersion":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chatbot/slackChannelConfiguration:SlackChannelConfiguration":1,"aws:chatbot/teamsChannelConfiguration:TeamsChannelConfiguration":1,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackInstances:StackInstances":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount":1,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/fleet:Fleet":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:computeoptimizer/enrollmentStatus:EnrollmentStatus":1,"aws:computeoptimizer/recommendationPreferences:RecommendationPreferences":1,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:costoptimizationhub/enrollmentStatus:EnrollmentStatus":1,"aws:costoptimizationhub/preferences:Preferences":1,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/assetType:AssetType":1,"aws:datazone/domain:Domain":1,"aws:datazone/environment:Environment":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/environmentProfile:EnvironmentProfile":1,"aws:datazone/formType:FormType":1,"aws:datazone/glossary:Glossary":1,"aws:datazone/glossaryTerm:GlossaryTerm":1,"aws:datazone/project:Project":1,"aws:datazone/userProfile:UserProfile":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotBlockPublicAccess:SnapshotBlockPublicAccess":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion":1,"aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions":1,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/defaultRouteTableAssociation:DefaultRouteTableAssociation":1,"aws:ec2transitgateway/defaultRouteTablePropagation:DefaultRouteTablePropagation":1,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/reservedCacheNode:ReservedCacheNode":1,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/catalogTableOptimizer:CatalogTableOptimizer":1,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPoliciesExclusive:GroupPoliciesExclusive":1,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/groupPolicyAttachmentsExclusive:GroupPolicyAttachmentsExclusive":1,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/organizationsFeatures:OrganizationsFeatures":1,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePoliciesExclusive:RolePoliciesExclusive":1,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/rolePolicyAttachmentsExclusive:RolePolicyAttachmentsExclusive":1,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPoliciesExclusive:UserPoliciesExclusive":1,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/userPolicyAttachmentsExclusive:UserPolicyAttachmentsExclusive":1,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/lifecyclePolicy:LifecyclePolicy":1,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":1,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionRecursionConfig:FunctionRecursionConfig":1,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/authorizeVpcEndpointAccess:AuthorizeVpcEndpointAccess":1,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/emailTemplate:EmailTemplate":1,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pinpoint/smsvoicev2ConfigurationSet:Smsvoicev2ConfigurationSet":1,"aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList":1,"aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber":1,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/instanceDesiredState:InstanceDesiredState":1,"aws:rds/integration:Integration":1,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws:resiliencehub/resiliencyPolicy:ResiliencyPolicy":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/profilesAssociation:ProfilesAssociation":1,"aws:route53/profilesProfile:ProfilesProfile":1,"aws:route53/profilesResourceAssociation:ProfilesResourceAssociation":1,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/hub:Hub":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/mlflowTrackingServer:MlflowTrackingServer":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsControlAssociation:StandardsControlAssociation":1,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes":1,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:shield/subscription:Subscription":1,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/quicksetupConfigurationManager:QuicksetupConfigurationManager":1,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreaminfluxdb/dbInstance:DbInstance":1,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpc/securityGroupVpcAssociation:SecurityGroupVpcAssociation":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration":1,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getAgentAgentVersions:getAgentAgentVersions":1,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrock/getInferenceProfile:getInferenceProfile":1,"aws:bedrock/getInferenceProfiles:getInferenceProfiles":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codebuild/getFleet:getFleet":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription":1,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering":1,"aws:elasticache/getServerlessCache:getServerlessCache":1,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getRegistry:getRegistry":1,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:index/getServicePrincipal:getServicePrincipal":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getListenerRule:getListenerRule":1,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getAnalysis:getAnalysis":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterParameterGroup:getClusterParameterGroup":1,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getProfilesProfiles:getProfilesProfiles":1,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:route53/getZones:getZones":1,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecretVersions:getSecretVersions":1,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations":1,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:shield/getProtection:getProtection":1,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssm/getPatchBaselines:getPatchBaselines":1,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPermissionSets:getPermissionSets":1,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:synthetics/getRuntimeVersion:getRuntimeVersion":1,"aws:synthetics/getRuntimeVersions:getRuntimeVersions":1,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 7395353e11c..1034875681b 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -54221,6 +54221,40 @@ }, "type": "object" }, + "aws:ec2/VpcBlockPublicAccessExclusionTimeouts:VpcBlockPublicAccessExclusionTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + }, + "delete": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "update": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, + "aws:ec2/VpcBlockPublicAccessOptionsTimeouts:VpcBlockPublicAccessOptionsTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + }, + "delete": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "update": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, "aws:ec2/VpcEndpointDnsEntry:VpcEndpointDnsEntry": { "properties": { "dnsName": { @@ -63187,6 +63221,27 @@ } } }, + "aws:eks/ClusterComputeConfig:ClusterComputeConfig": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account.\n" + }, + "nodePools": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`.\n" + }, + "nodeRoleArn": { + "type": "string", + "description": "The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled..\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "aws:eks/ClusterEncryptionConfig:ClusterEncryptionConfig": { "properties": { "provider": { @@ -63256,6 +63311,10 @@ }, "aws:eks/ClusterKubernetesNetworkConfig:ClusterKubernetesNetworkConfig": { "properties": { + "elasticLoadBalancing": { + "$ref": "#/types/aws:eks/ClusterKubernetesNetworkConfigElasticLoadBalancing:ClusterKubernetesNetworkConfigElasticLoadBalancing", + "description": "Configuration block with elastic load balancing configuration for the cluster. Detailed below.\n" + }, "ipFamily": { "type": "string", "description": "The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created.\n", @@ -63268,13 +63327,14 @@ }, "serviceIpv6Cidr": { "type": "string", - "description": "The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster.\n" + "description": "The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster.\n" } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ + "elasticLoadBalancing", "ipFamily", "serviceIpv4Cidr", "serviceIpv6Cidr" @@ -63282,6 +63342,15 @@ } } }, + "aws:eks/ClusterKubernetesNetworkConfigElasticLoadBalancing:ClusterKubernetesNetworkConfigElasticLoadBalancing": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account.\n" + } + }, + "type": "object" + }, "aws:eks/ClusterOutpostConfig:ClusterOutpostConfig": { "properties": { "controlPlaneInstanceType": { @@ -63320,6 +63389,72 @@ "groupName" ] }, + "aws:eks/ClusterRemoteNetworkConfig:ClusterRemoteNetworkConfig": { + "properties": { + "remoteNodeNetworks": { + "$ref": "#/types/aws:eks/ClusterRemoteNetworkConfigRemoteNodeNetworks:ClusterRemoteNetworkConfigRemoteNodeNetworks", + "description": "Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below.\n" + }, + "remotePodNetworks": { + "$ref": "#/types/aws:eks/ClusterRemoteNetworkConfigRemotePodNetworks:ClusterRemoteNetworkConfigRemotePodNetworks", + "description": "Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below.\n" + } + }, + "type": "object", + "required": [ + "remoteNodeNetworks" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "remoteNodeNetworks", + "remotePodNetworks" + ] + } + } + }, + "aws:eks/ClusterRemoteNetworkConfigRemoteNodeNetworks:ClusterRemoteNetworkConfigRemoteNodeNetworks": { + "properties": { + "cidrs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of network CIDRs that can contain hybrid nodes.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "aws:eks/ClusterRemoteNetworkConfigRemotePodNetworks:ClusterRemoteNetworkConfigRemotePodNetworks": { + "properties": { + "cidrs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "aws:eks/ClusterStorageConfig:ClusterStorageConfig": { + "properties": { + "blockStorage": { + "$ref": "#/types/aws:eks/ClusterStorageConfigBlockStorage:ClusterStorageConfigBlockStorage" + } + }, + "type": "object" + }, + "aws:eks/ClusterStorageConfigBlockStorage:ClusterStorageConfigBlockStorage": { + "properties": { + "enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "aws:eks/ClusterUpgradePolicy:ClusterUpgradePolicy": { "properties": { "supportType": { @@ -63680,6 +63815,36 @@ } } }, + "aws:eks/getClusterComputeConfig:getClusterComputeConfig": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether zonal shift is enabled.\n" + }, + "nodePools": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of node pools for the EKS Auto Mode compute capability.\n" + }, + "nodeRoleArn": { + "type": "string", + "description": "The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster.\n" + } + }, + "type": "object", + "required": [ + "enabled", + "nodePools", + "nodeRoleArn" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:eks/getClusterIdentity:getClusterIdentity": { "properties": { "oidcs": { @@ -63719,6 +63884,13 @@ }, "aws:eks/getClusterKubernetesNetworkConfig:getClusterKubernetesNetworkConfig": { "properties": { + "elasticLoadBalancings": { + "type": "array", + "items": { + "$ref": "#/types/aws:eks/getClusterKubernetesNetworkConfigElasticLoadBalancing:getClusterKubernetesNetworkConfigElasticLoadBalancing" + }, + "description": "Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster.\n" + }, "ipFamily": { "type": "string", "description": "`ipv4` or `ipv6`.\n" @@ -63734,6 +63906,7 @@ }, "type": "object", "required": [ + "elasticLoadBalancings", "ipFamily", "serviceIpv4Cidr", "serviceIpv6Cidr" @@ -63744,6 +63917,23 @@ } } }, + "aws:eks/getClusterKubernetesNetworkConfigElasticLoadBalancing:getClusterKubernetesNetworkConfigElasticLoadBalancing": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether zonal shift is enabled.\n" + } + }, + "type": "object", + "required": [ + "enabled" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:eks/getClusterOutpostConfig:getClusterOutpostConfig": { "properties": { "controlPlaneInstanceType": { @@ -63794,11 +63984,116 @@ } } }, + "aws:eks/getClusterRemoteNetworkConfig:getClusterRemoteNetworkConfig": { + "properties": { + "remoteNodeNetworks": { + "type": "array", + "items": { + "$ref": "#/types/aws:eks/getClusterRemoteNetworkConfigRemoteNodeNetwork:getClusterRemoteNetworkConfigRemoteNodeNetwork" + }, + "description": "The networks that can contain hybrid nodes.\n" + }, + "remotePodNetworks": { + "type": "array", + "items": { + "$ref": "#/types/aws:eks/getClusterRemoteNetworkConfigRemotePodNetwork:getClusterRemoteNetworkConfigRemotePodNetwork" + }, + "description": "The networks that can contain pods that run Kubernetes webhooks on hybrid nodes.\n" + } + }, + "type": "object", + "required": [ + "remoteNodeNetworks", + "remotePodNetworks" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:eks/getClusterRemoteNetworkConfigRemoteNodeNetwork:getClusterRemoteNetworkConfigRemoteNodeNetwork": { + "properties": { + "cidrs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.\n" + } + }, + "type": "object", + "required": [ + "cidrs" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:eks/getClusterRemoteNetworkConfigRemotePodNetwork:getClusterRemoteNetworkConfigRemotePodNetwork": { + "properties": { + "cidrs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.\n" + } + }, + "type": "object", + "required": [ + "cidrs" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:eks/getClusterStorageConfig:getClusterStorageConfig": { + "properties": { + "blockStorages": { + "type": "array", + "items": { + "$ref": "#/types/aws:eks/getClusterStorageConfigBlockStorage:getClusterStorageConfigBlockStorage" + }, + "description": "Contains block storage configuration for EKS Auto Mode enabled cluster.\n" + } + }, + "type": "object", + "required": [ + "blockStorages" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:eks/getClusterStorageConfigBlockStorage:getClusterStorageConfigBlockStorage": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether zonal shift is enabled.\n" + } + }, + "type": "object", + "required": [ + "enabled" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:eks/getClusterUpgradePolicy:getClusterUpgradePolicy": { "properties": { "supportType": { "type": "string", - "description": "(Optional) Support type to use for the cluster.\n" + "description": "Support type to use for the cluster.\n" } }, "type": "object", @@ -91551,6 +91846,42 @@ }, "type": "object" }, + "aws:lambda/EventSourceMappingMetricsConfig:EventSourceMappingMetricsConfig": { + "properties": { + "metrics": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`.\n" + } + }, + "type": "object", + "required": [ + "metrics" + ] + }, + "aws:lambda/EventSourceMappingProvisionedPollerConfig:EventSourceMappingProvisionedPollerConfig": { + "properties": { + "maximumPollers": { + "type": "integer", + "description": "The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000.\n" + }, + "minimumPollers": { + "type": "integer", + "description": "The minimum number of event pollers this event source can scale down to. The range is between 1 and 200.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "maximumPollers", + "minimumPollers" + ] + } + } + }, "aws:lambda/EventSourceMappingScalingConfig:EventSourceMappingScalingConfig": { "properties": { "maximumConcurrency": { @@ -245061,6 +245392,175 @@ "type": "object" } }, + "aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion": { + "description": "Resource for managing an AWS EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.Vpc(\"test\", {cidrBlock: \"10.1.0.0/16\"});\nconst testVpcBlockPublicAccessExclusion = new aws.ec2.VpcBlockPublicAccessExclusion(\"test\", {\n vpcId: test.id,\n internetGatewayExclusionMode: \"allow-bidirectional\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.Vpc(\"test\", cidr_block=\"10.1.0.0/16\")\ntest_vpc_block_public_access_exclusion = aws.ec2.VpcBlockPublicAccessExclusion(\"test\",\n vpc_id=test.id,\n internet_gateway_exclusion_mode=\"allow-bidirectional\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.Vpc(\"test\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var testVpcBlockPublicAccessExclusion = new Aws.Ec2.VpcBlockPublicAccessExclusion(\"test\", new()\n {\n VpcId = test.Id,\n InternetGatewayExclusionMode = \"allow-bidirectional\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcBlockPublicAccessExclusion(ctx, \"test\", \u0026ec2.VpcBlockPublicAccessExclusionArgs{\n\t\t\tVpcId: test.ID(),\n\t\t\tInternetGatewayExclusionMode: pulumi.String(\"allow-bidirectional\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcBlockPublicAccessExclusion;\nimport com.pulumi.aws.ec2.VpcBlockPublicAccessExclusionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Vpc(\"test\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var testVpcBlockPublicAccessExclusion = new VpcBlockPublicAccessExclusion(\"testVpcBlockPublicAccessExclusion\", VpcBlockPublicAccessExclusionArgs.builder()\n .vpcId(test.id())\n .internetGatewayExclusionMode(\"allow-bidirectional\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n testVpcBlockPublicAccessExclusion:\n type: aws:ec2:VpcBlockPublicAccessExclusion\n name: test\n properties:\n vpcId: ${test.id}\n internetGatewayExclusionMode: allow-bidirectional\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with subnet id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.Vpc(\"test\", {cidrBlock: \"10.1.0.0/16\"});\nconst testSubnet = new aws.ec2.Subnet(\"test\", {\n cidrBlock: \"10.1.1.0/24\",\n vpcId: test.id,\n});\nconst testVpcBlockPublicAccessExclusion = new aws.ec2.VpcBlockPublicAccessExclusion(\"test\", {\n subnetId: testSubnet.id,\n internetGatewayExclusionMode: \"allow-egress\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.Vpc(\"test\", cidr_block=\"10.1.0.0/16\")\ntest_subnet = aws.ec2.Subnet(\"test\",\n cidr_block=\"10.1.1.0/24\",\n vpc_id=test.id)\ntest_vpc_block_public_access_exclusion = aws.ec2.VpcBlockPublicAccessExclusion(\"test\",\n subnet_id=test_subnet.id,\n internet_gateway_exclusion_mode=\"allow-egress\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Ec2.Vpc(\"test\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var testSubnet = new Aws.Ec2.Subnet(\"test\", new()\n {\n CidrBlock = \"10.1.1.0/24\",\n VpcId = test.Id,\n });\n\n var testVpcBlockPublicAccessExclusion = new Aws.Ec2.VpcBlockPublicAccessExclusion(\"test\", new()\n {\n SubnetId = testSubnet.Id,\n InternetGatewayExclusionMode = \"allow-egress\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ec2.NewVpc(ctx, \"test\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestSubnet, err := ec2.NewSubnet(ctx, \"test\", \u0026ec2.SubnetArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.1.0/24\"),\n\t\t\tVpcId: test.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcBlockPublicAccessExclusion(ctx, \"test\", \u0026ec2.VpcBlockPublicAccessExclusionArgs{\n\t\t\tSubnetId: testSubnet.ID(),\n\t\t\tInternetGatewayExclusionMode: pulumi.String(\"allow-egress\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.Subnet;\nimport com.pulumi.aws.ec2.SubnetArgs;\nimport com.pulumi.aws.ec2.VpcBlockPublicAccessExclusion;\nimport com.pulumi.aws.ec2.VpcBlockPublicAccessExclusionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Vpc(\"test\", VpcArgs.builder()\n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var testSubnet = new Subnet(\"testSubnet\", SubnetArgs.builder()\n .cidrBlock(\"10.1.1.0/24\")\n .vpcId(test.id())\n .build());\n\n var testVpcBlockPublicAccessExclusion = new VpcBlockPublicAccessExclusion(\"testVpcBlockPublicAccessExclusion\", VpcBlockPublicAccessExclusionArgs.builder()\n .subnetId(testSubnet.id())\n .internetGatewayExclusionMode(\"allow-egress\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n testSubnet:\n type: aws:ec2:Subnet\n name: test\n properties:\n cidrBlock: 10.1.1.0/24\n vpcId: ${test.id}\n testVpcBlockPublicAccessExclusion:\n type: aws:ec2:VpcBlockPublicAccessExclusion\n name: test\n properties:\n subnetId: ${testSubnet.id}\n internetGatewayExclusionMode: allow-egress\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion example vpcbpa-exclude-1234abcd\n```\n", + "properties": { + "internetGatewayExclusionMode": { + "type": "string", + "description": "Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`.\n\nThe following arguments are optional:\n" + }, + "resourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) the excluded resource.\n" + }, + "subnetId": { + "type": "string", + "description": "Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:ec2/VpcBlockPublicAccessExclusionTimeouts:VpcBlockPublicAccessExclusionTimeouts" + }, + "vpcId": { + "type": "string", + "description": "Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided.\n" + } + }, + "required": [ + "internetGatewayExclusionMode", + "resourceArn", + "tagsAll" + ], + "inputProperties": { + "internetGatewayExclusionMode": { + "type": "string", + "description": "Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`.\n\nThe following arguments are optional:\n" + }, + "subnetId": { + "type": "string", + "description": "Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "timeouts": { + "$ref": "#/types/aws:ec2/VpcBlockPublicAccessExclusionTimeouts:VpcBlockPublicAccessExclusionTimeouts" + }, + "vpcId": { + "type": "string", + "description": "Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided.\n" + } + }, + "requiredInputs": [ + "internetGatewayExclusionMode" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VpcBlockPublicAccessExclusion resources.\n", + "properties": { + "internetGatewayExclusionMode": { + "type": "string", + "description": "Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`.\n\nThe following arguments are optional:\n" + }, + "resourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) the excluded resource.\n" + }, + "subnetId": { + "type": "string", + "description": "Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:ec2/VpcBlockPublicAccessExclusionTimeouts:VpcBlockPublicAccessExclusionTimeouts" + }, + "vpcId": { + "type": "string", + "description": "Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided.\n" + } + }, + "type": "object" + } + }, + "aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions": { + "description": "Resource for managing an AWS VPC Block Public Access Options.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.VpcBlockPublicAccessOptions(\"example\", {internetGatewayBlockMode: \"block-bidirectional\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.VpcBlockPublicAccessOptions(\"example\", internet_gateway_block_mode=\"block-bidirectional\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.VpcBlockPublicAccessOptions(\"example\", new()\n {\n InternetGatewayBlockMode = \"block-bidirectional\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcBlockPublicAccessOptions(ctx, \"example\", \u0026ec2.VpcBlockPublicAccessOptionsArgs{\n\t\t\tInternetGatewayBlockMode: pulumi.String(\"block-bidirectional\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcBlockPublicAccessOptions;\nimport com.pulumi.aws.ec2.VpcBlockPublicAccessOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VpcBlockPublicAccessOptions(\"example\", VpcBlockPublicAccessOptionsArgs.builder()\n .internetGatewayBlockMode(\"block-bidirectional\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcBlockPublicAccessOptions\n properties:\n internetGatewayBlockMode: block-bidirectional\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Block Public Access Options using the `aws_region`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions example us-east-1\n```\n", + "properties": { + "awsAccountId": { + "type": "string", + "description": "The AWS account id to which these options apply.\n" + }, + "awsRegion": { + "type": "string", + "description": "The AWS region to which these options apply.\n" + }, + "internetGatewayBlockMode": { + "type": "string", + "description": "Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region.\n" + }, + "timeouts": { + "$ref": "#/types/aws:ec2/VpcBlockPublicAccessOptionsTimeouts:VpcBlockPublicAccessOptionsTimeouts" + } + }, + "required": [ + "awsAccountId", + "awsRegion", + "internetGatewayBlockMode" + ], + "inputProperties": { + "internetGatewayBlockMode": { + "type": "string", + "description": "Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region.\n" + }, + "timeouts": { + "$ref": "#/types/aws:ec2/VpcBlockPublicAccessOptionsTimeouts:VpcBlockPublicAccessOptionsTimeouts" + } + }, + "requiredInputs": [ + "internetGatewayBlockMode" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VpcBlockPublicAccessOptions resources.\n", + "properties": { + "awsAccountId": { + "type": "string", + "description": "The AWS account id to which these options apply.\n" + }, + "awsRegion": { + "type": "string", + "description": "The AWS region to which these options apply.\n" + }, + "internetGatewayBlockMode": { + "type": "string", + "description": "Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region.\n" + }, + "timeouts": { + "$ref": "#/types/aws:ec2/VpcBlockPublicAccessOptionsTimeouts:VpcBlockPublicAccessOptionsTimeouts" + } + }, + "type": "object" + } + }, "aws:ec2/vpcDhcpOptions:VpcDhcpOptions": { "description": "Provides a VPC DHCP Options resource.\n\n## Example Usage\n\nBasic usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst dnsResolver = new aws.ec2.VpcDhcpOptions(\"dns_resolver\", {domainNameServers: [\n \"8.8.8.8\",\n \"8.8.4.4\",\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndns_resolver = aws.ec2.VpcDhcpOptions(\"dns_resolver\", domain_name_servers=[\n \"8.8.8.8\",\n \"8.8.4.4\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dnsResolver = new Aws.Ec2.VpcDhcpOptions(\"dns_resolver\", new()\n {\n DomainNameServers = new[]\n {\n \"8.8.8.8\",\n \"8.8.4.4\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcDhcpOptions(ctx, \"dns_resolver\", \u0026ec2.VpcDhcpOptionsArgs{\n\t\t\tDomainNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcDhcpOptions;\nimport com.pulumi.aws.ec2.VpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dnsResolver = new VpcDhcpOptions(\"dnsResolver\", VpcDhcpOptionsArgs.builder()\n .domainNameServers( \n \"8.8.8.8\",\n \"8.8.4.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dnsResolver:\n type: aws:ec2:VpcDhcpOptions\n name: dns_resolver\n properties:\n domainNameServers:\n - 8.8.8.8\n - 8.8.4.4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFull usage:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcDhcpOptions(\"foo\", {\n domainName: \"service.consul\",\n domainNameServers: [\n \"127.0.0.1\",\n \"10.0.0.2\",\n ],\n ipv6AddressPreferredLeaseTime: \"1440\",\n ntpServers: [\"127.0.0.1\"],\n netbiosNameServers: [\"127.0.0.1\"],\n netbiosNodeType: \"2\",\n tags: {\n Name: \"foo-name\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcDhcpOptions(\"foo\",\n domain_name=\"service.consul\",\n domain_name_servers=[\n \"127.0.0.1\",\n \"10.0.0.2\",\n ],\n ipv6_address_preferred_lease_time=\"1440\",\n ntp_servers=[\"127.0.0.1\"],\n netbios_name_servers=[\"127.0.0.1\"],\n netbios_node_type=\"2\",\n tags={\n \"Name\": \"foo-name\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcDhcpOptions(\"foo\", new()\n {\n DomainName = \"service.consul\",\n DomainNameServers = new[]\n {\n \"127.0.0.1\",\n \"10.0.0.2\",\n },\n Ipv6AddressPreferredLeaseTime = \"1440\",\n NtpServers = new[]\n {\n \"127.0.0.1\",\n },\n NetbiosNameServers = new[]\n {\n \"127.0.0.1\",\n },\n NetbiosNodeType = \"2\",\n Tags = \n {\n { \"Name\", \"foo-name\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcDhcpOptions(ctx, \"foo\", \u0026ec2.VpcDhcpOptionsArgs{\n\t\t\tDomainName: pulumi.String(\"service.consul\"),\n\t\t\tDomainNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t},\n\t\t\tIpv6AddressPreferredLeaseTime: pulumi.String(\"1440\"),\n\t\t\tNtpServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tNetbiosNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tNetbiosNodeType: pulumi.String(\"2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"foo-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcDhcpOptions;\nimport com.pulumi.aws.ec2.VpcDhcpOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcDhcpOptions(\"foo\", VpcDhcpOptionsArgs.builder()\n .domainName(\"service.consul\")\n .domainNameServers( \n \"127.0.0.1\",\n \"10.0.0.2\")\n .ipv6AddressPreferredLeaseTime(1440)\n .ntpServers(\"127.0.0.1\")\n .netbiosNameServers(\"127.0.0.1\")\n .netbiosNodeType(2)\n .tags(Map.of(\"Name\", \"foo-name\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcDhcpOptions\n properties:\n domainName: service.consul\n domainNameServers:\n - 127.0.0.1\n - 10.0.0.2\n ipv6AddressPreferredLeaseTime: 1440\n ntpServers:\n - 127.0.0.1\n netbiosNameServers:\n - 127.0.0.1\n netbiosNodeType: 2\n tags:\n Name: foo-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Remarks\n\n* Notice that all arguments are optional but you have to specify at least one argument.\n* `domain_name_servers`, `netbios_name_servers`, `ntp_servers` are limited by AWS to maximum four servers only.\n* To actually use the DHCP Options Set you need to associate it to a VPC using `aws.ec2.VpcDhcpOptionsAssociation`.\n* If you delete a DHCP Options Set, all VPCs using it will be associated to AWS's `default` DHCP Option Set.\n* In most cases unless you're configuring your own DNS you'll want to set `domain_name_servers` to `AmazonProvidedDNS`.\n\n## Import\n\nUsing `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcDhcpOptions:VpcDhcpOptions my_options dopt-d9070ebb\n```\n", "properties": { @@ -245966,6 +246466,13 @@ }, "description": "The supported IP address types. The possible values are `ipv4` and `ipv6`.\n" }, + "supportedRegions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of regions from which service consumers can access the service.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -245995,6 +246502,7 @@ "serviceType", "state", "supportedIpAddressTypes", + "supportedRegions", "tagsAll" ], "inputProperties": { @@ -246034,6 +246542,13 @@ }, "description": "The supported IP address types. The possible values are `ipv4` and `ipv6`.\n" }, + "supportedRegions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of regions from which service consumers can access the service.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -246125,6 +246640,13 @@ }, "description": "The supported IP address types. The possible values are `ipv4` and `ipv6`.\n" }, + "supportedRegions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of regions from which service consumers can access the service.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -255967,7 +256489,7 @@ } }, "aws:eks/cluster:Cluster": { - "description": "Manages an EKS Cluster.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n roleArn: exampleAwsIamRole.arn,\n vpcConfig: {\n subnetIds: [\n example1.id,\n example2.id,\n ],\n },\n }, {\n dependsOn: [\n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController,\n ],\n });\n return {\n endpoint: example.endpoint,\n \"kubeconfig-certificate-authority-data\": example.certificateAuthority.apply(certificateAuthority =\u003e certificateAuthority.data),\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_config={\n \"subnet_ids\": [\n example1[\"id\"],\n example2[\"id\"],\n ],\n },\n opts = pulumi.ResourceOptions(depends_on=[\n example__amazon_eks_cluster_policy,\n example__amazon_eksvpc_resource_controller,\n ]))\npulumi.export(\"endpoint\", example.endpoint)\npulumi.export(\"kubeconfig-certificate-authority-data\", example.certificate_authority.data)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpoint\"] = example.Endpoint,\n [\"kubeconfig-certificate-authority-data\"] = example.CertificateAuthority.Apply(certificateAuthority =\u003e certificateAuthority.Data),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\texample1.Id,\n\t\t\t\t\texample2.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample_AmazonEKSClusterPolicy,\n\t\t\texample_AmazonEKSVPCResourceController,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpoint\", example.Endpoint)\n\t\tctx.Export(\"kubeconfig-certificate-authority-data\", example.CertificateAuthority.ApplyT(func(certificateAuthority eks.ClusterCertificateAuthority) (*string, error) {\n\t\t\treturn \u0026certificateAuthority.Data, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .subnetIds( \n example1.id(),\n example2.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n example_AmazonEKSClusterPolicy,\n example_AmazonEKSVPCResourceController)\n .build());\n\n ctx.export(\"endpoint\", example.endpoint());\n ctx.export(\"kubeconfig-certificate-authority-data\", example.certificateAuthority().applyValue(certificateAuthority -\u003e certificateAuthority.data()));\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n roleArn: ${exampleAwsIamRole.arn}\n vpcConfig:\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n options:\n dependson:\n - ${[\"example-AmazonEKSClusterPolicy\"]}\n - ${[\"example-AmazonEKSVPCResourceController\"]}\noutputs:\n endpoint: ${example.endpoint}\n kubeconfig-certificate-authority-data: ${example.certificateAuthority.data}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example IAM Role for EKS Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"eks.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json),\n});\nconst example_AmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: example.name,\n});\n// Optionally, enable Security Groups for Pods\n// Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\nconst example_AmazonEKSVPCResourceController = new aws.iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n role: example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"eks.amazonaws.com\"],\n }],\n \"actions\": [\"sts:AssumeRole\"],\n}])\nexample = aws.iam.Role(\"example\",\n name=\"eks-cluster-example\",\n assume_role_policy=assume_role.json)\nexample__amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=example.name)\n# Optionally, enable Security Groups for Pods\n# Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\nexample__amazon_eksvpc_resource_controller = aws.iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n role=example.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"eks.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example_AmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = example.Name,\n });\n\n // Optionally, enable Security Groups for Pods\n // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n var example_AmazonEKSVPCResourceController = new Aws.Iam.RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\",\n Role = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"eks.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optionally, enable Security Groups for Pods\n\t\t// Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AmazonEKSVPCResourceController\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\"),\n\t\t\tRole: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"eks.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example_AmazonEKSClusterPolicy = new RolePolicyAttachment(\"example-AmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(example.name())\n .build());\n\n // Optionally, enable Security Groups for Pods\n // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n var example_AmazonEKSVPCResourceController = new RolePolicyAttachment(\"example-AmazonEKSVPCResourceController\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\")\n .role(example.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy: ${assumeRole.json}\n example-AmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${example.name}\n # Optionally, enable Security Groups for Pods\n # Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html\n example-AmazonEKSVPCResourceController:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\n role: ${example.name}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - eks.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling Control Plane Logging\n\n[EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `aws.cloudwatch.LogGroup` resource can be used.\n\n\u003e The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst clusterName = config.get(\"clusterName\") || \"example\";\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {\n name: `/aws/eks/${clusterName}/cluster`,\n retentionInDays: 7,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n enabledClusterLogTypes: [\n \"api\",\n \"audit\",\n ],\n name: clusterName,\n}, {\n dependsOn: [exampleLogGroup],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\ncluster_name = config.get(\"clusterName\")\nif cluster_name is None:\n cluster_name = \"example\"\nexample_log_group = aws.cloudwatch.LogGroup(\"example\",\n name=f\"/aws/eks/{cluster_name}/cluster\",\n retention_in_days=7)\nexample = aws.eks.Cluster(\"example\",\n enabled_cluster_log_types=[\n \"api\",\n \"audit\",\n ],\n name=cluster_name,\n opts = pulumi.ResourceOptions(depends_on=[example_log_group]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterName = config.Get(\"clusterName\") ?? \"example\";\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = $\"/aws/eks/{clusterName}/cluster\",\n RetentionInDays = 7,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n EnabledClusterLogTypes = new[]\n {\n \"api\",\n \"audit\",\n },\n Name = clusterName,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleLogGroup,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterName := \"example\"\n\t\tif param := cfg.Get(\"clusterName\"); param != \"\" {\n\t\t\tclusterName = param\n\t\t}\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.Sprintf(\"/aws/eks/%v/cluster\", clusterName),\n\t\t\tRetentionInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tEnabledClusterLogTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t},\n\t\t\tName: pulumi.String(clusterName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleLogGroup,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var clusterName = config.get(\"clusterName\").orElse(\"example\");\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\", LogGroupArgs.builder()\n .name(String.format(\"/aws/eks/%s/cluster\", clusterName))\n .retentionInDays(7)\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .enabledClusterLogTypes( \n \"api\",\n \"audit\")\n .name(clusterName)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleLogGroup)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterName:\n type: string\n default: example\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n enabledClusterLogTypes:\n - api\n - audit\n name: ${clusterName}\n options:\n dependson:\n - ${exampleLogGroup}\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n name: example\n properties:\n name: /aws/eks/${clusterName}/cluster\n retentionInDays: 7 # ... potentially other configuration ...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enabling IAM Roles for Service Accounts\n\nFor more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as std from \"@pulumi/std\";\nimport * as tls from \"@pulumi/tls\";\n\nconst exampleCluster = new aws.eks.Cluster(\"example\", {});\nconst example = exampleCluster.identities.apply(identities =\u003e tls.getCertificateOutput({\n url: identities[0].oidcs?.[0]?.issuer,\n}));\nconst exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider(\"example\", {\n clientIdLists: [\"sts.amazonaws.com\"],\n thumbprintLists: [example.apply(example =\u003e example.certificates?.[0]?.sha1Fingerprint)],\n url: example.apply(example =\u003e example.url),\n});\nconst exampleAssumeRolePolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRoleWithWebIdentity\"],\n effect: \"Allow\",\n conditions: [{\n test: \"StringEquals\",\n variable: std.replaceOutput({\n text: exampleOpenIdConnectProvider.url,\n search: \"https://\",\n replace: \"\",\n }).apply(invoke =\u003e `${invoke.result}:sub`),\n values: [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n principals: [{\n identifiers: [exampleOpenIdConnectProvider.arn],\n type: \"Federated\",\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.apply(exampleAssumeRolePolicy =\u003e exampleAssumeRolePolicy.json),\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_std as std\nimport pulumi_tls as tls\n\nexample_cluster = aws.eks.Cluster(\"example\")\nexample = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer))\nexample_open_id_connect_provider = aws.iam.OpenIdConnectProvider(\"example\",\n client_id_lists=[\"sts.amazonaws.com\"],\n thumbprint_lists=[example.certificates[0].sha1_fingerprint],\n url=example.url)\nexample_assume_role_policy = aws.iam.get_policy_document_output(statements=[{\n \"actions\": [\"sts:AssumeRoleWithWebIdentity\"],\n \"effect\": \"Allow\",\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": std.replace_output(text=example_open_id_connect_provider.url,\n search=\"https://\",\n replace=\"\").apply(lambda invoke: f\"{invoke.result}:sub\"),\n \"values\": [\"system:serviceaccount:kube-system:aws-node\"],\n }],\n \"principals\": [{\n \"identifiers\": [example_open_id_connect_provider.arn],\n \"type\": \"Federated\",\n }],\n}])\nexample_role = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy.json,\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Std = Pulumi.Std;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Eks.Cluster(\"example\");\n\n var example = Tls.GetCertificate.Invoke(new()\n {\n Url = exampleCluster.Identities[0].Oidcs[0]?.Issuer,\n });\n\n var exampleOpenIdConnectProvider = new Aws.Iam.OpenIdConnectProvider(\"example\", new()\n {\n ClientIdLists = new[]\n {\n \"sts.amazonaws.com\",\n },\n ThumbprintLists = new[]\n {\n example.Apply(getCertificateResult =\u003e getCertificateResult.Certificates[0]?.Sha1Fingerprint),\n },\n Url = example.Apply(getCertificateResult =\u003e getCertificateResult.Url),\n });\n\n var exampleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRoleWithWebIdentity\",\n },\n Effect = \"Allow\",\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = $\"{Std.Replace.Invoke(new()\n {\n Text = exampleOpenIdConnectProvider.Url,\n Search = \"https://\",\n Replace = \"\",\n }).Result}:sub\",\n Values = new[]\n {\n \"system:serviceaccount:kube-system:aws-node\",\n },\n },\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n exampleOpenIdConnectProvider.Arn,\n },\n Type = \"Federated\",\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-tls/sdk/v4/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := eks.NewCluster(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (tls.GetCertificateResult, error) {\n\t\t\treturn tls.GetCertificateResult(interface{}(tls.GetCertificateOutput(ctx, tls.GetCertificateOutputArgs{\n\t\t\t\tUrl: identities[0].Oidcs[0].Issuer,\n\t\t\t}, nil))), nil\n\t\t}).(tls.GetCertificateResultOutput)\n\t\texampleOpenIdConnectProvider, err := iam.NewOpenIdConnectProvider(ctx, \"example\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sts.amazonaws.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(example.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\t\treturn \u0026example.Certificates[0].Sha1Fingerprint, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t\tUrl: pulumi.String(example.ApplyT(func(example tls.GetCertificateResult) (*string, error) {\n\t\t\t\treturn \u0026example.Url, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssumeRolePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRoleWithWebIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"StringEquals\"),\n\t\t\t\t\t\t\tVariable: std.ReplaceOutput(ctx, std.ReplaceOutputArgs{\n\t\t\t\t\t\t\t\tText: exampleOpenIdConnectProvider.Url,\n\t\t\t\t\t\t\t\tSearch: pulumi.String(\"https://\"),\n\t\t\t\t\t\t\t\tReplace: pulumi.String(\"\"),\n\t\t\t\t\t\t\t}, nil).ApplyT(func(invoke std.ReplaceResult) (string, error) {\n\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:sub\", invoke.Result), nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"system:serviceaccount:kube-system:aws-node\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\texampleOpenIdConnectProvider.Arn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Federated\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(exampleAssumeRolePolicy.ApplyT(func(exampleAssumeRolePolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026exampleAssumeRolePolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.tls.TlsFunctions;\nimport com.pulumi.tls.inputs.GetCertificateArgs;\nimport com.pulumi.aws.iam.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\");\n\n final var example = TlsFunctions.getCertificate(GetCertificateArgs.builder()\n .url(exampleCluster.identities().applyValue(identities -\u003e identities[0].oidcs()[0].issuer()))\n .build());\n\n var exampleOpenIdConnectProvider = new OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", OpenIdConnectProviderArgs.builder()\n .clientIdLists(\"sts.amazonaws.com\")\n .thumbprintLists(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.certificates()[0].sha1Fingerprint())))\n .url(example.applyValue(getCertificateResult -\u003e getCertificateResult).applyValue(example -\u003e example.applyValue(getCertificateResult -\u003e getCertificateResult.url())))\n .build());\n\n final var exampleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRoleWithWebIdentity\")\n .effect(\"Allow\")\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(StdFunctions.replace().applyValue(invoke -\u003e String.format(\"%s:sub\", invoke.result())))\n .values(\"system:serviceaccount:kube-system:aws-node\")\n .build())\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(exampleOpenIdConnectProvider.arn())\n .type(\"Federated\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -\u003e exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n exampleOpenIdConnectProvider:\n type: aws:iam:OpenIdConnectProvider\n name: example\n properties:\n clientIdLists:\n - sts.amazonaws.com\n thumbprintLists:\n - ${example.certificates[0].sha1Fingerprint}\n url: ${example.url}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\nvariables:\n example:\n fn::invoke:\n Function: tls:getCertificate\n Arguments:\n url: ${exampleCluster.identities[0].oidcs[0].issuer}\n exampleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRoleWithWebIdentity\n effect: Allow\n conditions:\n - test: StringEquals\n variable:\n fn::join:\n -\n - - fn::invoke:\n Function: std:replace\n Arguments:\n text: ${exampleOpenIdConnectProvider.url}\n search: https://\n replace:\n Return: result\n - :sub\n values:\n - system:serviceaccount:kube-system:aws-node\n principals:\n - identifiers:\n - ${exampleOpenIdConnectProvider.arn}\n type: Federated\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster on AWS Outpost\n\n[Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.json,\n name: \"example\",\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example-cluster\",\n roleArn: example.arn,\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n },\n outpostConfig: {\n controlPlaneInstanceType: \"m5d.large\",\n outpostArns: [exampleAwsOutpostsOutpost.arn],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy[\"json\"],\n name=\"example\")\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example-cluster\",\n role_arn=example.arn,\n vpc_config={\n \"endpoint_private_access\": True,\n \"endpoint_public_access\": False,\n },\n outpost_config={\n \"control_plane_instance_type\": \"m5d.large\",\n \"outpost_arns\": [example_aws_outposts_outpost[\"arn\"]],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Json,\n Name = \"example\",\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example-cluster\",\n RoleArn = example.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n },\n OutpostConfig = new Aws.Eks.Inputs.ClusterOutpostConfigArgs\n {\n ControlPlaneInstanceType = \"m5d.large\",\n OutpostArns = new[]\n {\n exampleAwsOutpostsOutpost.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(exampleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example-cluster\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t\tOutpostConfig: \u0026eks.ClusterOutpostConfigArgs{\n\t\t\t\tControlPlaneInstanceType: pulumi.String(\"m5d.large\"),\n\t\t\t\tOutpostArns: pulumi.StringArray{\n\t\t\t\t\texampleAwsOutpostsOutpost.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.json())\n .name(\"example\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .name(\"example-cluster\")\n .roleArn(example.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .build())\n .outpostConfig(ClusterOutpostConfigArgs.builder()\n .controlPlaneInstanceType(\"m5d.large\")\n .outpostArns(exampleAwsOutpostsOutpost.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example-cluster\n roleArn: ${example.arn}\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n outpostConfig:\n controlPlaneInstanceType: m5d.large\n outpostArns:\n - ${exampleAwsOutpostsOutpost.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with Access Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAssumeRolePolicy.json,\n name: \"example\",\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example-cluster\",\n roleArn: example.arn,\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n },\n accessConfig: {\n authenticationMode: \"CONFIG_MAP\",\n bootstrapClusterCreatorAdminPermissions: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_assume_role_policy[\"json\"],\n name=\"example\")\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example-cluster\",\n role_arn=example.arn,\n vpc_config={\n \"endpoint_private_access\": True,\n \"endpoint_public_access\": False,\n },\n access_config={\n \"authentication_mode\": \"CONFIG_MAP\",\n \"bootstrap_cluster_creator_admin_permissions\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAssumeRolePolicy.Json,\n Name = \"example\",\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example-cluster\",\n RoleArn = example.Arn,\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n },\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"CONFIG_MAP\",\n BootstrapClusterCreatorAdminPermissions = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(exampleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example-cluster\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"CONFIG_MAP\"),\n\t\t\t\tBootstrapClusterCreatorAdminPermissions: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(exampleAssumeRolePolicy.json())\n .name(\"example\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .name(\"example-cluster\")\n .roleArn(example.arn())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .build())\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"CONFIG_MAP\")\n .bootstrapClusterCreatorAdminPermissions(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAssumeRolePolicy.json}\n name: example\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example-cluster\n roleArn: ${example.arn}\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n accessConfig:\n authenticationMode: CONFIG_MAP\n bootstrapClusterCreatorAdminPermissions: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAfter adding inline IAM Policies (e.g., `aws.iam.RolePolicy` resource) or attaching IAM Policies (e.g., `aws.iam.Policy` resource and `aws.iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetes_service_account` resource) and recreate any pods.\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `name`. For example:\n\n```sh\n$ pulumi import aws:eks/cluster:Cluster my_cluster my_cluster\n```\n", + "description": "Manages an EKS Cluster.\n\n## Example Usage\n\n### EKS Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"eks.amazonaws.com\",\n },\n }],\n }),\n});\nconst clusterAmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: cluster.name,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"API\",\n },\n roleArn: exampleAwsIamRole.arn,\n version: \"1.31\",\n vpcConfig: {\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n}, {\n dependsOn: [clusterAmazonEKSClusterPolicy],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"eks.amazonaws.com\",\n },\n }],\n }))\ncluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=cluster.name)\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"API\",\n },\n role_arn=example_aws_iam_role[\"arn\"],\n version=\"1.31\",\n vpc_config={\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_cluster_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"eks.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = cluster.Name,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"API\",\n },\n RoleArn = exampleAwsIamRole.Arn,\n Version = \"1.31\",\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSClusterPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"eks.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSClusterPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"eks.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"API\")\n .build())\n .roleArn(exampleAwsIamRole.arn())\n .version(\"1.31\")\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(clusterAmazonEKSClusterPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${exampleAwsIamRole.arn}\n version: '1.31'\n vpcConfig:\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependson:\n - ${clusterAmazonEKSClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with EKS Auto Mode\n\n\u003e **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst node = new aws.iam.Role(\"node\", {\n name: \"eks-auto-node-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"sts:AssumeRole\"],\n Effect: \"Allow\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: \"eks.amazonaws.com\",\n },\n }],\n }),\n});\nconst clusterAmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSComputePolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSBlockStoragePolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSLoadBalancingPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n role: cluster.name,\n});\nconst clusterAmazonEKSNetworkingPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n role: cluster.name,\n});\nconst example = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"API\",\n },\n roleArn: cluster.arn,\n version: \"1.31\",\n computeConfig: {\n enabled: true,\n nodePools: [\"general-purpose\"],\n nodeRoleArn: node.arn,\n },\n kubernetesNetworkConfig: {\n elasticLoadBalancing: {\n enabled: true,\n },\n },\n storageConfig: {\n blockStorage: {\n enabled: true,\n },\n },\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: true,\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n}, {\n dependsOn: [\n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy,\n ],\n});\nconst nodeAmazonEKSWorkerNodeMinimalPolicy = new aws.iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n role: node.name,\n});\nconst nodeAmazonEC2ContainerRegistryPullOnly = new aws.iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n role: node.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nnode = aws.iam.Role(\"node\",\n name=\"eks-auto-node-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"sts:AssumeRole\"],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"eks.amazonaws.com\",\n },\n }],\n }))\ncluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n role=cluster.name)\ncluster_amazon_eks_compute_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n role=cluster.name)\ncluster_amazon_eks_block_storage_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n role=cluster.name)\ncluster_amazon_eks_load_balancing_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n role=cluster.name)\ncluster_amazon_eks_networking_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n role=cluster.name)\nexample = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"API\",\n },\n role_arn=cluster.arn,\n version=\"1.31\",\n compute_config={\n \"enabled\": True,\n \"node_pools\": [\"general-purpose\"],\n \"node_role_arn\": node.arn,\n },\n kubernetes_network_config={\n \"elastic_load_balancing\": {\n \"enabled\": True,\n },\n },\n storage_config={\n \"block_storage\": {\n \"enabled\": True,\n },\n },\n vpc_config={\n \"endpoint_private_access\": True,\n \"endpoint_public_access\": True,\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n opts = pulumi.ResourceOptions(depends_on=[\n cluster_amazon_eks_cluster_policy,\n cluster_amazon_eks_compute_policy,\n cluster_amazon_eks_block_storage_policy,\n cluster_amazon_eks_load_balancing_policy,\n cluster_amazon_eks_networking_policy,\n ]))\nnode_amazon_eks_worker_node_minimal_policy = aws.iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n role=node.name)\nnode_amazon_ec2_container_registry_pull_only = aws.iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n role=node.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var node = new Aws.Iam.Role(\"node\", new()\n {\n Name = \"eks-auto-node-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"eks.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSComputePolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSComputePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSBlockStoragePolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSBlockStoragePolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSLoadBalancingPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSLoadBalancingPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\",\n Role = cluster.Name,\n });\n\n var clusterAmazonEKSNetworkingPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSNetworkingPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\",\n Role = cluster.Name,\n });\n\n var example = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"API\",\n },\n RoleArn = cluster.Arn,\n Version = \"1.31\",\n ComputeConfig = new Aws.Eks.Inputs.ClusterComputeConfigArgs\n {\n Enabled = true,\n NodePools = new[]\n {\n \"general-purpose\",\n },\n NodeRoleArn = node.Arn,\n },\n KubernetesNetworkConfig = new Aws.Eks.Inputs.ClusterKubernetesNetworkConfigArgs\n {\n ElasticLoadBalancing = new Aws.Eks.Inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs\n {\n Enabled = true,\n },\n },\n StorageConfig = new Aws.Eks.Inputs.ClusterStorageConfigArgs\n {\n BlockStorage = new Aws.Eks.Inputs.ClusterStorageConfigBlockStorageArgs\n {\n Enabled = true,\n },\n },\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = true,\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy,\n },\n });\n\n var nodeAmazonEKSWorkerNodeMinimalPolicy = new Aws.Iam.RolePolicyAttachment(\"node_AmazonEKSWorkerNodeMinimalPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\",\n Role = node.Name,\n });\n\n var nodeAmazonEC2ContainerRegistryPullOnly = new Aws.Iam.RolePolicyAttachment(\"node_AmazonEC2ContainerRegistryPullOnly\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\",\n Role = node.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tnode, err := iam.NewRole(ctx, \"node\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-auto-node-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"eks.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSComputePolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSComputePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSBlockStoragePolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSBlockStoragePolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSLoadBalancingPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSLoadBalancingPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSNetworkingPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSNetworkingPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"API\"),\n\t\t\t},\n\t\t\tRoleArn: cluster.Arn,\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tComputeConfig: \u0026eks.ClusterComputeConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tNodePools: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"general-purpose\"),\n\t\t\t\t},\n\t\t\t\tNodeRoleArn: node.Arn,\n\t\t\t},\n\t\t\tKubernetesNetworkConfig: \u0026eks.ClusterKubernetesNetworkConfigArgs{\n\t\t\t\tElasticLoadBalancing: \u0026eks.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStorageConfig: \u0026eks.ClusterStorageConfigArgs{\n\t\t\t\tBlockStorage: \u0026eks.ClusterStorageConfigBlockStorageArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(true),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSClusterPolicy,\n\t\t\tclusterAmazonEKSComputePolicy,\n\t\t\tclusterAmazonEKSBlockStoragePolicy,\n\t\t\tclusterAmazonEKSLoadBalancingPolicy,\n\t\t\tclusterAmazonEKSNetworkingPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"node_AmazonEKSWorkerNodeMinimalPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\"),\n\t\t\tRole: node.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"node_AmazonEC2ContainerRegistryPullOnly\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\"),\n\t\t\tRole: node.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterComputeConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs;\nimport com.pulumi.aws.eks.inputs.ClusterStorageConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterStorageConfigBlockStorageArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var node = new Role(\"node\", RoleArgs.builder()\n .name(\"eks-auto-node-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"sts:AssumeRole\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"eks.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSComputePolicy = new RolePolicyAttachment(\"clusterAmazonEKSComputePolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSComputePolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSBlockStoragePolicy = new RolePolicyAttachment(\"clusterAmazonEKSBlockStoragePolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSLoadBalancingPolicy = new RolePolicyAttachment(\"clusterAmazonEKSLoadBalancingPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\")\n .role(cluster.name())\n .build());\n\n var clusterAmazonEKSNetworkingPolicy = new RolePolicyAttachment(\"clusterAmazonEKSNetworkingPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\")\n .role(cluster.name())\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"API\")\n .build())\n .roleArn(cluster.arn())\n .version(\"1.31\")\n .computeConfig(ClusterComputeConfigArgs.builder()\n .enabled(true)\n .nodePools(\"general-purpose\")\n .nodeRoleArn(node.arn())\n .build())\n .kubernetesNetworkConfig(ClusterKubernetesNetworkConfigArgs.builder()\n .elasticLoadBalancing(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.builder()\n .enabled(true)\n .build())\n .build())\n .storageConfig(ClusterStorageConfigArgs.builder()\n .blockStorage(ClusterStorageConfigBlockStorageArgs.builder()\n .enabled(true)\n .build())\n .build())\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(true)\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n clusterAmazonEKSClusterPolicy,\n clusterAmazonEKSComputePolicy,\n clusterAmazonEKSBlockStoragePolicy,\n clusterAmazonEKSLoadBalancingPolicy,\n clusterAmazonEKSNetworkingPolicy)\n .build());\n\n var nodeAmazonEKSWorkerNodeMinimalPolicy = new RolePolicyAttachment(\"nodeAmazonEKSWorkerNodeMinimalPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\")\n .role(node.name())\n .build());\n\n var nodeAmazonEC2ContainerRegistryPullOnly = new RolePolicyAttachment(\"nodeAmazonEC2ContainerRegistryPullOnly\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\")\n .role(node.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${cluster.arn}\n version: '1.31'\n computeConfig:\n enabled: true\n nodePools:\n - general-purpose\n nodeRoleArn: ${node.arn}\n kubernetesNetworkConfig:\n elasticLoadBalancing:\n enabled: true\n storageConfig:\n blockStorage:\n enabled: true\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: true\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependson:\n - ${clusterAmazonEKSClusterPolicy}\n - ${clusterAmazonEKSComputePolicy}\n - ${clusterAmazonEKSBlockStoragePolicy}\n - ${clusterAmazonEKSLoadBalancingPolicy}\n - ${clusterAmazonEKSNetworkingPolicy}\n node:\n type: aws:iam:Role\n properties:\n name: eks-auto-node-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n Effect: Allow\n Principal:\n Service: ec2.amazonaws.com\n nodeAmazonEKSWorkerNodeMinimalPolicy:\n type: aws:iam:RolePolicyAttachment\n name: node_AmazonEKSWorkerNodeMinimalPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy\n role: ${node.name}\n nodeAmazonEC2ContainerRegistryPullOnly:\n type: aws:iam:RolePolicyAttachment\n name: node_AmazonEC2ContainerRegistryPullOnly\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly\n role: ${node.name}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n clusterAmazonEKSComputePolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSComputePolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSComputePolicy\n role: ${cluster.name}\n clusterAmazonEKSBlockStoragePolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSBlockStoragePolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy\n role: ${cluster.name}\n clusterAmazonEKSLoadBalancingPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSLoadBalancingPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy\n role: ${cluster.name}\n clusterAmazonEKSNetworkingPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSNetworkingPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Cluster with EKS Hybrid Nodes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:eks:Cluster\n properties:\n name: example\n accessConfig:\n authenticationMode: API\n roleArn: ${cluster.arn}\n version: '1.31'\n clusterRemoteNetworkConfig:\n remoteNodeNetworks:\n cidrs:\n - 172.16.0.0/18\n remotePodNetworks:\n cidrs:\n - 172.16.64.0/18\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: true\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n options:\n dependson:\n - ${clusterAmazonEKSClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service: eks.amazonaws.com\n clusterAmazonEKSClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\n role: ${cluster.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Local EKS Cluster on AWS Outpost\n\n[Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.outposts.getOutpost({\n name: \"example\",\n});\nconst cluster = new aws.iam.Role(\"cluster\", {\n name: \"eks-cluster-example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n Effect: \"Allow\",\n Principal: {\n Service: [\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n ],\n },\n }],\n }),\n});\nconst clusterAmazonEKSLocalOutpostClusterPolicy = new aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\", {\n policyArn: \"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n role: cluster.name,\n});\nconst exampleCluster = new aws.eks.Cluster(\"example\", {\n name: \"example\",\n accessConfig: {\n authenticationMode: \"CONFIG_MAP\",\n },\n roleArn: exampleAwsIamRole.arn,\n version: \"1.31\",\n vpcConfig: {\n endpointPrivateAccess: true,\n endpointPublicAccess: false,\n subnetIds: [\n az1.id,\n az2.id,\n az3.id,\n ],\n },\n outpostConfig: {\n controlPlaneInstanceType: \"m5.large\",\n outpostArns: [example.then(example =\u003e example.arn)],\n },\n}, {\n dependsOn: [clusterAmazonEKSLocalOutpostClusterPolicy],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.outposts.get_outpost(name=\"example\")\ncluster = aws.iam.Role(\"cluster\",\n name=\"eks-cluster-example\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n ],\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": [\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n ],\n },\n }],\n }))\ncluster_amazon_eks_local_outpost_cluster_policy = aws.iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\",\n policy_arn=\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n role=cluster.name)\nexample_cluster = aws.eks.Cluster(\"example\",\n name=\"example\",\n access_config={\n \"authentication_mode\": \"CONFIG_MAP\",\n },\n role_arn=example_aws_iam_role[\"arn\"],\n version=\"1.31\",\n vpc_config={\n \"endpoint_private_access\": True,\n \"endpoint_public_access\": False,\n \"subnet_ids\": [\n az1[\"id\"],\n az2[\"id\"],\n az3[\"id\"],\n ],\n },\n outpost_config={\n \"control_plane_instance_type\": \"m5.large\",\n \"outpost_arns\": [example.arn],\n },\n opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_local_outpost_cluster_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Outposts.GetOutpost.Invoke(new()\n {\n Name = \"example\",\n });\n\n var cluster = new Aws.Iam.Role(\"cluster\", new()\n {\n Name = \"eks-cluster-example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"sts:AssumeRole\",\n \"sts:TagSession\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = new[]\n {\n \"eks.amazonaws.com\",\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n }),\n });\n\n var clusterAmazonEKSLocalOutpostClusterPolicy = new Aws.Iam.RolePolicyAttachment(\"cluster_AmazonEKSLocalOutpostClusterPolicy\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\",\n Role = cluster.Name,\n });\n\n var exampleCluster = new Aws.Eks.Cluster(\"example\", new()\n {\n Name = \"example\",\n AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs\n {\n AuthenticationMode = \"CONFIG_MAP\",\n },\n RoleArn = exampleAwsIamRole.Arn,\n Version = \"1.31\",\n VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs\n {\n EndpointPrivateAccess = true,\n EndpointPublicAccess = false,\n SubnetIds = new[]\n {\n az1.Id,\n az2.Id,\n az3.Id,\n },\n },\n OutpostConfig = new Aws.Eks.Inputs.ClusterOutpostConfigArgs\n {\n ControlPlaneInstanceType = \"m5.large\",\n OutpostArns = new[]\n {\n example.Apply(getOutpostResult =\u003e getOutpostResult.Arn),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n clusterAmazonEKSLocalOutpostClusterPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := outposts.GetOutpost(ctx, \u0026outposts.GetOutpostArgs{\n\t\t\tName: pulumi.StringRef(\"example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t\t\"sts:TagSession\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": []string{\n\t\t\t\t\t\t\t\"eks.amazonaws.com\",\n\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tcluster, err := iam.NewRole(ctx, \"cluster\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"eks-cluster-example\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterAmazonEKSLocalOutpostClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, \"cluster_AmazonEKSLocalOutpostClusterPolicy\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\"),\n\t\t\tRole: cluster.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eks.NewCluster(ctx, \"example\", \u0026eks.ClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAccessConfig: \u0026eks.ClusterAccessConfigArgs{\n\t\t\t\tAuthenticationMode: pulumi.String(\"CONFIG_MAP\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVersion: pulumi.String(\"1.31\"),\n\t\t\tVpcConfig: \u0026eks.ClusterVpcConfigArgs{\n\t\t\t\tEndpointPrivateAccess: pulumi.Bool(true),\n\t\t\t\tEndpointPublicAccess: pulumi.Bool(false),\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taz1.Id,\n\t\t\t\t\taz2.Id,\n\t\t\t\t\taz3.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutpostConfig: \u0026eks.ClusterOutpostConfigArgs{\n\t\t\t\tControlPlaneInstanceType: pulumi.String(\"m5.large\"),\n\t\t\t\tOutpostArns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(example.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tclusterAmazonEKSLocalOutpostClusterPolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.outposts.OutpostsFunctions;\nimport com.pulumi.aws.outposts.inputs.GetOutpostArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.eks.Cluster;\nimport com.pulumi.aws.eks.ClusterArgs;\nimport com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;\nimport com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()\n .name(\"example\")\n .build());\n\n var cluster = new Role(\"cluster\", RoleArgs.builder()\n .name(\"eks-cluster-example\")\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"sts:AssumeRole\", \n \"sts:TagSession\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", jsonArray(\n \"eks.amazonaws.com\", \n \"ec2.amazonaws.com\"\n ))\n ))\n )))\n )))\n .build());\n\n var clusterAmazonEKSLocalOutpostClusterPolicy = new RolePolicyAttachment(\"clusterAmazonEKSLocalOutpostClusterPolicy\", RolePolicyAttachmentArgs.builder()\n .policyArn(\"arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\")\n .role(cluster.name())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .name(\"example\")\n .accessConfig(ClusterAccessConfigArgs.builder()\n .authenticationMode(\"CONFIG_MAP\")\n .build())\n .roleArn(exampleAwsIamRole.arn())\n .version(\"1.31\")\n .vpcConfig(ClusterVpcConfigArgs.builder()\n .endpointPrivateAccess(true)\n .endpointPublicAccess(false)\n .subnetIds( \n az1.id(),\n az2.id(),\n az3.id())\n .build())\n .outpostConfig(ClusterOutpostConfigArgs.builder()\n .controlPlaneInstanceType(\"m5.large\")\n .outpostArns(example.applyValue(getOutpostResult -\u003e getOutpostResult.arn()))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(clusterAmazonEKSLocalOutpostClusterPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:eks:Cluster\n name: example\n properties:\n name: example\n accessConfig:\n authenticationMode: CONFIG_MAP\n roleArn: ${exampleAwsIamRole.arn}\n version: '1.31'\n vpcConfig:\n endpointPrivateAccess: true\n endpointPublicAccess: false\n subnetIds:\n - ${az1.id}\n - ${az2.id}\n - ${az3.id}\n outpostConfig:\n controlPlaneInstanceType: m5.large\n outpostArns:\n - ${example.arn}\n options:\n dependson:\n - ${clusterAmazonEKSLocalOutpostClusterPolicy}\n cluster:\n type: aws:iam:Role\n properties:\n name: eks-cluster-example\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - sts:AssumeRole\n - sts:TagSession\n Effect: Allow\n Principal:\n Service:\n - eks.amazonaws.com\n - ec2.amazonaws.com\n clusterAmazonEKSLocalOutpostClusterPolicy:\n type: aws:iam:RolePolicyAttachment\n name: cluster_AmazonEKSLocalOutpostClusterPolicy\n properties:\n policyArn: arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy\n role: ${cluster.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:outposts:getOutpost\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `name`. For example:\n\n```sh\n$ pulumi import aws:eks/cluster:Cluster my_cluster my_cluster\n```\n", "properties": { "accessConfig": { "$ref": "#/types/aws:eks/ClusterAccessConfig:ClusterAccessConfig", @@ -255995,6 +256517,10 @@ "type": "string", "description": "The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud.\n" }, + "computeConfig": { + "$ref": "#/types/aws:eks/ClusterComputeConfig:ClusterComputeConfig", + "description": "Configuration block with compute configuration for EKS Auto Mode. Detailed below.\n" + }, "createdAt": { "type": "string", "description": "Unix epoch timestamp in seconds for when the cluster was created.\n" @@ -256043,6 +256569,10 @@ "type": "string", "description": "Platform version for the cluster.\n" }, + "remoteNetworkConfig": { + "$ref": "#/types/aws:eks/ClusterRemoteNetworkConfig:ClusterRemoteNetworkConfig", + "description": "Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below.\n" + }, "roleArn": { "type": "string", "description": "ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion.\n" @@ -256051,6 +256581,10 @@ "type": "string", "description": "Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`.\n" }, + "storageConfig": { + "$ref": "#/types/aws:eks/ClusterStorageConfig:ClusterStorageConfig", + "description": "Configuration block with storage configuration for EKS Auto Mode. Detailed below.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -256112,6 +256646,10 @@ "description": "Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`.\n", "willReplaceOnChanges": true }, + "computeConfig": { + "$ref": "#/types/aws:eks/ClusterComputeConfig:ClusterComputeConfig", + "description": "Configuration block with compute configuration for EKS Auto Mode. Detailed below.\n" + }, "defaultAddonsToRemoves": { "type": "array", "items": { @@ -256142,11 +256680,20 @@ "$ref": "#/types/aws:eks/ClusterOutpostConfig:ClusterOutpostConfig", "description": "Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud.\n" }, + "remoteNetworkConfig": { + "$ref": "#/types/aws:eks/ClusterRemoteNetworkConfig:ClusterRemoteNetworkConfig", + "description": "Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below.\n", + "willReplaceOnChanges": true + }, "roleArn": { "type": "string", "description": "ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion.\n", "willReplaceOnChanges": true }, + "storageConfig": { + "$ref": "#/types/aws:eks/ClusterStorageConfig:ClusterStorageConfig", + "description": "Configuration block with storage configuration for EKS Auto Mode. Detailed below.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -256205,6 +256752,10 @@ "type": "string", "description": "The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud.\n" }, + "computeConfig": { + "$ref": "#/types/aws:eks/ClusterComputeConfig:ClusterComputeConfig", + "description": "Configuration block with compute configuration for EKS Auto Mode. Detailed below.\n" + }, "createdAt": { "type": "string", "description": "Unix epoch timestamp in seconds for when the cluster was created.\n" @@ -256254,6 +256805,11 @@ "type": "string", "description": "Platform version for the cluster.\n" }, + "remoteNetworkConfig": { + "$ref": "#/types/aws:eks/ClusterRemoteNetworkConfig:ClusterRemoteNetworkConfig", + "description": "Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below.\n", + "willReplaceOnChanges": true + }, "roleArn": { "type": "string", "description": "ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion.\n", @@ -256263,6 +256819,10 @@ "type": "string", "description": "Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`.\n" }, + "storageConfig": { + "$ref": "#/types/aws:eks/ClusterStorageConfig:ClusterStorageConfig", + "description": "Configuration block with storage configuration for EKS Auto Mode. Detailed below.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -292438,7 +292998,7 @@ } }, "aws:lambda/eventSourceMapping:EventSourceMapping": { - "description": "Provides a Lambda event source mapping. This allows Lambda functions to get events from Kinesis, DynamoDB, SQS, Amazon MQ and Managed Streaming for Apache Kafka (MSK).\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](http://docs.aws.amazon.com/lambda/latest/dg/welcome.html).\nFor information about event source mappings, see [CreateEventSourceMapping](http://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html) in the API docs.\n\n## Example Usage\n\n### DynamoDB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsDynamodbTable.streamArn,\n functionName: exampleAwsLambdaFunction.arn,\n startingPosition: \"LATEST\",\n tags: {\n Name: \"dynamodb\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_dynamodb_table[\"streamArn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n starting_position=\"LATEST\",\n tags={\n \"Name\": \"dynamodb\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsDynamodbTable.StreamArn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n StartingPosition = \"LATEST\",\n Tags = \n {\n { \"Name\", \"dynamodb\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsDynamodbTable.StreamArn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tStartingPosition: pulumi.String(\"LATEST\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"dynamodb\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsDynamodbTable.streamArn())\n .functionName(exampleAwsLambdaFunction.arn())\n .startingPosition(\"LATEST\")\n .tags(Map.of(\"Name\", \"dynamodb\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsDynamodbTable.streamArn}\n functionName: ${exampleAwsLambdaFunction.arn}\n startingPosition: LATEST\n tags:\n Name: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsKinesisStream.arn,\n functionName: exampleAwsLambdaFunction.arn,\n startingPosition: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_kinesis_stream[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n starting_position=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsKinesisStream.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n StartingPosition = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tStartingPosition: pulumi.String(\"LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsKinesisStream.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .startingPosition(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsKinesisStream.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n startingPosition: LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Streaming for Apache Kafka (MSK)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsMskCluster.arn,\n functionName: exampleAwsLambdaFunction.arn,\n topics: [\"Example\"],\n startingPosition: \"TRIM_HORIZON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_msk_cluster[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n topics=[\"Example\"],\n starting_position=\"TRIM_HORIZON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsMskCluster.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Topics = new[]\n {\n \"Example\",\n },\n StartingPosition = \"TRIM_HORIZON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tStartingPosition: pulumi.String(\"TRIM_HORIZON\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsMskCluster.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .topics(\"Example\")\n .startingPosition(\"TRIM_HORIZON\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsMskCluster.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n topics:\n - Example\n startingPosition: TRIM_HORIZON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Self Managed Apache Kafka\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n functionName: exampleAwsLambdaFunction.arn,\n topics: [\"Example\"],\n startingPosition: \"TRIM_HORIZON\",\n selfManagedEventSource: {\n endpoints: {\n KAFKA_BOOTSTRAP_SERVERS: \"kafka1.example.com:9092,kafka2.example.com:9092\",\n },\n },\n sourceAccessConfigurations: [\n {\n type: \"VPC_SUBNET\",\n uri: \"subnet:subnet-example1\",\n },\n {\n type: \"VPC_SUBNET\",\n uri: \"subnet:subnet-example2\",\n },\n {\n type: \"VPC_SECURITY_GROUP\",\n uri: \"security_group:sg-example\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n function_name=example_aws_lambda_function[\"arn\"],\n topics=[\"Example\"],\n starting_position=\"TRIM_HORIZON\",\n self_managed_event_source={\n \"endpoints\": {\n \"KAFKA_BOOTSTRAP_SERVERS\": \"kafka1.example.com:9092,kafka2.example.com:9092\",\n },\n },\n source_access_configurations=[\n {\n \"type\": \"VPC_SUBNET\",\n \"uri\": \"subnet:subnet-example1\",\n },\n {\n \"type\": \"VPC_SUBNET\",\n \"uri\": \"subnet:subnet-example2\",\n },\n {\n \"type\": \"VPC_SECURITY_GROUP\",\n \"uri\": \"security_group:sg-example\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n FunctionName = exampleAwsLambdaFunction.Arn,\n Topics = new[]\n {\n \"Example\",\n },\n StartingPosition = \"TRIM_HORIZON\",\n SelfManagedEventSource = new Aws.Lambda.Inputs.EventSourceMappingSelfManagedEventSourceArgs\n {\n Endpoints = \n {\n { \"KAFKA_BOOTSTRAP_SERVERS\", \"kafka1.example.com:9092,kafka2.example.com:9092\" },\n },\n },\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SUBNET\",\n Uri = \"subnet:subnet-example1\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SUBNET\",\n Uri = \"subnet:subnet-example2\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VPC_SECURITY_GROUP\",\n Uri = \"security_group:sg-example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tStartingPosition: pulumi.String(\"TRIM_HORIZON\"),\n\t\t\tSelfManagedEventSource: \u0026lambda.EventSourceMappingSelfManagedEventSourceArgs{\n\t\t\t\tEndpoints: pulumi.StringMap{\n\t\t\t\t\t\"KAFKA_BOOTSTRAP_SERVERS\": pulumi.String(\"kafka1.example.com:9092,kafka2.example.com:9092\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SUBNET\"),\n\t\t\t\t\tUri: pulumi.String(\"subnet:subnet-example1\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SUBNET\"),\n\t\t\t\t\tUri: pulumi.String(\"subnet:subnet-example2\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VPC_SECURITY_GROUP\"),\n\t\t\t\t\tUri: pulumi.String(\"security_group:sg-example\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedEventSourceArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .functionName(exampleAwsLambdaFunction.arn())\n .topics(\"Example\")\n .startingPosition(\"TRIM_HORIZON\")\n .selfManagedEventSource(EventSourceMappingSelfManagedEventSourceArgs.builder()\n .endpoints(Map.of(\"KAFKA_BOOTSTRAP_SERVERS\", \"kafka1.example.com:9092,kafka2.example.com:9092\"))\n .build())\n .sourceAccessConfigurations( \n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SUBNET\")\n .uri(\"subnet:subnet-example1\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SUBNET\")\n .uri(\"subnet:subnet-example2\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SECURITY_GROUP\")\n .uri(\"security_group:sg-example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n functionName: ${exampleAwsLambdaFunction.arn}\n topics:\n - Example\n startingPosition: TRIM_HORIZON\n selfManagedEventSource:\n endpoints:\n KAFKA_BOOTSTRAP_SERVERS: kafka1.example.com:9092,kafka2.example.com:9092\n sourceAccessConfigurations:\n - type: VPC_SUBNET\n uri: subnet:subnet-example1\n - type: VPC_SUBNET\n uri: subnet:subnet-example2\n - type: VPC_SECURITY_GROUP\n uri: security_group:sg-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: sqsQueueTest.arn,\n functionName: exampleAwsLambdaFunction.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=sqs_queue_test[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = sqsQueueTest.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(sqsQueueTest.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(sqsQueueTest.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${sqsQueueTest.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS with event filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: sqsQueueTest.arn,\n functionName: exampleAwsLambdaFunction.arn,\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n body: {\n Temperature: [{\n numeric: [\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n ],\n }],\n Location: [\"New York\"],\n },\n }),\n }],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=sqs_queue_test[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n filter_criteria={\n \"filters\": [{\n \"pattern\": json.dumps({\n \"body\": {\n \"Temperature\": [{\n \"numeric\": [\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n ],\n }],\n \"Location\": [\"New York\"],\n },\n }),\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = sqsQueueTest.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n FilterCriteria = new Aws.Lambda.Inputs.EventSourceMappingFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"body\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Temperature\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"numeric\"] = new object?[]\n {\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n },\n },\n },\n [\"Location\"] = new[]\n {\n \"New York\",\n },\n },\n }),\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"body\": map[string]interface{}{\n\t\t\t\t\"Temperature\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"numeric\": []interface{}{\n\t\t\t\t\t\t\t\"\u003e\",\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\"\u003c=\",\n\t\t\t\t\t\t\t100,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Location\": []string{\n\t\t\t\t\t\"New York\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(sqsQueueTest.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tFilterCriteria: \u0026lambda.EventSourceMappingFilterCriteriaArgs{\n\t\t\t\tFilters: lambda.EventSourceMappingFilterCriteriaFilterArray{\n\t\t\t\t\t\u0026lambda.EventSourceMappingFilterCriteriaFilterArgs{\n\t\t\t\t\t\tPattern: pulumi.String(json0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingFilterCriteriaArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(sqsQueueTest.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .filterCriteria(EventSourceMappingFilterCriteriaArgs.builder()\n .filters(EventSourceMappingFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"body\", jsonObject(\n jsonProperty(\"Temperature\", jsonArray(jsonObject(\n jsonProperty(\"numeric\", jsonArray(\n \"\u003e\", \n 0, \n \"\u003c=\", \n 100\n ))\n ))),\n jsonProperty(\"Location\", jsonArray(\"New York\"))\n ))\n )))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${sqsQueueTest.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n body:\n Temperature:\n - numeric:\n - '\u003e'\n - 0\n - \u003c=\n - 100\n Location:\n - New York\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon MQ (ActiveMQ)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n batchSize: 10,\n eventSourceArn: exampleAwsMqBroker.arn,\n enabled: true,\n functionName: exampleAwsLambdaFunction.arn,\n queues: \"example\",\n sourceAccessConfigurations: [{\n type: \"BASIC_AUTH\",\n uri: exampleAwsSecretsmanagerSecretVersion.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n batch_size=10,\n event_source_arn=example_aws_mq_broker[\"arn\"],\n enabled=True,\n function_name=example_aws_lambda_function[\"arn\"],\n queues=\"example\",\n source_access_configurations=[{\n \"type\": \"BASIC_AUTH\",\n \"uri\": example_aws_secretsmanager_secret_version[\"arn\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n BatchSize = 10,\n EventSourceArn = exampleAwsMqBroker.Arn,\n Enabled = true,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Queues = \"example\",\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"BASIC_AUTH\",\n Uri = exampleAwsSecretsmanagerSecretVersion.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tBatchSize: pulumi.Int(10),\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMqBroker.Arn),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tQueues: pulumi.String(\"example\"),\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\t\tUri: pulumi.Any(exampleAwsSecretsmanagerSecretVersion.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .batchSize(10)\n .eventSourceArn(exampleAwsMqBroker.arn())\n .enabled(true)\n .functionName(exampleAwsLambdaFunction.arn())\n .queues(\"example\")\n .sourceAccessConfigurations(EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"BASIC_AUTH\")\n .uri(exampleAwsSecretsmanagerSecretVersion.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n batchSize: 10\n eventSourceArn: ${exampleAwsMqBroker.arn}\n enabled: true\n functionName: ${exampleAwsLambdaFunction.arn}\n queues: example\n sourceAccessConfigurations:\n - type: BASIC_AUTH\n uri: ${exampleAwsSecretsmanagerSecretVersion.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon MQ (RabbitMQ)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n batchSize: 1,\n eventSourceArn: exampleAwsMqBroker.arn,\n enabled: true,\n functionName: exampleAwsLambdaFunction.arn,\n queues: \"example\",\n sourceAccessConfigurations: [\n {\n type: \"VIRTUAL_HOST\",\n uri: \"/example\",\n },\n {\n type: \"BASIC_AUTH\",\n uri: exampleAwsSecretsmanagerSecretVersion.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n batch_size=1,\n event_source_arn=example_aws_mq_broker[\"arn\"],\n enabled=True,\n function_name=example_aws_lambda_function[\"arn\"],\n queues=\"example\",\n source_access_configurations=[\n {\n \"type\": \"VIRTUAL_HOST\",\n \"uri\": \"/example\",\n },\n {\n \"type\": \"BASIC_AUTH\",\n \"uri\": example_aws_secretsmanager_secret_version[\"arn\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n BatchSize = 1,\n EventSourceArn = exampleAwsMqBroker.Arn,\n Enabled = true,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Queues = \"example\",\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VIRTUAL_HOST\",\n Uri = \"/example\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"BASIC_AUTH\",\n Uri = exampleAwsSecretsmanagerSecretVersion.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tBatchSize: pulumi.Int(1),\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMqBroker.Arn),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tQueues: pulumi.String(\"example\"),\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VIRTUAL_HOST\"),\n\t\t\t\t\tUri: pulumi.String(\"/example\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\t\tUri: pulumi.Any(exampleAwsSecretsmanagerSecretVersion.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .batchSize(1)\n .eventSourceArn(exampleAwsMqBroker.arn())\n .enabled(true)\n .functionName(exampleAwsLambdaFunction.arn())\n .queues(\"example\")\n .sourceAccessConfigurations( \n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VIRTUAL_HOST\")\n .uri(\"/example\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"BASIC_AUTH\")\n .uri(exampleAwsSecretsmanagerSecretVersion.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n batchSize: 1\n eventSourceArn: ${exampleAwsMqBroker.arn}\n enabled: true\n functionName: ${exampleAwsLambdaFunction.arn}\n queues: example\n sourceAccessConfigurations:\n - type: VIRTUAL_HOST\n uri: /example\n - type: BASIC_AUTH\n uri: ${exampleAwsSecretsmanagerSecretVersion.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda event source mappings using the `UUID` (event source mapping identifier). For example:\n\n```sh\n$ pulumi import aws:lambda/eventSourceMapping:EventSourceMapping event_source_mapping 12345kxodurf3443\n```\n", + "description": "Provides a Lambda event source mapping. This allows Lambda functions to get events from Kinesis, DynamoDB, SQS, Amazon MQ and Managed Streaming for Apache Kafka (MSK).\n\nFor information about Lambda and how to use it, see [What is AWS Lambda?](http://docs.aws.amazon.com/lambda/latest/dg/welcome.html).\nFor information about event source mappings, see [CreateEventSourceMapping](http://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html) in the API docs.\n\n## Example Usage\n\n### DynamoDB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsDynamodbTable.streamArn,\n functionName: exampleAwsLambdaFunction.arn,\n startingPosition: \"LATEST\",\n tags: {\n Name: \"dynamodb\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_dynamodb_table[\"streamArn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n starting_position=\"LATEST\",\n tags={\n \"Name\": \"dynamodb\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsDynamodbTable.StreamArn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n StartingPosition = \"LATEST\",\n Tags = \n {\n { \"Name\", \"dynamodb\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsDynamodbTable.StreamArn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tStartingPosition: pulumi.String(\"LATEST\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"dynamodb\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsDynamodbTable.streamArn())\n .functionName(exampleAwsLambdaFunction.arn())\n .startingPosition(\"LATEST\")\n .tags(Map.of(\"Name\", \"dynamodb\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsDynamodbTable.streamArn}\n functionName: ${exampleAwsLambdaFunction.arn}\n startingPosition: LATEST\n tags:\n Name: dynamodb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Kinesis\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsKinesisStream.arn,\n functionName: exampleAwsLambdaFunction.arn,\n startingPosition: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_kinesis_stream[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n starting_position=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsKinesisStream.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n StartingPosition = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsKinesisStream.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tStartingPosition: pulumi.String(\"LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsKinesisStream.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .startingPosition(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsKinesisStream.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n startingPosition: LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Managed Streaming for Apache Kafka (MSK)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: exampleAwsMskCluster.arn,\n functionName: exampleAwsLambdaFunction.arn,\n topics: [\"Example\"],\n startingPosition: \"TRIM_HORIZON\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=example_aws_msk_cluster[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n topics=[\"Example\"],\n starting_position=\"TRIM_HORIZON\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = exampleAwsMskCluster.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Topics = new[]\n {\n \"Example\",\n },\n StartingPosition = \"TRIM_HORIZON\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Example\"),\n\t\t\t},\n\t\t\tStartingPosition: pulumi.String(\"TRIM_HORIZON\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(exampleAwsMskCluster.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .topics(\"Example\")\n .startingPosition(\"TRIM_HORIZON\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${exampleAwsMskCluster.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n topics:\n - Example\n startingPosition: TRIM_HORIZON\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Self Managed Apache Kafka\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingProvisionedPollerConfigArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedEventSourceArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .functionName(exampleAwsLambdaFunction.arn())\n .topics(\"Example\")\n .startingPosition(\"TRIM_HORIZON\")\n .provisionedPollerConfig(EventSourceMappingProvisionedPollerConfigArgs.builder()\n .maximumPoller(80)\n .minimumPoller(10)\n .build())\n .selfManagedEventSource(EventSourceMappingSelfManagedEventSourceArgs.builder()\n .endpoints(Map.of(\"KAFKA_BOOTSTRAP_SERVERS\", \"kafka1.example.com:9092,kafka2.example.com:9092\"))\n .build())\n .sourceAccessConfigurations( \n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SUBNET\")\n .uri(\"subnet:subnet-example1\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SUBNET\")\n .uri(\"subnet:subnet-example2\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VPC_SECURITY_GROUP\")\n .uri(\"security_group:sg-example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n functionName: ${exampleAwsLambdaFunction.arn}\n topics:\n - Example\n startingPosition: TRIM_HORIZON\n provisionedPollerConfig:\n maximumPoller: 80\n minimumPoller: 10\n selfManagedEventSource:\n endpoints:\n KAFKA_BOOTSTRAP_SERVERS: kafka1.example.com:9092,kafka2.example.com:9092\n sourceAccessConfigurations:\n - type: VPC_SUBNET\n uri: subnet:subnet-example1\n - type: VPC_SUBNET\n uri: subnet:subnet-example2\n - type: VPC_SECURITY_GROUP\n uri: security_group:sg-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: sqsQueueTest.arn,\n functionName: exampleAwsLambdaFunction.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=sqs_queue_test[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = sqsQueueTest.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(sqsQueueTest.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(sqsQueueTest.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${sqsQueueTest.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS with event filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n eventSourceArn: sqsQueueTest.arn,\n functionName: exampleAwsLambdaFunction.arn,\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n body: {\n Temperature: [{\n numeric: [\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n ],\n }],\n Location: [\"New York\"],\n },\n }),\n }],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n event_source_arn=sqs_queue_test[\"arn\"],\n function_name=example_aws_lambda_function[\"arn\"],\n filter_criteria={\n \"filters\": [{\n \"pattern\": json.dumps({\n \"body\": {\n \"Temperature\": [{\n \"numeric\": [\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n ],\n }],\n \"Location\": [\"New York\"],\n },\n }),\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n EventSourceArn = sqsQueueTest.Arn,\n FunctionName = exampleAwsLambdaFunction.Arn,\n FilterCriteria = new Aws.Lambda.Inputs.EventSourceMappingFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"body\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Temperature\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"numeric\"] = new object?[]\n {\n \"\u003e\",\n 0,\n \"\u003c=\",\n 100,\n },\n },\n },\n [\"Location\"] = new[]\n {\n \"New York\",\n },\n },\n }),\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"body\": map[string]interface{}{\n\t\t\t\t\"Temperature\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"numeric\": []interface{}{\n\t\t\t\t\t\t\t\"\u003e\",\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\"\u003c=\",\n\t\t\t\t\t\t\t100,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"Location\": []string{\n\t\t\t\t\t\"New York\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tEventSourceArn: pulumi.Any(sqsQueueTest.Arn),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tFilterCriteria: \u0026lambda.EventSourceMappingFilterCriteriaArgs{\n\t\t\t\tFilters: lambda.EventSourceMappingFilterCriteriaFilterArray{\n\t\t\t\t\t\u0026lambda.EventSourceMappingFilterCriteriaFilterArgs{\n\t\t\t\t\t\tPattern: pulumi.String(json0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingFilterCriteriaArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .eventSourceArn(sqsQueueTest.arn())\n .functionName(exampleAwsLambdaFunction.arn())\n .filterCriteria(EventSourceMappingFilterCriteriaArgs.builder()\n .filters(EventSourceMappingFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"body\", jsonObject(\n jsonProperty(\"Temperature\", jsonArray(jsonObject(\n jsonProperty(\"numeric\", jsonArray(\n \"\u003e\", \n 0, \n \"\u003c=\", \n 100\n ))\n ))),\n jsonProperty(\"Location\", jsonArray(\"New York\"))\n ))\n )))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n eventSourceArn: ${sqsQueueTest.arn}\n functionName: ${exampleAwsLambdaFunction.arn}\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n body:\n Temperature:\n - numeric:\n - '\u003e'\n - 0\n - \u003c=\n - 100\n Location:\n - New York\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon MQ (ActiveMQ)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n batchSize: 10,\n eventSourceArn: exampleAwsMqBroker.arn,\n enabled: true,\n functionName: exampleAwsLambdaFunction.arn,\n queues: \"example\",\n sourceAccessConfigurations: [{\n type: \"BASIC_AUTH\",\n uri: exampleAwsSecretsmanagerSecretVersion.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n batch_size=10,\n event_source_arn=example_aws_mq_broker[\"arn\"],\n enabled=True,\n function_name=example_aws_lambda_function[\"arn\"],\n queues=\"example\",\n source_access_configurations=[{\n \"type\": \"BASIC_AUTH\",\n \"uri\": example_aws_secretsmanager_secret_version[\"arn\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n BatchSize = 10,\n EventSourceArn = exampleAwsMqBroker.Arn,\n Enabled = true,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Queues = \"example\",\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"BASIC_AUTH\",\n Uri = exampleAwsSecretsmanagerSecretVersion.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tBatchSize: pulumi.Int(10),\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMqBroker.Arn),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tQueues: pulumi.String(\"example\"),\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\t\tUri: pulumi.Any(exampleAwsSecretsmanagerSecretVersion.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .batchSize(10)\n .eventSourceArn(exampleAwsMqBroker.arn())\n .enabled(true)\n .functionName(exampleAwsLambdaFunction.arn())\n .queues(\"example\")\n .sourceAccessConfigurations(EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"BASIC_AUTH\")\n .uri(exampleAwsSecretsmanagerSecretVersion.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n batchSize: 10\n eventSourceArn: ${exampleAwsMqBroker.arn}\n enabled: true\n functionName: ${exampleAwsLambdaFunction.arn}\n queues: example\n sourceAccessConfigurations:\n - type: BASIC_AUTH\n uri: ${exampleAwsSecretsmanagerSecretVersion.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Amazon MQ (RabbitMQ)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.lambda.EventSourceMapping(\"example\", {\n batchSize: 1,\n eventSourceArn: exampleAwsMqBroker.arn,\n enabled: true,\n functionName: exampleAwsLambdaFunction.arn,\n queues: \"example\",\n sourceAccessConfigurations: [\n {\n type: \"VIRTUAL_HOST\",\n uri: \"/example\",\n },\n {\n type: \"BASIC_AUTH\",\n uri: exampleAwsSecretsmanagerSecretVersion.arn,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.EventSourceMapping(\"example\",\n batch_size=1,\n event_source_arn=example_aws_mq_broker[\"arn\"],\n enabled=True,\n function_name=example_aws_lambda_function[\"arn\"],\n queues=\"example\",\n source_access_configurations=[\n {\n \"type\": \"VIRTUAL_HOST\",\n \"uri\": \"/example\",\n },\n {\n \"type\": \"BASIC_AUTH\",\n \"uri\": example_aws_secretsmanager_secret_version[\"arn\"],\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lambda.EventSourceMapping(\"example\", new()\n {\n BatchSize = 1,\n EventSourceArn = exampleAwsMqBroker.Arn,\n Enabled = true,\n FunctionName = exampleAwsLambdaFunction.Arn,\n Queues = \"example\",\n SourceAccessConfigurations = new[]\n {\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"VIRTUAL_HOST\",\n Uri = \"/example\",\n },\n new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs\n {\n Type = \"BASIC_AUTH\",\n Uri = exampleAwsSecretsmanagerSecretVersion.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lambda.NewEventSourceMapping(ctx, \"example\", \u0026lambda.EventSourceMappingArgs{\n\t\t\tBatchSize: pulumi.Int(1),\n\t\t\tEventSourceArn: pulumi.Any(exampleAwsMqBroker.Arn),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tFunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn),\n\t\t\tQueues: pulumi.String(\"example\"),\n\t\t\tSourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"VIRTUAL_HOST\"),\n\t\t\t\t\tUri: pulumi.String(\"/example\"),\n\t\t\t\t},\n\t\t\t\t\u0026lambda.EventSourceMappingSourceAccessConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\t\tUri: pulumi.Any(exampleAwsSecretsmanagerSecretVersion.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lambda.EventSourceMapping;\nimport com.pulumi.aws.lambda.EventSourceMappingArgs;\nimport com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new EventSourceMapping(\"example\", EventSourceMappingArgs.builder()\n .batchSize(1)\n .eventSourceArn(exampleAwsMqBroker.arn())\n .enabled(true)\n .functionName(exampleAwsLambdaFunction.arn())\n .queues(\"example\")\n .sourceAccessConfigurations( \n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"VIRTUAL_HOST\")\n .uri(\"/example\")\n .build(),\n EventSourceMappingSourceAccessConfigurationArgs.builder()\n .type(\"BASIC_AUTH\")\n .uri(exampleAwsSecretsmanagerSecretVersion.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:EventSourceMapping\n properties:\n batchSize: 1\n eventSourceArn: ${exampleAwsMqBroker.arn}\n enabled: true\n functionName: ${exampleAwsLambdaFunction.arn}\n queues: example\n sourceAccessConfigurations:\n - type: VIRTUAL_HOST\n uri: /example\n - type: BASIC_AUTH\n uri: ${exampleAwsSecretsmanagerSecretVersion.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lambda event source mappings using the `UUID` (event source mapping identifier). For example:\n\n```sh\n$ pulumi import aws:lambda/eventSourceMapping:EventSourceMapping event_source_mapping 12345kxodurf3443\n```\n", "properties": { "amazonManagedKafkaEventSourceConfig": { "$ref": "#/types/aws:lambda/EventSourceMappingAmazonManagedKafkaEventSourceConfig:EventSourceMappingAmazonManagedKafkaEventSourceConfig", @@ -292515,10 +293075,18 @@ "type": "integer", "description": "- (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000.\n" }, + "metricsConfig": { + "$ref": "#/types/aws:lambda/EventSourceMappingMetricsConfig:EventSourceMappingMetricsConfig", + "description": "- (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below.\n" + }, "parallelizationFactor": { "type": "integer", "description": "- (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10.\n" }, + "provisionedPollerConfig": { + "$ref": "#/types/aws:lambda/EventSourceMappingProvisionedPollerConfig:EventSourceMappingProvisionedPollerConfig", + "description": "- (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below.\n" + }, "queues": { "type": "string", "description": "The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name.\n" @@ -292667,10 +293235,18 @@ "type": "integer", "description": "- (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000.\n" }, + "metricsConfig": { + "$ref": "#/types/aws:lambda/EventSourceMappingMetricsConfig:EventSourceMappingMetricsConfig", + "description": "- (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below.\n" + }, "parallelizationFactor": { "type": "integer", "description": "- (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10.\n" }, + "provisionedPollerConfig": { + "$ref": "#/types/aws:lambda/EventSourceMappingProvisionedPollerConfig:EventSourceMappingProvisionedPollerConfig", + "description": "- (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below.\n" + }, "queues": { "type": "string", "description": "The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name.\n", @@ -292810,10 +293386,18 @@ "type": "integer", "description": "- (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000.\n" }, + "metricsConfig": { + "$ref": "#/types/aws:lambda/EventSourceMappingMetricsConfig:EventSourceMappingMetricsConfig", + "description": "- (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below.\n" + }, "parallelizationFactor": { "type": "integer", "description": "- (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10.\n" }, + "provisionedPollerConfig": { + "$ref": "#/types/aws:lambda/EventSourceMappingProvisionedPollerConfig:EventSourceMappingProvisionedPollerConfig", + "description": "- (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below.\n" + }, "queues": { "type": "string", "description": "The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name.\n", @@ -328558,7 +329142,7 @@ }, "replicationSourceIdentifier": { "type": "string", - "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value.\n" + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value.\n" }, "restoreToPointInTime": { "$ref": "#/types/aws:rds/ClusterRestoreToPointInTime:ClusterRestoreToPointInTime", @@ -328885,7 +329469,7 @@ }, "replicationSourceIdentifier": { "type": "string", - "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value.\n" + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value.\n" }, "restoreToPointInTime": { "$ref": "#/types/aws:rds/ClusterRestoreToPointInTime:ClusterRestoreToPointInTime", @@ -329209,7 +329793,7 @@ }, "replicationSourceIdentifier": { "type": "string", - "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value.\n" + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value.\n" }, "restoreToPointInTime": { "$ref": "#/types/aws:rds/ClusterRestoreToPointInTime:ClusterRestoreToPointInTime", @@ -400788,7 +401372,7 @@ } }, "aws:eks/getCluster:getCluster": { - "description": "Retrieve information about an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.eks.getCluster({\n name: \"example\",\n });\n return {\n endpoint: example.endpoint,\n \"kubeconfig-certificate-authority-data\": example.certificateAuthorities?.[0]?.data,\n \"identity-oidc-issuer\": example.identities?.[0]?.oidcs?.[0]?.issuer,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_cluster(name=\"example\")\npulumi.export(\"endpoint\", example.endpoint)\npulumi.export(\"kubeconfig-certificate-authority-data\", example.certificate_authorities[0].data)\npulumi.export(\"identity-oidc-issuer\", example.identities[0].oidcs[0].issuer)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetCluster.Invoke(new()\n {\n Name = \"example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpoint\"] = example.Apply(getClusterResult =\u003e getClusterResult.Endpoint),\n [\"kubeconfig-certificate-authority-data\"] = example.Apply(getClusterResult =\u003e getClusterResult.CertificateAuthorities[0]?.Data),\n [\"identity-oidc-issuer\"] = example.Apply(getClusterResult =\u003e getClusterResult.Identities[0]?.Oidcs[0]?.Issuer),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eks.LookupCluster(ctx, \u0026eks.LookupClusterArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpoint\", example.Endpoint)\n\t\tctx.Export(\"kubeconfig-certificate-authority-data\", example.CertificateAuthorities[0].Data)\n\t\tctx.Export(\"identity-oidc-issuer\", example.Identities[0].Oidcs[0].Issuer)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getCluster(GetClusterArgs.builder()\n .name(\"example\")\n .build());\n\n ctx.export(\"endpoint\", example.applyValue(getClusterResult -\u003e getClusterResult.endpoint()));\n ctx.export(\"kubeconfig-certificate-authority-data\", example.applyValue(getClusterResult -\u003e getClusterResult.certificateAuthorities()[0].data()));\n ctx.export(\"identity-oidc-issuer\", example.applyValue(getClusterResult -\u003e getClusterResult.identities()[0].oidcs()[0].issuer()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:eks:getCluster\n Arguments:\n name: example\noutputs:\n endpoint: ${example.endpoint}\n kubeconfig-certificate-authority-data: ${example.certificateAuthorities[0].data}\n # Only available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019.\n identity-oidc-issuer: ${example.identities[0].oidcs[0].issuer}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nexport = async () =\u003e {\n const example = await aws.eks.getCluster({\n name: \"example\",\n });\n return {\n endpoint: example.endpoint,\n \"kubeconfig-certificate-authority-data\": example.certificateAuthorities?.[0]?.data,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.get_cluster(name=\"example\")\npulumi.export(\"endpoint\", example.endpoint)\npulumi.export(\"kubeconfig-certificate-authority-data\", example.certificate_authorities[0].data)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Eks.GetCluster.Invoke(new()\n {\n Name = \"example\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpoint\"] = example.Apply(getClusterResult =\u003e getClusterResult.Endpoint),\n [\"kubeconfig-certificate-authority-data\"] = example.Apply(getClusterResult =\u003e getClusterResult.CertificateAuthorities[0]?.Data),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := eks.LookupCluster(ctx, \u0026eks.LookupClusterArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpoint\", example.Endpoint)\n\t\tctx.Export(\"kubeconfig-certificate-authority-data\", example.CertificateAuthorities[0].Data)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.eks.EksFunctions;\nimport com.pulumi.aws.eks.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = EksFunctions.getCluster(GetClusterArgs.builder()\n .name(\"example\")\n .build());\n\n ctx.export(\"endpoint\", example.applyValue(getClusterResult -\u003e getClusterResult.endpoint()));\n ctx.export(\"kubeconfig-certificate-authority-data\", example.applyValue(getClusterResult -\u003e getClusterResult.certificateAuthorities()[0].data()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:eks:getCluster\n Arguments:\n name: example\noutputs:\n endpoint: ${example.endpoint}\n kubeconfig-certificate-authority-data: ${example.certificateAuthorities[0].data}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -400834,6 +401418,13 @@ "description": "The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud.\n", "type": "string" }, + "computeConfigs": { + "description": "Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster.\n", + "items": { + "$ref": "#/types/aws:eks/getClusterComputeConfig:getClusterComputeConfig" + }, + "type": "array" + }, "createdAt": { "description": "Unix epoch time stamp in seconds for when the cluster was created.\n", "type": "string" @@ -400881,6 +401472,13 @@ "description": "Platform version for the cluster.\n", "type": "string" }, + "remoteNetworkConfigs": { + "description": "Contains remote network configuration for EKS Hybrid Nodes.\n", + "items": { + "$ref": "#/types/aws:eks/getClusterRemoteNetworkConfig:getClusterRemoteNetworkConfig" + }, + "type": "array" + }, "roleArn": { "description": "ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.\n", "type": "string" @@ -400889,6 +401487,13 @@ "description": "Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`.\n", "type": "string" }, + "storageConfigs": { + "description": "Contains storage configuration for EKS Auto Mode enabled cluster.\n", + "items": { + "$ref": "#/types/aws:eks/getClusterStorageConfig:getClusterStorageConfig" + }, + "type": "array" + }, "tags": { "additionalProperties": { "type": "string" @@ -400897,7 +401502,7 @@ "type": "object" }, "upgradePolicies": { - "description": "(Optional) Configuration block for the support policy to use for the cluster.\n", + "description": "Configuration block for the support policy to use for the cluster.\n", "items": { "$ref": "#/types/aws:eks/getClusterUpgradePolicy:getClusterUpgradePolicy" }, @@ -400924,6 +401529,7 @@ "arn", "certificateAuthorities", "clusterId", + "computeConfigs", "createdAt", "enabledClusterLogTypes", "endpoint", @@ -400932,8 +401538,10 @@ "name", "outpostConfigs", "platformVersion", + "remoteNetworkConfigs", "roleArn", "status", + "storageConfigs", "tags", "upgradePolicies", "version", diff --git a/provider/go.mod b/provider/go.mod index f148c4cb860..c6b1d4d441f 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -8,13 +8,13 @@ go 1.23.3 godebug tlskyber=0 require ( - github.com/aws/aws-sdk-go-v2 v1.32.5 - github.com/aws/aws-sdk-go-v2/config v1.28.5 - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20 - github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.0 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.0 - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.6 - github.com/aws/aws-sdk-go-v2/service/s3 v1.69.0 + github.com/aws/aws-sdk-go-v2 v1.32.6 + github.com/aws/aws-sdk-go-v2/config v1.28.6 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 + github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.1 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1 + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.7 + github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.59 github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 @@ -72,258 +72,258 @@ require ( github.com/atotto/clipboard v0.1.4 // indirect github.com/aws/aws-sdk-go v1.55.5 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.46 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.41 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.47 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.24 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/account v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/acm v1.30.6 // indirect - github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.7 // indirect - github.com/aws/aws-sdk-go-v2/service/amp v1.30.3 // indirect - github.com/aws/aws-sdk-go-v2/service/amplify v1.27.4 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.6 // indirect - github.com/aws/aws-sdk-go-v2/service/appflow v1.45.7 // indirect - github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.6 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.4 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/appstream v1.41.6 // indirect - github.com/aws/aws-sdk-go-v2/service/appsync v1.40.0 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.48.4 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.6 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.0 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/backup v1.39.7 // indirect - github.com/aws/aws-sdk-go-v2/service/batch v1.48.1 // indirect - github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.6 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.22.4 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.0 // indirect - github.com/aws/aws-sdk-go-v2/service/chime v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.19.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.0 // indirect - github.com/aws/aws-sdk-go-v2/service/configservice v1.50.6 // indirect - github.com/aws/aws-sdk-go-v2/service/connect v1.117.0 // indirect - github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/controltower v1.20.0 // indirect - github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.0 // indirect - github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.0 // indirect - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.4 // indirect - github.com/aws/aws-sdk-go-v2/service/databrew v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.4 // indirect - github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/datasync v1.43.4 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dax v1.23.6 // indirect - github.com/aws/aws-sdk-go-v2/service/detective v1.31.6 // indirect - github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.7 // indirect - github.com/aws/aws-sdk-go-v2/service/dlm v1.28.7 // indirect - github.com/aws/aws-sdk-go-v2/service/docdb v1.39.5 // indirect - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.3 // indirect - github.com/aws/aws-sdk-go-v2/service/drs v1.30.6 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.193.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.36.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.52.0 // indirect - github.com/aws/aws-sdk-go-v2/service/efs v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/eks v1.52.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.5 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.5 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/emr v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.7 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/evidently v1.23.6 // indirect - github.com/aws/aws-sdk-go-v2/service/finspace v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/firehose v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fis v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fms v1.38.4 // indirect - github.com/aws/aws-sdk-go-v2/service/fsx v1.49.6 // indirect - github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/glacier v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/glue v1.102.0 // indirect - github.com/aws/aws-sdk-go-v2/service/grafana v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.6 // indirect - github.com/aws/aws-sdk-go-v2/service/guardduty v1.51.2 // indirect - github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/iam v1.38.1 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.38.4 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.25 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.2 // indirect + github.com/aws/aws-sdk-go-v2/service/account v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/acm v1.30.7 // indirect + github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.8 // indirect + github.com/aws/aws-sdk-go-v2/service/amp v1.30.4 // indirect + github.com/aws/aws-sdk-go-v2/service/amplify v1.27.5 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.7 // indirect + github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8 // indirect + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2 // indirect + github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 // indirect + github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 // indirect + github.com/aws/aws-sdk-go-v2/service/athena v1.48.5 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/backup v1.39.8 // indirect + github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 // indirect + github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1 // indirect + github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.2 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.1 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.1 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.2 // indirect + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.1 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1 // indirect + github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1 // indirect + github.com/aws/aws-sdk-go-v2/service/connect v1.119.0 // indirect + github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1 // indirect + github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.1 // indirect + github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.1 // indirect + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.5 // indirect + github.com/aws/aws-sdk-go-v2/service/databrew v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.5 // indirect + github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1 // indirect + github.com/aws/aws-sdk-go-v2/service/dax v1.23.7 // indirect + github.com/aws/aws-sdk-go-v2/service/detective v1.31.7 // indirect + github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1 // indirect + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8 // indirect + github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8 // indirect + github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 // indirect + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 // indirect + github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1 // indirect + github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/emr v1.47.1 // indirect + github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7 // indirect + github.com/aws/aws-sdk-go-v2/service/finspace v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/firehose v1.35.2 // indirect + github.com/aws/aws-sdk-go-v2/service/fis v1.31.2 // indirect + github.com/aws/aws-sdk-go-v2/service/fms v1.38.5 // indirect + github.com/aws/aws-sdk-go-v2/service/fsx v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.102.1 // indirect + github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.7 // indirect + github.com/aws/aws-sdk-go-v2/service/guardduty v1.52.0 // indirect + github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/iam v1.38.2 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/iot v1.61.0 // indirect - github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ivs v1.42.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.38.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.54.6 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.37.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.3 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.69.0 // indirect - github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.6 // indirect - github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.6 // indirect - github.com/aws/aws-sdk-go-v2/service/location v1.42.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.6 // indirect - github.com/aws/aws-sdk-go-v2/service/m2 v1.18.4 // indirect - github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.0 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.62.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/memorydb v1.24.5 // indirect - github.com/aws/aws-sdk-go-v2/service/mq v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/neptune v1.35.5 // indirect - github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.0 // indirect - github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.3 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.6 // indirect - github.com/aws/aws-sdk-go-v2/service/oam v1.15.6 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearch v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.3 // indirect - github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/organizations v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/osis v1.14.6 // indirect - github.com/aws/aws-sdk-go-v2/service/outposts v1.47.1 // indirect - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.6 // indirect - github.com/aws/aws-sdk-go-v2/service/pcs v1.2.7 // indirect - github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pipes v1.18.4 // indirect - github.com/aws/aws-sdk-go-v2/service/polly v1.45.7 // indirect - github.com/aws/aws-sdk-go-v2/service/pricing v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/qldb v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ram v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/rbin v1.21.0 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.91.0 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.52.1 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.3 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3 // indirect - github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.7 // indirect - github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53 v1.46.2 // indirect - github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rum v1.21.6 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.50.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.0 // indirect - github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.6 // indirect - github.com/aws/aws-sdk-go-v2/service/schemas v1.28.7 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/securityhub v1.54.7 // indirect - github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.4 // indirect - github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ses v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.3 // indirect - github.com/aws/aws-sdk-go-v2/service/sfn v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/shield v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/signer v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sns v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sqs v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.56.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.5 // indirect - github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/swf v1.27.6 // indirect - github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.0 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.6 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.7 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.6 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.53.5 // indirect - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.2 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.12.9 // indirect - github.com/aws/aws-sdk-go-v2/service/waf v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.5 // indirect - github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/iot v1.61.1 // indirect + github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ivs v1.42.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.37.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1 // indirect + github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.7 // indirect + github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.7 // indirect + github.com/aws/aws-sdk-go-v2/service/location v1.42.7 // indirect + github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.7 // indirect + github.com/aws/aws-sdk-go-v2/service/m2 v1.18.5 // indirect + github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.7 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1 // indirect + github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/memorydb v1.25.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mq v1.27.8 // indirect + github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.1 // indirect + github.com/aws/aws-sdk-go-v2/service/neptune v1.35.6 // indirect + github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.1 // indirect + github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.4 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.1 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.7 // indirect + github.com/aws/aws-sdk-go-v2/service/oam v1.15.7 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearch v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.4 // indirect + github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/organizations v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/osis v1.14.7 // indirect + github.com/aws/aws-sdk-go-v2/service/outposts v1.47.2 // indirect + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.7 // indirect + github.com/aws/aws-sdk-go-v2/service/pcs v1.2.8 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.2 // indirect + github.com/aws/aws-sdk-go-v2/service/pipes v1.18.5 // indirect + github.com/aws/aws-sdk-go-v2/service/polly v1.45.8 // indirect + github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.92.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4 // indirect + github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8 // indirect + github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53 v1.46.3 // indirect + github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2 // indirect + github.com/aws/aws-sdk-go-v2/service/rum v1.21.7 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1 // indirect + github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7 // indirect + github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 // indirect + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/securityhub v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.5 // indirect + github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.7 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ses v1.29.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/shield v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/signer v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.56.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.7 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 // indirect + github.com/aws/aws-sdk-go-v2/service/swf v1.27.8 // indirect + github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2 // indirect + github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/waf v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.6 // indirect + github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.1 // indirect - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.0 // indirect - github.com/aws/aws-sdk-go-v2/service/xray v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2 // indirect + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1 // indirect + github.com/aws/aws-sdk-go-v2/service/xray v1.30.1 // indirect github.com/aws/smithy-go v1.22.1 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beevik/etree v1.4.1 // indirect @@ -488,7 +488,7 @@ require ( github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/yuin/goldmark v1.7.4 // indirect - github.com/zclconf/go-cty v1.15.0 // indirect + github.com/zclconf/go-cty v1.15.1 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.57.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect @@ -515,7 +515,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect google.golang.org/grpc v1.68.0 // indirect google.golang.org/protobuf v1.35.2 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/provider/go.sum b/provider/go.sum index c842fcabd23..5590e3200ba 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1236,526 +1236,526 @@ github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go-v2 v1.32.5 h1:U8vdWJuY7ruAkzaOdD7guwJjD06YSKmnKCJs7s3IkIo= -github.com/aws/aws-sdk-go-v2 v1.32.5/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= +github.com/aws/aws-sdk-go-v2 v1.32.6 h1:7BokKRgRPuGmKkFMhEg/jSul+tB9VvXhcViILtfG8b4= +github.com/aws/aws-sdk-go-v2 v1.32.6/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 h1:lL7IfaFzngfx0ZwUGOZdsFFnQ5uLvR0hWqqhyE7Q9M8= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7/go.mod h1:QraP0UcVlQJsmHfioCrveWOC1nbiWUl3ej08h4mXWoc= -github.com/aws/aws-sdk-go-v2/config v1.28.5 h1:Za41twdCXbuyyWv9LndXxZZv3QhTG1DinqlFsSuvtI0= -github.com/aws/aws-sdk-go-v2/config v1.28.5/go.mod h1:4VsPbHP8JdcdUDmbTVgNL/8w9SqOkM5jyY8ljIxLO3o= -github.com/aws/aws-sdk-go-v2/credentials v1.17.46 h1:AU7RcriIo2lXjUfHFnFKYsLCwgbz1E7Mm95ieIRDNUg= -github.com/aws/aws-sdk-go-v2/credentials v1.17.46/go.mod h1:1FmYyLGL08KQXQ6mcTlifyFXfJVCNJTVGuQP4m0d/UA= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20 h1:sDSXIrlsFSFJtWKLQS4PUWRvrT580rrnuLydJrCQ/yA= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20/go.mod h1:WZ/c+w0ofps+/OUqMwWgnfrgzZH1DZO1RIkktICsqnY= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.41 h1:hqcxMc2g/MwwnRMod9n6Bd+t+9Nf7d5qRg7RaXKPd6o= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.41/go.mod h1:d1eH0VrttvPmrCraU68LOyNdu26zFxQFjrVSb5vdhog= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24 h1:4usbeaes3yJnCFC7kfeyhkdkPtoRYPa/hTmCqMpKpLI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24/go.mod h1:5CI1JemjVwde8m2WG3cz23qHKPOxbpkq0HaoreEgLIY= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24 h1:N1zsICrQglfzaBnrfM0Ys00860C+QFwu6u/5+LomP+o= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24/go.mod h1:dCn9HbJ8+K31i8IQ8EWmWj0EiIk0+vKiHNMxTTYveAg= +github.com/aws/aws-sdk-go-v2/config v1.28.6 h1:D89IKtGrs/I3QXOLNTH93NJYtDhm8SYa9Q5CsPShmyo= +github.com/aws/aws-sdk-go-v2/config v1.28.6/go.mod h1:GDzxJ5wyyFSCoLkS+UhGB0dArhb9mI+Co4dHtoTxbko= +github.com/aws/aws-sdk-go-v2/credentials v1.17.47 h1:48bA+3/fCdi2yAwVt+3COvmatZ6jUDNkDTIsqDiMUdw= +github.com/aws/aws-sdk-go-v2/credentials v1.17.47/go.mod h1:+KdckOejLW3Ks3b0E3b5rHsr2f9yuORBum0WPnE5o5w= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 h1:AmoU1pziydclFT/xRV+xXE/Vb8fttJCLRPv8oAkprc0= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21/go.mod h1:AjUdLYe4Tgs6kpH4Bv7uMZo7pottoyHMn4eTcIcneaY= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42 h1:vEnk9vtjJ62OO2wOhEmgKMZgNcn1w0aF7XCiNXO5rK0= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42/go.mod h1:GUOPbPJWRZsdt1OJ355upCrry4d3ZFgdX6rhT7gtkto= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 h1:s/fF4+yDQDoElYhfIVvSNyeCydfbuTKzhxSXDXCPasU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25/go.mod h1:IgPfDv5jqFIzQSNbUEMoitNooSMXjRSDkhXv8jiROvU= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 h1:ZntTCl5EsYnhN/IygQEUugpdwbhdkom9uHcbCftiGgA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25/go.mod h1:DBdPrgeocww+CSl1C8cEV8PN1mHMBhuCDLpXezyvWkE= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.24 h1:JX70yGKLj25+lMC5Yyh8wBtvB01GDilyRuJvXJ4piD0= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.24/go.mod h1:+Ln60j9SUTD0LEwnhEB0Xhg61DHqplBrbZpLgyjoEHg= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.1 h1:IdOcs3kO2gSgjQ6CQVV3TiFrcqt4+p/hIO3fJoY5LAk= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.1/go.mod h1:73ZiTjCNz6qec4WaTLpXuz3QS/B6BGaeI1CsiojnR2w= -github.com/aws/aws-sdk-go-v2/service/account v1.21.6 h1:FtKN52U4HemOC0ScQTPmZKe+902h09Uf60s6F6x9eE8= -github.com/aws/aws-sdk-go-v2/service/account v1.21.6/go.mod h1:DoOQNxPjjgOCH5KPxVZ+37214qlPbXGOX7phOWvZPQU= -github.com/aws/aws-sdk-go-v2/service/acm v1.30.6 h1:fDg0RlN30Xf/yYzEUL/WXqhmgFsjVb/I3230oCfyI5w= -github.com/aws/aws-sdk-go-v2/service/acm v1.30.6/go.mod h1:zRR6jE3v/TcbfO8C2P+H0Z+kShiKKVaVyoIl8NQRjyg= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.7 h1:uysdx5dYnLtvApVpV4A730PfmqqEjb2ejYcB0NB+2js= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.7/go.mod h1:PmgOAeKyU7dx7gOZE+v+p3n2tiKa2DvGKvJ8GDehAZw= -github.com/aws/aws-sdk-go-v2/service/amp v1.30.3 h1:28FOQuvHpWMdEYK9x89FszjBmwGfhkWYIc45DQcLhsk= -github.com/aws/aws-sdk-go-v2/service/amp v1.30.3/go.mod h1:QbCuQItcTOX7oQR9Nn9nGveBCqSad391I5ReOyQmtag= -github.com/aws/aws-sdk-go-v2/service/amplify v1.27.4 h1:wnfodLD2dlJXX4CgYQh18nvo18dPjqZEWrtYZ6DWGh0= -github.com/aws/aws-sdk-go-v2/service/amplify v1.27.4/go.mod h1:hmHZYJI1CZlr2V/qTBE8r+/U353Gn/7pOoxNpfFmZuI= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.0 h1:BkESaUndLOn3ZFTq4Eho347yvtiJxEQf1HWxgVu2RVI= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.0/go.mod h1:WP+ceHdK5RAijZxABi1mH1kCZmQKRJNKwV+cj0iVr44= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.6 h1:wNUMxMjviF0fbO1pWKVFT1xDRa+BY2qwW6+YJkgIRvI= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.6/go.mod h1:pCq9ErKoUWYFfmpENhlWuhBF+NNNwVOXNrZA5C480eM= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.0 h1:6IlrKbN6rVw2wdVxm4WQ5nI/Np0eTydc5Lsa1Vq+cBs= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.0/go.mod h1:mtklZ9Lk3KEtJ9ej2NrPqpGHaGGcrwfeSN9ClPd4FA8= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.6 h1:71eLtI7uFLhWHgnbaZqLs+dCYw6obqHrAQy+/5+Jlt4= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.6/go.mod h1:RPqeoYHbSE1AoVzgAPQp1JjaKiyGMXszHOZMa0pKdUM= -github.com/aws/aws-sdk-go-v2/service/appflow v1.45.7 h1:UfxkfxuI4Ksq33InChPPDFg/qEFGsPzrnRnBHzbisHM= -github.com/aws/aws-sdk-go-v2/service/appflow v1.45.7/go.mod h1:kJIzLElxd30701jCUv8leaH4GGrCCfoxpNUULd7+rK8= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.6 h1:wUhwc2GcAZ4m00sVu2gQ9ugn5Jxk3EjZPf9KxIM+aZo= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.6/go.mod h1:ivsyQDuUvZ2HIjoACH4KiSkaP3/rQVjPpb4yUurgPCU= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.0 h1:GepjPOtTMErWuKclEcfUtibA2gP8kLlL6gglC2YJEMU= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.0/go.mod h1:XBKTLJ2N61HegfI0sroliDC1MNX0L3ApqCfNoZ9POAA= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.4 h1:NiytCBlDQWHo7GWomxI7sBayGgYikFLRWGx67mab42o= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.4/go.mod h1:S/E1rruraVCEM0H11AAlulupi00RyhGmARep6mgJgec= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.1 h1:UU84hkab8PQfrTM8jJjEQvfYns1meYkXWcCQs7uuiSo= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.1/go.mod h1:/tCS8SpYcmDH7u+RiqUuT7MgKQjyWJWzRwlkMlXbgAA= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.6 h1:mnptOnjJlbuERJEoEGdUZKnTGxkvHzgosXba3+JoCfI= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.6/go.mod h1:bRUdurcm4crbVyWF9uN8J7P1WHcZ0U7Losz/wc9mY94= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.6 h1:Wqlx6m821gv7qXMJQ3f7JuTQusWbZNWbpEgFD6/qkgE= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.6/go.mod h1:liN6AXsZpCSw888Vdsc1OSeKuEVvWek31jv41mn4KCA= -github.com/aws/aws-sdk-go-v2/service/appstream v1.41.6 h1:Y/npDc6JZ9rxarIqZOWZllxgtZLLjFXvwTjuhpoSqW8= -github.com/aws/aws-sdk-go-v2/service/appstream v1.41.6/go.mod h1:Ex0sRVuADGJBCsP8Yvsuu+RTeAydhj5OrXxu99OlE+w= -github.com/aws/aws-sdk-go-v2/service/appsync v1.40.0 h1:FgT5r1MEc4ZAxmYGw4VcobadiEno6CggVP+GTm2SK5I= -github.com/aws/aws-sdk-go-v2/service/appsync v1.40.0/go.mod h1:d+xpwZCcffeV4l4bM1xjQgINiNPUlmwKQSkoaAnMjVE= -github.com/aws/aws-sdk-go-v2/service/athena v1.48.4 h1:FbHOJ4JekyaFLE5SG0yuHryYRuaHXd9rO4QMYK4NH5A= -github.com/aws/aws-sdk-go-v2/service/athena v1.48.4/go.mod h1:sAM9gz5RsYx3nBYISXE9CRnQVk7WtCs6SjCZvygmtzQ= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.6 h1:TLXugBC1lQUGMcVhUTdRiUnX4ulOs13hGvBlw4bBkSE= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.6/go.mod h1:TnalEymbabDCozLHd0UxERDVwDsiUNQ8Cy7Wd6I+nUE= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.0 h1:1KzQVZi7OTixxaVJ8fWaJAUBjme+iQ3zBOCZhE4RgxQ= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.0/go.mod h1:I1+/2m+IhnK5qEbhS3CrzjeiVloo9sItE/2K+so0fkU= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.6 h1:zkRcAyCAf1sO51+tr7cdzARkojrgaqQEMNJa6SSxszw= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.6/go.mod h1:Fk9vMo1pF5oomcRNwVuu/oAZWgnErNzdr1dpYlLFnjg= -github.com/aws/aws-sdk-go-v2/service/backup v1.39.7 h1:YeU78WW19lWGew7OBP2lImtLvn2d5Zlktjwh268d07I= -github.com/aws/aws-sdk-go-v2/service/backup v1.39.7/go.mod h1:oeRKTbMD3NrXPRvFZGSibtpJfpYlyLKnQOyHvl6rjqQ= -github.com/aws/aws-sdk-go-v2/service/batch v1.48.1 h1:DkHLOuDTutCshu7k+Po0sd/CXfOrtML+GHVx4dgkvpg= -github.com/aws/aws-sdk-go-v2/service/batch v1.48.1/go.mod h1:2bWNVbqMIXP8HnWqkEIEm+WTH3QNo9Ui/CGJ5l9IM2E= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.6 h1:sxKe/rHVVxLQJgqnxBzdlX2GYCLhY+y9jH9UmE9381A= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.6/go.mod h1:kplgf9W6J8e3ml6xKdfdNRuCCdXZbgmwVd6xfUeHkkM= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.22.4 h1:R0Tw4Xon1Lz8TGmeTi3D2Qi8Rn601myEGVFRw0Rp3aY= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.22.4/go.mod h1:U9FfwVNRitPo23yN28RGlXRR1EgqcwnP0P2oTUHKCi8= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.27.1 h1:Uq364zd0sw4Sa5DovhBKFn5oXqEws3KQkzMMnRl1N5k= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.27.1/go.mod h1:+QNM3upOuzc6CrYFdtDnNApChkfbC6lIAI2nqct4/u8= -github.com/aws/aws-sdk-go-v2/service/budgets v1.28.6 h1:RVzQr0yvPN3OGZ2ipFVe1SBIwvomwjCvGg9S2q1QQbM= -github.com/aws/aws-sdk-go-v2/service/budgets v1.28.6/go.mod h1:v5aGgmg7e0sS9wbdIK1CwgSIGCBmKbwnnI3F0vj3Fb0= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.0 h1:9MsvMH/fdhu4NhtaYrAvyOGrewZTkh6W5bwxIbKAQGk= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.0/go.mod h1:AnpVkIhMiOul0lelxDuySlmnNMW4AqEXz4VyRC5mCvo= -github.com/aws/aws-sdk-go-v2/service/chime v1.34.6 h1:Jl5fsX028RPDzuKInYkCU6p+cWnvWLpBJEXPlnzdkOQ= -github.com/aws/aws-sdk-go-v2/service/chime v1.34.6/go.mod h1:pqo7AjgtB9xL2KfkCFXO8wKNAFCTcfM4Yiw6nUYt7O0= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.1 h1:wasRSxlF1Ye9ilVut1GngPCTwyMPc13XJyRTJPM0nO4= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.1/go.mod h1:PMNzhRaaNVe10wFPXZot2S/d7oWZ+daavUxPZoJwunc= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.19.6 h1:gHAxXcatt7lzQmRGwnlHzdsDc0QF2nyasvmGziUDW0M= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.19.6/go.mod h1:06jbpOTnxPCMbGCiQZKt4GaM+w1NxNXoCYINTK0ddXQ= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.20.1 h1:kILYJ5OnV3XPABU3XPWhCl2Ruek1SLGh9A2zOPpIHtg= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.20.1/go.mod h1:AVtuSdL0mtsEZhTJQiSVDe3UMneZUQvqN0fgHCNM0kE= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.6 h1:pKLIvUEFSgh7BICo0Vkk1LXkQFfgrDVrGvD+jJr9QOA= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.6/go.mod h1:wDc8fmV/V2cWH6OYILCV6eaQGNe38/glTCiffF61N30= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.1 h1:x4XUX/gadOFFsX5ndid0zKvf9Y33rlkbPmlmubLsfZA= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.1/go.mod h1:8vDrlyLzxWUybo1E4Rh2UVUPM9cyu+GgTYkwFCRV6h4= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0 h1:zmXJiEm/fQYtFDLIUsZrcPIjTrL3R/noFICGlYBj3Ww= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0/go.mod h1:9nOjXCDKE+QMK4JaCrLl36PU+VEfJmI7WVehYmojO8s= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.0 h1:Ny0HHch5IyjWd3Hh/csFvAZFPDHvu7eeePFh7+BnbZ8= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.0/go.mod h1:KC7JSdRScZQpZJDJp4ze9elsg8QIWIoABjmCzDS4rtg= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.6 h1:dke8UJCJrHoscyZ1dIPgy3cxoLdets5LnoXO9jlW2bM= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.6/go.mod h1:A42W0NdVTnuXFemvBZY/nNVnVKgTVJBv06fQTtVvLuo= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.7 h1:Ymxy7Hrq/Gax/w++W0t1E2ptd9W4/nFAGl3Ls50npDI= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.7/go.mod h1:W4rh804hNs3jvIUVrZU7W6ZzufPUTn2fvjFwDLg75Vk= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.5 h1:qv4Vmbrmq556QW1geLfnVU04FKotI85HgCVup2CHC0I= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.5/go.mod h1:bLUwLj8J6hdXNYgrlrBmYaC6k+WRiWVuuj82l4cE+dE= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.1 h1:2ak2eGvO11EG8dbF2rduX0LFYqkSmLTaFiAXbrYeBik= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.1/go.mod h1:1UmWM2dmPjAP9GndptgNB5ZO1GnVRHFUX5JK0RB+ozY= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.1 h1:FbjhJTRoTujDYDwTnnE46Km5Qh1mMSH+BwTL4ODFifg= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.1/go.mod h1:OwyCzHw6CH8pkLqT8uoCkOgUsgm11LTfexLZyRy6fBg= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.44.0 h1:OREVd94+oXW5a+3SSUAo4K0L5ci8cucCLu+PSiek8OU= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.44.0/go.mod h1:Qbr4yfpNqVNl69l/GEDK+8wxLf/vHi0ChoiSDzD7thU= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.6 h1:Uu7boDJDhHI3P9AjMPu9/bdSfOoTlhowBTUPswP5avM= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.6/go.mod h1:MledsPnJ3IBEYa7pWbYIitZDbSOftxNjRCxrEm5W9L0= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.1 h1:rVfkJ2IsXFUB2dRyjoCcED1LQPeTwiOGSxB2tzItrL8= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.1/go.mod h1:8dQzphxd2LV1cd7+OGI4GMFDxQ/VPHVjh6KxVd2SJbo= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.6 h1:+1s3luItMYMd4tzBtvvDC92v1P9wnTMbxTlQsL++8eg= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.6/go.mod h1:+uaY4HqZJC0cu7SHnzMV6k/aeazDS7TLfW3yjHI4eSs= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.6 h1:RDxqhwbpubVwvFAsh2YYFlK3y9JPTE3sfnRhLk5Ngj4= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.6/go.mod h1:Q77pLjwbFzluXn9ciIdzS4kwnU8OSOKskIMIjFP6oyY= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.6 h1:qrWm4wG/P/ocxqYW4rBKaMoO8vabqrr3I1Hbvu+mTkM= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.6/go.mod h1:cx8mC1/hFSDeK6b40Kqga9vk2s2rkbf3MsErQLojnSA= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.6 h1:jwaOL3HT0yXEIs/2Bs35sx6DM6L755ppdW9DejXYYa4= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.6/go.mod h1:wOfD5vHIuGIe9aMoujgn0teM3fGOvtW1uxeZPs+MluI= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.6 h1:NHA1oFgnYErN/m1U1KDFrM4pbL7EABumJU6hCL6FhIg= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.6/go.mod h1:f7Z7f8TJ+jPCG3a7iw5G3Og6ZNlVV/h4Vssa2z5Ctvg= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.6 h1:ZCwOHI5qLoZOKXRroD7zFC9DsJOwr7/2trzCqGmTJXk= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.6/go.mod h1:LwkwNbB3ftbrnzeolIatXt5WPCpkRbVZcEnDJ4B33yE= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.0 h1:NADCf4LSkrl1ADbJT1q3VxGhJ4gre77MJ40aqupZczg= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.0/go.mod h1:VNGtFdYLnh+4bhmz/t1grmciVHt1aPeFWu3YAUOzJeM= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.6 h1:OqC1rs2Rt4hOl07IcVQ3ZjXDPPCQJ20k2Xp59ZMNfmY= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.6/go.mod h1:NSqFyJ68sZwNuQOBCZ1c+G10d9nd03AqdkLwkRPIHPo= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.6 h1:IeMC7DWOojfoApk0lSrmFO9lWdbd2EFskmYNrgegwuY= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.6/go.mod h1:ZAEhVVAHdollHwVtzGSoh7gH8SGbFaOvYeHAE7lv1Uk= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.6 h1:qrxndl72akI2mK6nhN5TLe+JiAklKl+vtaiAvbQ71lM= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.6/go.mod h1:v4nSWzO8c2OSdtprw0PQ7UtspocKCJhH1uBd6NxL8FM= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.0 h1:9WEhV3JmFhSMnKaY2SqcPb0bM5XIoMmAy62Fj5TNMwk= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.0/go.mod h1:TxsMf+uRm3AHGUs2BSmnxz99BqUd6f9EiuDEhRppTY8= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.6 h1:cnZDmrpdVewJ22Y9Su1XpmsPIQ5oS3TujNPS04cH+7s= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.6/go.mod h1:LGMQ+uNG/xTjB8nx6Jb2SrsQqvWc7ip0vqNiiKu9EiA= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.0 h1:rNj0NoMlMlV9B3rEnxv84CG5RfEqwyfjHL6P/YtX224= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.0/go.mod h1:MH4YodNw/6ZHhRwow3baZ7RQP6z8GKSMsO94X5OZ3Y0= -github.com/aws/aws-sdk-go-v2/service/configservice v1.50.6 h1:GsIoN6f+LLTX/Sa70WO77Cy1GTrSF9xi7e8OwwOiGcs= -github.com/aws/aws-sdk-go-v2/service/configservice v1.50.6/go.mod h1:5vbQi0lIP9T7RLGyjmQZhqf5Xv9WxHXk7qlHnhEqWKc= -github.com/aws/aws-sdk-go-v2/service/connect v1.117.0 h1:ELPEshWAPZzprvgJfY0vZcyuPx9eSsXpkdNyQ6kl198= -github.com/aws/aws-sdk-go-v2/service/connect v1.117.0/go.mod h1:oGrMxGM/Ww+glDJ7cfMU1X22kJ6XBBHXsfxIhKD6E3k= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.6 h1:w475oN5DyGiDt58pLYm1Gq7wKzH4FuZM1tNj+Agd1j4= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.6/go.mod h1:gCKtUjvhDcgZCLqqdc5AI9cxEFx4VCvvgKy8FL2UeXY= -github.com/aws/aws-sdk-go-v2/service/controltower v1.20.0 h1:4YuCMtKeY+TwG277Rh/4zC6ijMjJ5XeMj9djxZ0luXI= -github.com/aws/aws-sdk-go-v2/service/controltower v1.20.0/go.mod h1:Wwtsq9vGGX+s+z2CAU6nNVQnQUp6tP12FmGK8Gauy7M= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.6 h1:osGnDbG5/5BHoExuVOK1EN0a9cLfZ8NdqB7luLInxOA= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.6/go.mod h1:Rkaugb0V6ZcPs8GzhnEjbq+EB9K+GASbOMdxiDzTZX4= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.0 h1:78q3WvpWmDAg6Ssd9c9bgGLLtFuwRMhNRdSNSX8lXto= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.0/go.mod h1:rwuImPfFVkoKeuAkGrlDSFm9pT9veoRNoH25IG9Jco0= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.0 h1:nV8WhW54iNT4XYZphMG5zfxhpe8POhi67Dp5uHCVk80= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.0/go.mod h1:CPai3cHY5BMDEFDcUW4JrkN0vo+L3IyJgF/+Ddlm3wc= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.43.0 h1:LnSDxvx4MoC59r50lHfyDmKFtT4DVeicBn6ci+gvQ/E= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.43.0/go.mod h1:NszyDJkn2aVBAt20J4jJou61HFdA8N6AFGNIBfsCmB4= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.4 h1:WK5CyygA6+yzm8Zlx4W5u9b06uepMDJz+Hahpdmg25k= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.4/go.mod h1:7TP5GpEyyLYic8kVFHJu/OK0bk9X2uKcvPqLw90CMok= -github.com/aws/aws-sdk-go-v2/service/databrew v1.33.6 h1:yZtWiFez6yMalTG9Ouc0A8LQqGrFjgKYePl5rM27fQo= -github.com/aws/aws-sdk-go-v2/service/databrew v1.33.6/go.mod h1:FGU+VnezEhrhsfnxFJcJnTu0sDNowur5LFxIFsL7M7Q= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.4 h1:Gfr2MS/iQBluI3gGBTepfBc6lCcUPDVu9SHBAcImPos= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.4/go.mod h1:npMegXgBSU5uTIVtczlAFOvKcy9f5x4uGpbLsAHqelU= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.6 h1:dH4IwB5kATH1fb0PV0Vw58CDKgKQFlE24qwd1j8Ruj4= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.6/go.mod h1:1v3H40k29g47RMmzLpeN8CQahznbkrrchPf7WYp7PyE= -github.com/aws/aws-sdk-go-v2/service/datasync v1.43.4 h1:rc3uPdxBtqgt3ELUzTP7qRV8M4MhWboC4wsvPCPGK3M= -github.com/aws/aws-sdk-go-v2/service/datasync v1.43.4/go.mod h1:+goO0fVAf3qrLIIlnp0nITiG26fGtkfKakRXkgJ9u14= -github.com/aws/aws-sdk-go-v2/service/datazone v1.24.0 h1:1vQZdB56DusyU/ZUVaJ6EOa3m/J5eOYQ9xnKE5huD5Q= -github.com/aws/aws-sdk-go-v2/service/datazone v1.24.0/go.mod h1:2f82lBtHfBrKP/pAn93z9QTta5TrO7pt60KR7I2ipnQ= -github.com/aws/aws-sdk-go-v2/service/dax v1.23.6 h1:tKtDYH6bWtGCD/2lWSh/nTDCSC13fj9Ta4opiJec4rs= -github.com/aws/aws-sdk-go-v2/service/dax v1.23.6/go.mod h1:UacIy1kHz1XwzQksauluq9Ikc/54pzzZalbGMs87T0A= -github.com/aws/aws-sdk-go-v2/service/detective v1.31.6 h1:Y8GzDptm2EHuqDCI5We0ZJoxnIJ07bMgH02JOk8/4DA= -github.com/aws/aws-sdk-go-v2/service/detective v1.31.6/go.mod h1:FjvuK1A2czZ+8xeIXDiXntztVg49AxwkSmCnTAmrqqw= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.6 h1:LMO26c9BpvBJU7TjkIOmeA0UnuVz9VEJGVKJUl/B6Ts= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.6/go.mod h1:/gu3tsu45lTMBDGOCMq+ff6R8xFJPJTmzG03GjsgNtI= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.6 h1:ddoKgFm/1oBHo7u553A9KiaOGHps3vDDdW6l4mLOXSg= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.6/go.mod h1:45NHbOfJAeqabfodRAD16xwtjiJmMdUNKNfF3o8i1nE= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.0 h1:Ynu1cxMflxgI2nG0LlS1EsCOhNCelAO24HgZCijyNw4= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.0/go.mod h1:E2hAfYPWIpsei0SCp8ykbHcXFON8Knf1oBVdlwUMuVE= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.7 h1:ZwecDiXujdrRm5C8UGwdcF9YpV83lgXfzBgUEF5KeME= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.7/go.mod h1:ndWayMkDqmOHWM2OcX8Uno6i6gSNm2O8UBNkQjQHpFg= -github.com/aws/aws-sdk-go-v2/service/dlm v1.28.7 h1:gcQxVPVOqGaltkiGow3KxZN4srjmJeVXt4xzY21VqdU= -github.com/aws/aws-sdk-go-v2/service/dlm v1.28.7/go.mod h1:r1kmK6s90DSs6cxF3UvQAGI5LMVEySns/AWL7Rc6fH4= -github.com/aws/aws-sdk-go-v2/service/docdb v1.39.5 h1:gWPt2urz9yNjcNcPQ097utT1VGdoeB47yMz2strJrZo= -github.com/aws/aws-sdk-go-v2/service/docdb v1.39.5/go.mod h1:3MWrxWaAZsyjlR7sPSnps1uaVQZs8zIdS4lWDCUVD3g= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.3 h1:CqabKk/auDP8y6gjxpHNQ9pavQA1mKe4YopiC10U1co= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.3/go.mod h1:TR7OBxz2KVqaU7utIGP4TjVZmIodSLNQyl3IcbiDi5Q= -github.com/aws/aws-sdk-go-v2/service/drs v1.30.6 h1:gRx0PWMok7r3zmoiwdFzYRyJwp2R2gzuuoFGVxQVSFs= -github.com/aws/aws-sdk-go-v2/service/drs v1.30.6/go.mod h1:k4mtLg6LgO18IaHeQX9bCms31VSXidi44A1oqMiJ6CA= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.1 h1:vucMirlM6D+RDU8ncKaSZ/5dGrXNajozVwpmWNPn2gQ= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.1/go.mod h1:fceORfs010mNxZbQhfqUjUeHlTwANmIT4mvHamuUaUg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.193.0 h1:RhSoBFT5/8tTmIseJUXM6INTXTQDF8+0oyxWBnozIms= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.193.0/go.mod h1:mzj8EEjIHSN2oZRXiw1Dd+uB4HZTl7hC8nBzX9IZMWw= -github.com/aws/aws-sdk-go-v2/service/ecr v1.36.6 h1:zg+3FGHA0PBs0KM25qE/rOf2o5zsjNa1g/Qq83+SDI0= -github.com/aws/aws-sdk-go-v2/service/ecr v1.36.6/go.mod h1:ZSq54Z9SIsOTf1Efwgw1msilSs4XVEfVQiP9nYVnKpM= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.6 h1:9DXEMWmABYPz/NXSFmp9Y14yI5FQ5jmPPvllS9hXXfY= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.6/go.mod h1:qoPi18scDl8uM9o+tHi77043RLv2WIIFvVHcF1RT8Yk= -github.com/aws/aws-sdk-go-v2/service/ecs v1.52.0 h1:7/vgFWplkusJN/m+3QOa+W9FNRqa8ujMPNmdufRaJpg= -github.com/aws/aws-sdk-go-v2/service/ecs v1.52.0/go.mod h1:dPTOvmjJQ1T7Q+2+Xs2KSPrMvx+p0rpyV+HsQVnUK4o= -github.com/aws/aws-sdk-go-v2/service/efs v1.34.0 h1:0VpBMWwpq5UuhneIWO19+/Mp5DmFwQIEAoC0LqFCYdM= -github.com/aws/aws-sdk-go-v2/service/efs v1.34.0/go.mod h1:WBUkzX6kKt36+zyeTQYxySd0TPuvNQhNWG6vRrNBzJw= -github.com/aws/aws-sdk-go-v2/service/eks v1.52.1 h1:XqyUdJbXQxY48CbBtN9a51HoTQy/kTIwrWiruRDsydk= -github.com/aws/aws-sdk-go-v2/service/eks v1.52.1/go.mod h1:WTfZ/+I7aSMEna6iYm1Kjne9A8f1MyxXNfp6hCa1+Bk= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.0 h1:Fyzf7cqohTLamP8kht9xvkMJT3HXmz0IQGdRMk1tdJk= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.0/go.mod h1:yx9zxw7KuLQoIdf0ajFjNhsIve273fJDMmF/BprT8Vc= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.5 h1:bCj+S/v35iLUnHp8DiIC92sdWYweLUjBDSLFbw7vHQ0= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.5/go.mod h1:gOJmxmxThaTRM7r8WZ6BeOCl14UE48lSgMca7U4/oMM= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.5 h1:12Fm4tTwFk2Url99X56hdKXKVK7suzZKjtdXAILne4g= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.5/go.mod h1:qnlecrYsTCjPhGuF+3SZaz7WGuNz/T3L/Q8a3Yc7uww= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.0 h1:fIAJ5VM/ANpYV81C1Jbf4ePbElMSzuWFljezD6weU9k= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.0/go.mod h1:pZP3I+Ts+XuhJJtZE49+ABVjfxm7u9/hxcNUYSpY3OE= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.6 h1:j19Nazjj1qrrm7DufPO53F9FFzrUDlphsqpNn0HU3fg= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.6/go.mod h1:6QH9UwlCk7m5PoCPH+/UZtStdP8dLg7CzJJ/52o2pAU= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.6 h1:oV6JszCETDPPHkqZahjVUaP8IlWDSUm2B5lRISvsL2g= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.6/go.mod h1:JsyDIVlHAYBxZHya8YzO7RzLq24uVUs01aG9BiKOYlo= -github.com/aws/aws-sdk-go-v2/service/emr v1.47.0 h1:S3soqtUBuxbG1FcLFiP2uGInncnM0eei+hsmCou2aBs= -github.com/aws/aws-sdk-go-v2/service/emr v1.47.0/go.mod h1:1Rl0CmeP2He+Oiz7PtsVJxFIt1h2m1rt0vahJtIldE8= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.7 h1:OzrMVLJ97pCg2BCER5Tk0/Fg/604Ravd4VR3rRQeKJU= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.7/go.mod h1:JYC8r7iUXCR02VKACPxpcOeLtYnHeKNrMzLv0U6uKVs= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.6 h1:0SqOqOHxwzy+2i/DvV/a5Lc+UrfDFRDiCQhVT9jTFFU= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.6/go.mod h1:xfBpOsT/7QZnOPGQmaNxW99mqJG8Ya02kmvUcwOYiGk= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.35.6 h1:LLUzdN3H7EEmpRjkJDpMGdbimAPTg6+3fFvJCDpjcrQ= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.35.6/go.mod h1:njIZoyz4eQquthx3TH9aIz5svTr55u/6+agentCxFC0= -github.com/aws/aws-sdk-go-v2/service/evidently v1.23.6 h1:dVG09QDQUUvWW16V1nbRrYLnTN6K0DukfN6D2cFn9jE= -github.com/aws/aws-sdk-go-v2/service/evidently v1.23.6/go.mod h1:KL+GoKHIcOl97tHqKuL39pAjTQ6+cjifp1Y4Z4fagM4= -github.com/aws/aws-sdk-go-v2/service/finspace v1.28.6 h1:DMzWUq6cdH+I03X8Bn1UATTt0MFnhsSkR6kOsN5pcFo= -github.com/aws/aws-sdk-go-v2/service/finspace v1.28.6/go.mod h1:5SpnpHrkr9dXBugT+Dv/X+X57K88XC5MtYDK4WDf6a8= -github.com/aws/aws-sdk-go-v2/service/firehose v1.35.1 h1:yA6/HoFnFrPhE1nMO3LzsgKIT/99NDWoX5Xzqnqhpyg= -github.com/aws/aws-sdk-go-v2/service/firehose v1.35.1/go.mod h1:TSAFnwAC+DYOJX5JehOV+wJiAhpluwa+yHDxDmWI4P0= -github.com/aws/aws-sdk-go-v2/service/fis v1.31.1 h1:bllAkyDhLHCyJFn/nP+b49RRL8Hh/w5Fj4TW8rZhKrw= -github.com/aws/aws-sdk-go-v2/service/fis v1.31.1/go.mod h1:IxUBo1RMVFX9fbptkBFSnqaAh4x5SXdTDmLLsyzYPC4= -github.com/aws/aws-sdk-go-v2/service/fms v1.38.4 h1:cEOnWR/0wXpeQ/UR7ekpfdi3E0tn5GUhPoJWoaPid+Y= -github.com/aws/aws-sdk-go-v2/service/fms v1.38.4/go.mod h1:sdb9Vy6D39p4Vye95Bz5tRQc6IPenFmcT8+wsketxUw= -github.com/aws/aws-sdk-go-v2/service/fsx v1.49.6 h1:dgI1m+My7Se4SpgSLJ3oIaNQDvwTHUNdjLjq7vPgJjo= -github.com/aws/aws-sdk-go-v2/service/fsx v1.49.6/go.mod h1:MV66g+vJERlW3JmnDD0fGwJHkCQ13iAhACBUUsG9Fbg= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.1 h1:knLg8HvuZ0aMqX4YlH2uPSlScqcj9xFejdn6KUCvpig= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.1/go.mod h1:yfH6QVHv+ST1elyWtd4lj9V7Uw+QMjVROA7/gjrhNCM= -github.com/aws/aws-sdk-go-v2/service/glacier v1.26.6 h1:Yb4du9dQRtexyb3AsAnH/soJOYdULLsjCIzIYSi2KFk= -github.com/aws/aws-sdk-go-v2/service/glacier v1.26.6/go.mod h1:mcndxNubKcVuK74+86W8BDJYhmWgfV/9/WO25Ofouuw= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.6 h1:p4aGf3B37+2c8Jqh9oukh2Aj2AMK8E0XRroDyLJ0jx8= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.6/go.mod h1:Au4Za2pi2wu/ib9eut/FRpmW4bqw/HuFpnlje/94Of4= -github.com/aws/aws-sdk-go-v2/service/glue v1.102.0 h1:D6OOWCPCSpjzwfya9hOgDQk3BNvgN1N8ie8bzszq3VU= -github.com/aws/aws-sdk-go-v2/service/glue v1.102.0/go.mod h1:TNh83y7HCK7s/ImCZkiJF/a5/25XZwkvGHtmvDM4y7I= -github.com/aws/aws-sdk-go-v2/service/grafana v1.26.6 h1:4HbrlCilE6Gfp/mzsm0QUZWrkOXnJhA6tANilm4bW5A= -github.com/aws/aws-sdk-go-v2/service/grafana v1.26.6/go.mod h1:HJ529PdQzuLBtEDDjLtpk9tUskaGduSfAeY2bQzSPi0= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.6 h1:Jsv+CFWW/dC7Pnn8QyxfzyJkfQBt0sEFg+I+DQAxrB4= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.6/go.mod h1:TPDOTBV37nVuKseCVfhtjXYFsesBQmhe/ap5HFKTUWc= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.6 h1:mIzNjH67V9Nu0YaT8FMxe48i4da5etXCxr9YZbBc8os= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.6/go.mod h1:FutbhbkJQBICQf1iATk3YM5/KpMCoGBwtIzrj4fpjN8= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.51.2 h1:b7UFaMcKBI7L6dn0cIdti+JWo7tu/PBzSiPMxL5hG+0= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.51.2/go.mod h1:Nt8fPu+TIY++o7jufOiHACxNFdgTNSL5yY9csYxIK3s= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.6 h1:5ORoj9mfye3aGD2Q3bWqybeflWHK4MKd8YrVwy2lQGU= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.6/go.mod h1:X3UjJJdBn2mecE1MqmLTjL83ueoiwBo8aWFCMk8HYbE= -github.com/aws/aws-sdk-go-v2/service/iam v1.38.1 h1:hfkzDZHBp9jAT4zcd5mtqckpU4E3Ax0LQaEWWk1VgN8= -github.com/aws/aws-sdk-go-v2/service/iam v1.38.1/go.mod h1:u36ahDtZcQHGmVm/r+0L1sfKX4fzLEMdCqiKRKkUMVM= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.6 h1:K0vnb1HZx5Bzc4VP2Pyul6pKGOkmlOdLGLNag1H6tJ0= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.6/go.mod h1:4biBEi9kbDSwayhZhLtGF6325lrEi3e+C9q+C0N5Jv0= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.38.4 h1:aiUxEicGm5tUeTfhsay1FJXnKJnwVO7RPqSLL9ofmcI= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.38.4/go.mod h1:6tZhu4I5K6paE401s53iw4F8fskiW6Z+HfOis/MyVwg= -github.com/aws/aws-sdk-go-v2/service/inspector v1.25.6 h1:7tGA6lqnXk+KU9ZAYuExBkcw9pLw/mv/bXYxO5Sgsc0= -github.com/aws/aws-sdk-go-v2/service/inspector v1.25.6/go.mod h1:UJfA0/mna6xg+45rmRqxX0+72UdlLnW7r99ke5MX4JU= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.0 h1:qEaZRkBG/RrgakiBGSU4j2gvYiJ4R29T65YLqynr92U= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.0/go.mod h1:WDIty+W4K+zTro9oNy51ct4odnoZSEQl9VdnRyJI4pE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.25 h1:r67ps7oHCYnflpgDy2LZU0MAQtQbYIOqNNnqGO6xQkE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.25/go.mod h1:GrGY+Q4fIokYLtjCVB/aFfCVL6hhGUFl8inD18fDalE= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.2 h1:9WvCTutkgDExBamb9UZQ94oiCjJwXUhhtoBH3NIs0Iw= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.36.2/go.mod h1:9QmJU2Zam+wUZe8etjM4VY9NlC0WeMFLIvtUIOIko4U= +github.com/aws/aws-sdk-go-v2/service/account v1.21.7 h1:TljZChU1jYlIrVC6GpS4t5CCuTPVbxkHP9pOv9yKz+o= +github.com/aws/aws-sdk-go-v2/service/account v1.21.7/go.mod h1:/OutbIU/lpaxPpjAeKIE6lOfy9bPOZi1xMzSllMubKw= +github.com/aws/aws-sdk-go-v2/service/acm v1.30.7 h1:rv8PVsnReslpDVVByyuX4LzfA7j0+Jcj6Gili1dBEd0= +github.com/aws/aws-sdk-go-v2/service/acm v1.30.7/go.mod h1:ns7D5/uAekEaVLAIzzNrxVz/CsBCCwNfSdi46PEaGhI= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.8 h1:qcx0XpDUjTkwp89kt15m1iKorZ1BK1uzXFTT+1NvU0A= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.37.8/go.mod h1:T44GdsVnipn1kFnmZbVqLhDNtl9rrWVBmjsuPIrRQzY= +github.com/aws/aws-sdk-go-v2/service/amp v1.30.4 h1:0ya3FPNzwsGD93yx7ag3l5sD6Kelb8qghRAUgRfB5G8= +github.com/aws/aws-sdk-go-v2/service/amp v1.30.4/go.mod h1:e3oL6s7I4YUSaRCpz4gSp1ujDmi+f0CwMbDjlRsad40= +github.com/aws/aws-sdk-go-v2/service/amplify v1.27.5 h1:W+P/AMT4p8I1EuP9BaRidIiJXWbUNpbsSb4uZwXah+Q= +github.com/aws/aws-sdk-go-v2/service/amplify v1.27.5/go.mod h1:2wrh0ye46s6rA3L1TKkvu4MEADM54tvnxcMkXVL4z5c= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.1 h1:XBVNkd4B5uGC6RgJ+/4x/ZUuk7/6f/hQ8cvGRSxltBI= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.28.1/go.mod h1:4cynmnoMmeiroN7OvI8upcQbvJ3Rfzd3j5hOthYKQnk= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.7 h1:sDijLs7HLzhvxPWxODryESj4gMA8A8seQWhaUVZaPlE= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.24.7/go.mod h1:5AN33eZ7xq2pxsvMJGgXmQA30PQGHOGOaHZf8Q7AaFw= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.1 h1:I8nQw87FkrIlGbeXx3O7yFpn6a1wmcdEzDd3U6lCacM= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.1/go.mod h1:pTisi6AYAEJXJpYnghBsl52D0U2Xu8/ZxnCsN5g8Fz0= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.7 h1:rktzRP9bRlkjb9g5ndMnS6x8tUgc/rrrXyCCn3qHe4s= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.7/go.mod h1:7UgJlroQG4RN5Klt8zwbZFvfGGV8zWvgf3BH+iJoRfY= +github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8 h1:C4Ahu+vqQMgwcKfOaxdUgn0Tmz/yKl5lrk/Y9aGhRsc= +github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8/go.mod h1:m9n55ulVW0oYNVhczguWuVkoaWky0znzYCn1Is2Q4l0= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7 h1:LrYSdKQMAAJs8XpSfNba7Goc0m0hOEGWoNvrOWFasEw= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7/go.mod h1:GiSlb1fm4OJ1foTOhXcDziKm2Xre4+bcG8AnQAhjUIM= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1 h1:8EwNbY+A/Q5myYggLJ7v9v9f00UuWoh9S04y5kre8UQ= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1/go.mod h1:2mMP2R86zLPAUz0TpJdsKW8XawHgs9Nk97fYJomO3o8= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5 h1:dxVAH0LY3XmilHw4O4eB+kYKTu3SqujSYQlyKA6PqkM= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5/go.mod h1:A+d2JfMEfDdWWMz3OfbK0IKtWjqoLaKlHt3ifC9pd04= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2 h1:QL9Ak3hh3POYTr/DgOe4pn0naYOnARZ9Gy9/uIzW+Oo= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2/go.mod h1:a+yECc5pms9wxGPwIKHOhnmDWcHJqAUmTIZR76IhMaA= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.7 h1:sycevRiEU3w7mUO+aVCAFgQw7VxXmzGj+13evW/l+Hk= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.7/go.mod h1:7/hVyfkxKjfuBu0Z+Ggh9n9VWNEkxPVFagCJZZYGV0U= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 h1:VlcGnZMtvyxACAPxWPPyWBIRmaqQ62vyf/dTWKyHC84= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7/go.mod h1:/lor1ybmbMZb2It700RSirZR8uIXzt6/EVv9b9qX3r0= +github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 h1:9KTwRIeh67p4JjOtkAiUQ6Qbzui3igoFyCFGudRR9BY= +github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7/go.mod h1:YC50kSYeBhmjzeJKNf4CB85KN9Gdy+RKhtt4MvMx4ro= +github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 h1:+fJ03y/PaSNBw6ZrJZFnyix+hTOagn1/+iRLQbW/Crg= +github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1/go.mod h1:YN/LhOApnQGAgb4AljjHkcpl+OmaLrkD6cGPL1dkajI= +github.com/aws/aws-sdk-go-v2/service/athena v1.48.5 h1:nfeCwaDRq4tXZUoBENWNydZQ7YeP3lPuWnAMCJSYcuE= +github.com/aws/aws-sdk-go-v2/service/athena v1.48.5/go.mod h1:27ljwDsnZvfrZKsLzWD4WFjI4OZutEFIjvVtYfj9gHc= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7 h1:THLQzF9JZZthlhdf8i+rDCqO8K7sk2xmsgl/by0/4B4= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7/go.mod h1:UZOdtpOTwIj4yHbPVNxfayWIlQp4c3Xht/7sDaFzZs0= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1 h1:XFZsqNpwwi/D8nFI/tdUQn1QW1BTVcuQH382RNUXojE= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1/go.mod h1:r+eOyjSMo2zY+j6zEEaHjb7nU74oyva1r2/wFqDkPg4= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.7 h1:7zci6q+hPs522cfe75lHUw9LnJ/Ha6eeE977IpBiRwg= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.7/go.mod h1:J/X0cqccGAPGPtWCWi5Juw2sSkmUN7mKnBKbbyyjzwc= +github.com/aws/aws-sdk-go-v2/service/backup v1.39.8 h1:ChfrtARE1PhWRW+EZ89IywUUoiPf4f9HYFEahbDaKxo= +github.com/aws/aws-sdk-go-v2/service/backup v1.39.8/go.mod h1:YgtsGOZJNjMAnSov/HRVspxzEUjjszZi3qXo90gzNU8= +github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 h1:/BSZk0ywzZD4KKRt4qm33fIcXQztMSr8zpkr6EfrACs= +github.com/aws/aws-sdk-go-v2/service/batch v1.48.2/go.mod h1:5pxmENM3nBEAr2XrSs6c89Iwl6wAJk0/pkyFd3Gmav0= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 h1:zrQ6zDzE5ohrLEpwaXGoF0PoBiSBo0oW6uW72iyF0ic= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7/go.mod h1:J+Zv3ekV1h3RyqVlxi1hCliEuI1SwugGAnmiOfwzNco= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0 h1:/fvYAZjlXlKTC88cFjZeHLjW+bTV69aK23VbGZQGjbU= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0/go.mod h1:BKSewSMuaeUidKqXArDlT06PWK/PP3wsgLWTXKeKgQw= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0 h1:NnApuV9cjAjJMtUmTzp6gPDvzAqUdEVljpW1W5u+6Vo= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0/go.mod h1:d+BIleA83BNMLQbwc1gYB/Kgrogwl4lzn2RN+XPIC0s= +github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7 h1:MaBE1kMoZnJ7sxK7wtR7qVe4ggfMz9681DoQZtasgII= +github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7/go.mod h1:jhUXdAWAOIKQReti3jcD8zaDjyayYBAuhmijh8+rYrk= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1 h1:g+Xnw4sHm/T5xDTlNvPBeM6gAAQSzj7EwOI0vBXscSE= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1/go.mod h1:lpKKa8zv8/MTIHRh1JB24Y+R/RXLE6BWxnFCQ/b0W2M= +github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 h1:iHBLzHxZF2vRCQzm9fKp7yA6X2nnUzqeVF3TY60tqhQ= +github.com/aws/aws-sdk-go-v2/service/chime v1.34.7/go.mod h1:NFTd15WIZy1RPTOSZEsWalWG7PuteqwXLfcy/YQocY4= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.2 h1:r4NLm/DDTGnpo2MMXIv/yox2ckrm1xugN41SH/gBrIQ= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.2/go.mod h1:NVs+MoGw0vt6s6g0hulXyy9IMRxTlfPrsral5630V9E= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.20.0 h1:IwQ9oL4a8ZhJq/tgfPd5r17wxe7V9Sa6JhhwfCkS0D0= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.20.0/go.mod h1:U8vcvSwicq+2VDdkPTP8UYn5IV8YFWPPi8CoMI786w8= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.21.0 h1:XlyfMge7JCGYR9wJoihE0aSx1mmlDdmeDg8l/SmCXPQ= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.21.0/go.mod h1:F/4OPOJP5yt+EsQXiOyMq1CkV00LZImdgoHdRWd0nQA= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.7 h1:gcTAeqesSwreH8YtKudbKx3FrliadMbVJOdmHssqEDc= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.28.7/go.mod h1:l1sYjOTxY/lcqFT56ruW2YoC1k2in//ko50kBxwpYII= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.2 h1:xUD/6aoYwDsMmVl6J6Umkgk+QlkzDm1N0w2BukgXTMI= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.23.2/go.mod h1:NQSFnuiS7N4Leys2Mx/N0UMIWkMsXHBs3HEI4ElCSV8= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.1 h1:EqRhsrEoXFFyzcNuqQCF1g9rG9EA8K2EiUj6/eWClgk= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.1/go.mod h1:75rrfzgrN4Ol0m9Xo4+8S09KBoGAd1t6eafFHMt5wDI= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.1 h1:riUb1ppQ6Qs0+Yz0bttwlwPIl0AdBAcJdtuKLzsbaI4= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.43.1/go.mod h1:fXHLupAMPNGhRAW7e2kS0aoDY/KsQ9GHu80GSK70cRs= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.7 h1:+7Ru1G2Y17qgRiUAcBxc9enlf0TxustitfBqonrWcBc= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.7/go.mod h1:Di9EQnngIp8gHvxf+GkB14uEbC5UcSxsNOOnSWMsfjQ= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 h1:3WVykb3vPvTQ7Ht1LgUzcqlSuZVhV6hntx9lwhvaJ3Y= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8/go.mod h1:l9Gu/zoAKx1ww1ZtRlSj8qP80AV742bDP337N5NkY3o= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 h1:m1CAIBZzVi05OAocQs7SzY3gLsGGNBmg+qpHA7HQteU= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6/go.mod h1:4ogUNAMmF9rtIYGYnFm21WXc/8+lcAuoNYUkS534MfI= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 h1:DrN2vg75JseLCepYjMVav43e+v7+AhArtWlm2F0OJ6Y= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2/go.mod h1:WcTfALKgqv+VCMRCLtG4155sAwcfdYhFADc/yDJgSlc= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2 h1:+M/uY6CU2TjCyi9u8ZcowyguWvpifU7C4eQowdZeXBU= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2/go.mod h1:URs8sqsyaxiAZkKP6tOEmhcs9j2ynFIomqOKY/CAHJc= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0 h1:j9rGKWaYglZpf9KbJCQVM/L85Y4UdGMgK80A1OddR24= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0/go.mod h1:LZafBHU62ByizrdhNLMnzWGsUX+abAW4q35PN+FOj+A= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7 h1:5us9BU1TnHeSqgQEiQCH9qpDbwGEtYAz6fhSL0jiAyA= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7/go.mod h1:k6IbvJ+UeAR3ueA7so+YwS+sPoHa99ECNQvbtwt/pxk= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.2 h1:hQB9ib1JAhjLodnSczNfG5XDw1bWZU0wBwW0FjDs2/4= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.2/go.mod h1:dOgg7MoOJYIvQkUkZRrKuO/3YdAbO3+fIJlICyDc3dc= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.7 h1:FgYA/R4VzjeXwimhbQGJhuyaxV/ORz1LVXUkn4t++Nw= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.17.7/go.mod h1:1V3pxyJ9hgz8HDju0oDV7lY+pzM/rERREZh7Kd6W3Yo= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.7 h1:8IZ97GQsCxQ3n0yQ+0QAMMtt2YpOeig6W5Q+hIBCfjE= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.27.7/go.mod h1:7thXvCQtqWJhO9u+40n1lA89PhEA7069UVxShNyL5N0= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.7 h1:j2T2/23Cyo+5cOl8iXOL9Tau780sXBriOhWw/N4ex20= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.5.7/go.mod h1:GmV2UoFy3kQRz44DlCYZUu7/m1tT8K+6TGtqkBQWxHY= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.7 h1:WPhY1/OCDi8AteUyBZj7zvVczNZ4O6T5/HtSxBWh3nE= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.29.7/go.mod h1:0Xfzxc16U/0QopHTRY6P7MapMxHqd8RkJOt27ryEV+g= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.7 h1:5FCm30+pN7ZXwLohD5e2ec/rGPeuTz7l5cCFMFZfVwY= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.24.7/go.mod h1:miiswEyJjWFb8lIQgqA067DXBnq5mmTk2eIgKkhg9Yg= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.7 h1:x7Wiwow6bm0ICkR9akuYUkzfdpZrDx5wvkY64hZ0nT8= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.29.7/go.mod h1:91nPYuyG0FyzUG6sKqXqU6wJyeysU/9H/ug+tbQR1jc= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.1 h1:+PBCTujGgVyFHSFR7VKGBuwzHZCd6aolUCXO98Xd3yw= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.1/go.mod h1:fLGjNeyN4aduz+LrpWje0ufvfadQnwZof389MwTeFtI= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7 h1:5bDPXYGWnZ9nY/N7tY9cSO4hMadCFvZqDwRIs/4ik7w= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7/go.mod h1:K9YY4T95yT7BVqHvDjSo8h9yxftqPvWYDFfuCxtHF/g= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7 h1:12UdLytB/DylaodJgGl0CUBT7Zz2xRskdlrHst29JVE= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7/go.mod h1:yDbe8Oh55gPuNdJzsv3CFbHV7d5wvUoLkFhql0p+y1U= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7 h1:Mr0Fl/TJ1ZtkTOtX3wpgzqL6ZI+WOTnxHF0X0OlZyXo= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7/go.mod h1:eVAaMRWHgjdGuTJCjlmcwYleskahesLPrGFV4MpQYvA= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1 h1:isjmZUmhAMzCLs38LnWVIKqWRSkItqZVGpdJowlmV/Y= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1/go.mod h1:U+GnB0KkXI5SgVMzW2J1FHMGbAiObr1XaIGZSMejLlI= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7 h1:z6WD4P7bvSJNlmNVDsfNP/e5o0Zmbz9oM2wOgFWCHRA= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7/go.mod h1:M+Z8mhHoSWbr3Q1V8ZaINLLj0p1WGYWjCv/kO4IgUVw= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1 h1:iH/z1Q7WYbT2MoTkEIMvR32Ip+FFRuD74EKXUqYLP+k= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1/go.mod h1:Epb43KiHofSehPHq6PEQZ07hcl/Euv4vUi7kEcC7J7I= +github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1 h1:zA4KArT5FZ4ypJc8X+7MJNN3iv74K8ygmFhci64M4YI= +github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1/go.mod h1:2fOznUkaoZ2EtJimN0zizQRxQmkndSJz/SSd2x0goKo= +github.com/aws/aws-sdk-go-v2/service/connect v1.119.0 h1:uZ2hecASZoYuuGLHa252ss5SSbFYEhcS/SSWUa/u9kE= +github.com/aws/aws-sdk-go-v2/service/connect v1.119.0/go.mod h1:tuGtOUYMxcOObTcKDHKpzTG9EvjfXjOIEC74a6meGRk= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7 h1:uWiDzkr4L/KMlftI2OqmELmsv0ZGxeyi3YAo266wJzs= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7/go.mod h1:/FZ+YQmJpAdZPR4Z1tA1mIxA/SmLmUlgrn3sZOAmnfQ= +github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1 h1:fpqsKm/4mA+oOn2IM62syUhcVZMU3Gc7tl8HTd4Ul+k= +github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1/go.mod h1:zVh69cAM8AHhBlu/eP9OSBCRbojNw++iEHx0+wgBojI= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.7 h1:8iIE0CQ6ZWC11vSLJf+M4gPgaiP+qxQ3haPV7KhGZTE= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.7/go.mod h1:guVPkA6zDaG1wnh0Od9xyPb/6lUijf2zaHi4tTxW8Do= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.1 h1:2aaEZa6CBfsEebfn3jxwnIDGbSAwZnqIsEC5KF89X2w= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.45.1/go.mod h1:RboWadEsqV6Hw/OOyyu8IP+kdz0DASutt3H4ezBxSIk= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.1 h1:r1LakPxgYvob4eOY0rTjgYuahwFhVgx0txkSHpnyxFw= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.11.1/go.mod h1:agAlqygpDyX9paflw12sVF0sGGzAk6Ed5plVQgOqJRk= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.44.0 h1:Wkf9S+n02aTZ8pQsp+nBRRVFdodbHG7V5HWqwYQWm/Q= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.44.0/go.mod h1:yresrCHgaNcKcF7cLJ6emqK9eb05B1Ik2KvDMLbncU8= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.5 h1:KmcRuMU/pSZy/bhnZ0nTGeNXhvBO0cvXkXduq3E5mAQ= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.44.5/go.mod h1:4O6knGhxKpEu9ILt1+PGSN/LVWzLa4hdyUdPfjgFTao= +github.com/aws/aws-sdk-go-v2/service/databrew v1.33.7 h1:kaYiuNxHzwDMwsqM766yy0cp8ZVldOTwJhOeR0MINU8= +github.com/aws/aws-sdk-go-v2/service/databrew v1.33.7/go.mod h1:Gu2mR/aUZzdmnNORl8GbAN6xDsPO/t9KNG+B99SNMIk= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.5 h1:X62garDt07bE4Ojd+qO6MTlyMC/wYPw6Sg0QkSfNgXs= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.5/go.mod h1:UJZLGoXBQs6AukctWkOWimAQh6wloVGq6LOTyg/ALJs= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7 h1:b2xXuJ5Yh5RuyOzs3vdBamLXVK5DIM5l819/pCxbC/M= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7/go.mod h1:IH2WIe0ol0aDtM5a/+nP6UYRwrDXi/gwF+DA0nJK+i8= +github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5 h1:4tdw3XO+pUwsjE6j2a4kWxZt80NtRxhOl9OnDtPS1fY= +github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5/go.mod h1:ty1/xBfWRiv/C+e/cbTLkM4UGMfkOavUgp3daLZ2QKc= +github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1 h1:/7+bznm0eo+AtBUZZY6cNzrmmto3Mv57Cg8BZeJDBXI= +github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1/go.mod h1:2MCAq6PXnLOI6NVaUES50GGvOl1pa5l6N2XmRAVWWWw= +github.com/aws/aws-sdk-go-v2/service/dax v1.23.7 h1:hZg1sHhWXGZShzHGpwcaOT8HZfx26kkbRDNZgZda4xI= +github.com/aws/aws-sdk-go-v2/service/dax v1.23.7/go.mod h1:fYBjETTq8hZfirBEgXM1xIMy+tvCGYZTeWpjeKKp0bU= +github.com/aws/aws-sdk-go-v2/service/detective v1.31.7 h1:Pw3K9Leqg7SfEoPZek374z1pTJXSKbbS+zbGolMCsWI= +github.com/aws/aws-sdk-go-v2/service/detective v1.31.7/go.mod h1:ngskhJvBbS6oSmoGYyX6gzcoumPw+W5KIzbMVNBd8lQ= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.7 h1:oXxzZJw5Jc5rrbnSBYjC5EfQ3cik+ZzdjHIZYPQ2SeA= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.7/go.mod h1:RmmJpAmMnDSzrKzi29jEcnhy9d4xfjRJ368FEnhvCiE= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.7 h1:WrbyPtKCsyt0UcHzoF/5Kof6O3b4JkZgx5pAFrAe3Ps= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.7/go.mod h1:/pcwN9rb3n1thi1++LLQik7v48pXo7mcgh4baY5giPA= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1 h1:U2VtqwmOzP7sZYWmrnapl3j3KLxIntWyK0RU3uGBIPk= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1/go.mod h1:IVHMPfXzPHdq2JuZmnyreo2Dhhlu84Vel/tochYKgh8= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8 h1:o3yUhrImWkJuI42DyTJu7REWf1+EUNlwfmLpo2yXzb0= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8/go.mod h1:CxYqXrb08ko/psMpQ692AcEFXCuB+sVuWA2OZPB32t0= +github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8 h1:Ez/XAeVo6h1hd4dk+r0JADhEqR3fhDPOIgzkWcbKPns= +github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8/go.mod h1:SBPSK/ycAG4ET3JblaBP2Xt52RjNcg827EFgqN8W7AY= +github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 h1:N2iwdECLOQuClhv3XdTgGSY75N7QHF5nDekPGoFpRyY= +github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6/go.mod h1:pa9tid/NTUDjayagl5El0KVg9IiV3hJEKVxFmvyc+J8= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 h1:pT1NLJ04YA/05ZEbYBNhminfsbKBvHDlOh8ScoMZybA= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4/go.mod h1:ZupWmXwSQwiyktsk0/7C71pCkTn7dLgOw47TmpvtU1Q= +github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 h1:0jUZJqidFnPF9LlSSsYD9yQcbIYLyNKjGa+gFPh9UlA= +github.com/aws/aws-sdk-go-v2/service/drs v1.30.7/go.mod h1:myL1h4VGyN3HU1B/7WBs2MsjKYX3FugwPJ09muIM8tE= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2 h1:dTzxoKbznBEm2xscSQc4DXQ447j/IZRTCwhJxiDN3mg= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2/go.mod h1:xDvUyIkwBwNtVZJdHEwAuhFly3mezwdEWkbJ5oNYwIw= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 h1:F3pFi50sK30DZ4IkkNpHwTLGeal5c3nlKuvTgv7xec4= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0/go.mod h1:00zqVNJFK6UASrTnuvjJHJuaqUdkVz5tW8Ip+VhzuNg= +github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7 h1:R+5XKIJga2K9Dkj0/iQ6fD/MBGo02oxGGFTc512lK/Q= +github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7/go.mod h1:fDPQV/6ONOQOjvtKhtypIy1wcGLcKYtoK/lvZ9fyDGQ= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 h1:eddAe+FnCCLECUKHUHLM9/iAlqDkyRjZk/84+eo0ToE= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7/go.mod h1:lik3qEJ4TBnQrEKoZnFh8E8nn5oZSebnB/pydq8oQRQ= +github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1 h1:85SGI/Db9I8PT2rvDLIRGxXdSzuyC4ZKDJwfzuv7WqQ= +github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1/go.mod h1:Ghi1OWUv4+VMEULWiHsKH2gNA3KAcMoLWsvU0eRXvIA= +github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 h1:y2BaF/VBEQM5Gi27ZOX1jSKRQLNifOfvegkqKKDPNEM= +github.com/aws/aws-sdk-go-v2/service/efs v1.34.1/go.mod h1:0c/j249PCFk5d/KHJsBIoCVdnZa9Or71J/fqC/n63BA= +github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 h1:ACTxnLwL6YNmuYbxtp/VR3HGL9SWXU6VZkXPjWST9ZQ= +github.com/aws/aws-sdk-go-v2/service/eks v1.53.0/go.mod h1:ZzOjZXGGUQxOq+T3xmfPLKCZe4OaB5vm1LdGaC8IPn4= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 h1:Dch9DIcyrHf6OTEhgzz7wIFKrHZAWfcZ1BCAlZtwpYo= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1/go.mod h1:gzplo968xB24VkeHC4wKfDbSERguKL2xKPL1Csd/mH4= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6 h1:QMEpOzwWVIfi6V1vWA4ONGZictI9Ch/ZNiveQTgYq2M= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6/go.mod h1:U47A7lAuy5QYMD7lnRHA8WJCzV/W0POLZrUfjZ7HLro= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6 h1:uQFPQNvc9hIaF7SyHQyg2vRtTcWONaa1LUUy+8LEzT8= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6/go.mod h1:KkaWcwL6GJtS/TNn1+fVJPAR+6G7Bs7kEm8E3MlgbhQ= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1 h1:L9Wt9zgtoYKIlaeFTy+EztGjL4oaXBBGtVXA+jaeYko= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1/go.mod h1:yxzLdxt7bVGvIOPYIKFtiaJCJnx2ChlIIvlhW4QgI6M= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.7 h1:LEo0xkW2yM3qVp8awRVG1lp1o/eR2o0CSR4h9CpB3us= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.7/go.mod h1:cMruo7iPDprwYjl8CruF4+ht8gZnMJ8nmbVtgEEBu8M= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7 h1:46x9DdOeOXKRKsDuwX22aHWg1Ow/32jkYyETzh/1zPQ= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7/go.mod h1:sjP2fl/DXY5A/zWjkC414jwK5HXbydQ/ClUFIIzyNQA= +github.com/aws/aws-sdk-go-v2/service/emr v1.47.1 h1:7vjckLqynZflJB13FUfp1oWOvmAhkHFlA6WsnWSOcj0= +github.com/aws/aws-sdk-go-v2/service/emr v1.47.1/go.mod h1:Bae8t4Qt9r5jnngv9coFhXIHvFBCzlplxsqzm2pOLTs= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8 h1:tr2CAqQqNsOQqlQTNFJ0HW4o4A/era9mnq/9UnnVZng= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8/go.mod h1:BAo50mn0HxLW1w5N96Y3KluxU//eaQkpQv2O0LLPsw4= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7 h1:9mmljOULuO7Q0foAf32HWwyhgbm+oLGeVwaGadp08lY= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7/go.mod h1:HAlr1TP57Lswg9mwg+5SyoeDRMMj98chLBn9BRq/SmE= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0 h1:UBCwgevYbPDbPb8LKyCmyBJ0Lk/gCPq4v85rZLe3vr4= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0/go.mod h1:ve9wzd6ToYjkZrF0nesNJxy14kU77QjrH5Rixrr4NJY= +github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7 h1:Y4KQFc4uXRZRUS0c8zauTd0t0vAMvQrAS06DqwyvWMg= +github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7/go.mod h1:uvzDzbyHPk9ZoALbM6K0Yz+XiZuGHwHPNGXUdggdDu0= +github.com/aws/aws-sdk-go-v2/service/finspace v1.28.7 h1:4Figzs7CIQI08uPe8YDsECkDOJuR9N8eMz2Y8pccxc4= +github.com/aws/aws-sdk-go-v2/service/finspace v1.28.7/go.mod h1:a+RGo9o5n5Ts8kCQadDaq8Py9r6upMOFTzd5LV1xB2M= +github.com/aws/aws-sdk-go-v2/service/firehose v1.35.2 h1:A4rkZ/YpyzoU8f8LMe1rPXEvkzX5R/vdAxDwN6IGegs= +github.com/aws/aws-sdk-go-v2/service/firehose v1.35.2/go.mod h1:3Iza1sNaP9L+uKzhE08ilDSz8Dbu2tOL8e5exyj0etE= +github.com/aws/aws-sdk-go-v2/service/fis v1.31.2 h1:sgNhe7x7r4SffGdtbZteb0AHqCmw5ZHDIiyMCEl6BWs= +github.com/aws/aws-sdk-go-v2/service/fis v1.31.2/go.mod h1:MDGBuQGY9Y4zvv6Bi5tDF4Am+D7fRCvk+nUVndGr0l0= +github.com/aws/aws-sdk-go-v2/service/fms v1.38.5 h1:y41UPvSB231dfhAikN9xB2OSEGi8wdJgu7YvOHIT9IY= +github.com/aws/aws-sdk-go-v2/service/fms v1.38.5/go.mod h1:XnzEACT9GzGF0eSbBbkupYA74UtnF2b4mQN6In289KA= +github.com/aws/aws-sdk-go-v2/service/fsx v1.51.0 h1:n4ifwCx29MYkKBnojL/dkV1BzG5IJubsG4Z9A/bZB30= +github.com/aws/aws-sdk-go-v2/service/fsx v1.51.0/go.mod h1:5q7w7rvT828zgFuEod4Ijbw/yJ4Tn4vOPSSxbRT7Lws= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.2 h1:OzCZubJlSiTU7ht4kGi+g5/RWjoutYyBYWPPaw6Mi5c= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.2/go.mod h1:MOsRBRZZKsukJ3FetfsrX+QXgLd9k0q1wwIxJrh5qu0= +github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7 h1:YTg3h8OBu4x3UCsu9vKz9VHqkfJQpY1fpwXye6GeoMQ= +github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7/go.mod h1:w/cFjxbAVqNeAMQf31PI9KopvcFYoXdv0oG2Y9wU0uA= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7 h1:TB66P1ES3DvjeR7YNTfO4/4ncB2MiFx0jzazbPisWkw= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7/go.mod h1:geddg2iWFvxpfa7SIoJztvcdP/Prm1xk9W4+IUhGs7Y= +github.com/aws/aws-sdk-go-v2/service/glue v1.102.1 h1:E8/vYD7uGzp9mwKErJdQBH77FqEtt/BK35hM7UP3PLM= +github.com/aws/aws-sdk-go-v2/service/glue v1.102.1/go.mod h1:ajiRue7mZ0vQjVHQkQG2KBaPHW8lL5GtvmjRTHWDaqk= +github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7 h1:LVJA+YR5tHGo95E8P5W1GFnqrQIiOOagnYCGLExvVr0= +github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7/go.mod h1:oEez2RtKrs3oJ6EgbLV0aBC5YJ/bPcMbkGNtsrW1L3Q= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7 h1:ZYq/OyCCRtS55xvC73U7klRHzWlV4AG0XvG8/jbBH1E= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7/go.mod h1:5iOqOd+Xi7tMBd+ucAb95owiLCYfeqxphlblc8EvCJg= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.7 h1:6I620zcBLf791OnuF3hJGj2ft+qLvSsxRerminjOiGY= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.7/go.mod h1:RPZk76+qDmck0IFAo+ZteQDOKRN3jST4mFsCeicDmOc= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.52.0 h1:eU4Wt4yUuxVfETAfHqkIivj2fmaObjY+1rNRAVp63tQ= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.52.0/go.mod h1:JMxJFzRnFpi77J2uktvtZh4lcGMJMC9HLE9Tqvf7atA= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.7 h1:XuRWGRITuK7WMWKMkog/htDAt/t58wwdTK04oynlPL8= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.28.7/go.mod h1:0Ef9fBviMZwF5p9vDNcmAB6hUst2h8aNRnkUhzoE3B0= +github.com/aws/aws-sdk-go-v2/service/iam v1.38.2 h1:8iFKuRj/FJipy/aDZ2lbq0DYuEHdrxp0qVsdi+ZEwnE= +github.com/aws/aws-sdk-go-v2/service/iam v1.38.2/go.mod h1:UBe4z0VZnbXGp6xaCW1ulE9pndjfpsnrU206rWZcR0Y= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.7 h1:y0SG6t2s4xrOwjulhbGQ72ovA2MSlrb2UyAz+pA6n8g= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.27.7/go.mod h1:cJpIii79T0fjc0awSqvU/1kltAjp8MCmMpkhbOUUiik= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.39.0 h1:iYKAYIDogQjGVip912p9brH3/SUnY+uBAZyZi2TKz20= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.39.0/go.mod h1:7s6ULWi0Vru/qbdXGU9P17fRG3J0pnCLdb0Q7ldlI2s= +github.com/aws/aws-sdk-go-v2/service/inspector v1.25.7 h1:LV32Xwxm9bvE4DnnUHyfDFrkL5sNGGnr/PWG8LMg2rA= +github.com/aws/aws-sdk-go-v2/service/inspector v1.25.7/go.mod h1:yK+nyYadIKeORBC4ctdbS87vSBa6AHzck8HHhQ6ZxX4= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.1 h1:dX68SHOUFejZMeg2HyHlyL1QFWR+p03S2y08EO2eTdY= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.34.1/go.mod h1:SDwBSilPek820sf6C7qttUzdiO/2FXPkj811SAbn0sY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.5 h1:gvZOjQKPxFXy1ft3QnEyXmT+IqneM9QAUWlM3r0mfqw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.5/go.mod h1:DLWnfvIcm9IET/mmjdxeXbBKmTCm0ZB8p1za9BVteM8= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.5 h1:3Y457U2eGukmjYjeHG6kanZpDzJADa2m0ADqnuePYVQ= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.5/go.mod h1:CfwEHGkTjYZpkQ/5PvcbEtT7AJlG68KkEvmtwU8z3/U= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.5 h1:wtpJ4zcwrSbwhECWQoI/g6WM9zqCcSpHDJIWSbMLOu4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.5/go.mod h1:qu/W9HXQbbQ4+1+JcZp0ZNPV31ym537ZJN+fiS7Ti8E= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.5 h1:P1doBzv5VEg1ONxnJss1Kh5ZG/ewoIE4MQtKKc6Crgg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.5/go.mod h1:NOP+euMW7W3Ukt28tAxPuoWao4rhhqJD3QEBk7oCg7w= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.1 h1:bMINUQ0Vx+W0F55LdM/QNmCyy4EpGNFRZxtEY9YY9Y4= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.1/go.mod h1:FwrxOAc2QpAXWHy6pPDHqQpQy/2NuZcdvj1x+lfQEek= -github.com/aws/aws-sdk-go-v2/service/iot v1.61.0 h1:VsaQ+YkTqF7R/GbzWGdT9NVhKoxhw67eSC4JIA1QH2k= -github.com/aws/aws-sdk-go-v2/service/iot v1.61.0/go.mod h1:S3rkM2vxkYQdO+eEfv7EKzL11An45GCt2/lcnI5LbU0= -github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.6 h1:HCNKm01tmleHcWYZQ9xHreJx0+2mWetldsfHK5G2LZs= -github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.6/go.mod h1:YBeFAvdZ9sTyody+TwjI++jM7+A+gGMdNxUrssNDnlI= -github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.6 h1:6jqw638zUZ+hCrb40uzIXL/4b6o75Yykrt5gJVtorUU= -github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.6/go.mod h1:trsP/zg3CggG/NoU1ST6HWEHoZrc1MiQZOjpjmsAbeA= -github.com/aws/aws-sdk-go-v2/service/ivs v1.42.1 h1:9u32vlxg5QBHW3nbVJDRzcGCAW/V0yxBfgd93LazzQM= -github.com/aws/aws-sdk-go-v2/service/ivs v1.42.1/go.mod h1:i0WHmbRSq7fzU4s4jTS0npa50FFxMozzpXwv6mz9OFQ= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.6 h1:5xHMX7m64RVGupzIV8fEQqEaosY6q2E+OH95s0ONMKU= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.6/go.mod h1:dJPtJnW8PowNFXJzPltAM/DsQq27tH+zgNYdygfSZDs= -github.com/aws/aws-sdk-go-v2/service/kafka v1.38.6 h1:VwFMQWdGfkUW7xhkLWfqZXk1X3ufQ1JyrwA11Uaejo4= -github.com/aws/aws-sdk-go-v2/service/kafka v1.38.6/go.mod h1:zYy5wnwc0at4JSdXWyPQ9vthJyBRsi7fuAQZHdaWs5s= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.6 h1:OJOnpv9SKHd3BbAZ7ZOVfTwH9ZuZ8DudbZ1q7Y8zEik= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.6/go.mod h1:doTPYxH1R3obnAYNR7dNb+q5uaQrFGWsjrK7mmkhFOI= -github.com/aws/aws-sdk-go-v2/service/kendra v1.54.6 h1:tFPhqndyf8ylW0sHA4SKjxdey2Tc99avmKyI4KpWd/I= -github.com/aws/aws-sdk-go-v2/service/kendra v1.54.6/go.mod h1:PfMkacoIQi/2ICBRITqDcuMtssqRcOqnlH2La8wg280= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.0 h1:9VSwywZan7uSofA8lg87jXAvrXH4+QDTIF+7H/Q+SRw= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.0/go.mod h1:H8dcZZVknJUIM10091NgZ6lwrNFZRWamRA/a1JskMIE= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.6 h1:yN7WEx9ksiP5+9zdKtoQYrUT51HvYw+EA1TXsElvMyk= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.6/go.mod h1:j8MNat6qtGw5OoEACRbWtT8r5my4nRWfM/6Uk+NsuC4= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.7 h1:Qbwhj/5W7R/gD/kLKercGtFzbLN68Dr/xVCU36RLnTg= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.7/go.mod h1:9NP8BTAPCUTA2xq2KCPtpnDzVkrsS32y0AnJGQWetLg= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.7 h1:26BO/wxoZ0UxhBnRXfoU58PHGyXAOHD6MGRdMw6bnXw= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.7/go.mod h1:G655M6ZsQSwHjKDrSSYkzzNLNl0yd24TS/Nvte1Aq8M= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.6 h1:HBq8LJ3tFE44HRDDHFdfHT/12xHhlupUL3TMyz2HqR8= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.6/go.mod h1:RrmAKIuupEED9AZl0bikVGtyyDO3C93mA0nQwKaPOT0= -github.com/aws/aws-sdk-go-v2/service/kms v1.37.6 h1:CZImQdb1QbU9sGgJ9IswhVkxAcjkkD1eQTMA1KHWk+E= -github.com/aws/aws-sdk-go-v2/service/kms v1.37.6/go.mod h1:YJDdlK0zsyxVBxGU48AR/Mi8DMrGdc1E3Yij4fNrONA= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.3 h1:vbc9pblnCXXwSGnUW6abjBH2nN66nifZzPfh0fapXl0= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.3/go.mod h1:GSrO+Jr1SM/Jfdd52DIN48EY2tbhgk02nogvzpLkFks= -github.com/aws/aws-sdk-go-v2/service/lambda v1.69.0 h1:BXt75frE/FYtAmEDBJRBa2HexOw+oAZWZl6QknZEFgg= -github.com/aws/aws-sdk-go-v2/service/lambda v1.69.0/go.mod h1:guz2K3x4FKSdDaoeB+TPVgJNU9oj2gftbp5cR8ela1A= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.6 h1:+GPVOamTqDV7sSYzvziM4WbEv4u5jw/2bVYDl5NnmNU= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.6/go.mod h1:2KF56C6mZldwDGFF/vyv83VGXqDVpAaH3NwBE2+OTtw= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.6 h1:G6qKJwPyBMvFyWjAWW7lbZoN6VsYBCPxzjrQRKCexFg= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.6/go.mod h1:NIISLX1VE6siExm6eBCKwUxgUtbcZuijhfwovFLlhww= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.6 h1:2x58q4xIruXYmlJlN16QYK1i3I3BPczqUWdLLu0tGS0= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.6/go.mod h1:g8skRF3vu5As3fJIFINhNV9kyeAOr8pBDhW9wFHjRDs= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.6 h1:lIBhjNuzuaHwAuziSpwd1pUPrOUGrHnQlg7cbcbLegM= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.6/go.mod h1:G2ZGBJQHBfH6UXY9f0TUfx6kucCKJgQbLKftvjzpXls= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.6 h1:Q5zuxb0SS9xrIEnuKlKwFYedk5nviOmtEDXWrfhh/CY= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.6/go.mod h1:qklSjYVYEPst2z+rhuBpn84+jYzoo7QRRRk+ZguUoCA= -github.com/aws/aws-sdk-go-v2/service/location v1.42.6 h1:vEfLyr8ouHpU3AzTlyjBO3tMMcVIuaWWSACv9w1VK4c= -github.com/aws/aws-sdk-go-v2/service/location v1.42.6/go.mod h1:etVji3nL4Ge3MpPffv+buU/Scj/iWAL/xf9yUGRZ8zs= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.6 h1:G3y3bhS/P9Y2+YAuvHcHHfyDN4sDjdDZEruCiIBUZM0= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.6/go.mod h1:Da6VcI7dL5IJesAqesB4nr7s2Qv6vFz/DXRUfVFWg+w= -github.com/aws/aws-sdk-go-v2/service/m2 v1.18.4 h1:clAzdHIybLtBrZyt8cqwR171x7mVE3fMmCVmaffskmY= -github.com/aws/aws-sdk-go-v2/service/m2 v1.18.4/go.mod h1:FDVkgTp/iqmocl2JsFtyiQftsSa2jO+DpZ4dB+CRe4E= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.6 h1:8Ma/55QqIQBimERWAPLiOafZZ2CGMz15l1jKOcx2YnU= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.6/go.mod h1:8DUfCGSV5Y4q2H2pyN1+oZtLszDKMzizpUx6AA9WAxo= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.6 h1:FXVjLYYBZ9t9BC14HifNCrkzUWTaIrpEEkocPcOvWjE= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.6/go.mod h1:YTN0ly1dMxMDXGGWWryQB8cDV53rIcPJZNJNXwSoBJA= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.0 h1:nnH0LGQDZDa7zv8OoXtvixQ8uXH+76tOaMzdu6jDgtU= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.0/go.mod h1:2Xyd+9T+Wq6gdWAnCEnsuhXE3XES+gwkGsPJI0EBRNI= -github.com/aws/aws-sdk-go-v2/service/medialive v1.62.6 h1:YY15VFYZC/vN2o24nEnQ8KI79GnAfqkYb6RCf0xIFfw= -github.com/aws/aws-sdk-go-v2/service/medialive v1.62.6/go.mod h1:gBEjJ+TAuuuuPDAryKEKdcTLj0oZanQ9moERd0TJpo8= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.6 h1:yLTr2ccKf3+v8eErIAZxuQcHZuVf0+8w/h/RtTJemNw= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.6/go.mod h1:eb107D0QJ62buaWqqmr8FZW7nGOLpgUkanSBzd8HOZw= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.0 h1:jyZC/sFkBrjgxae9USiu6s+V3yW9kbaw/0YeOtM09Sw= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.0/go.mod h1:N/XJzgT7ToK87uK+nTO/gT6oSV+lhbmEhEYTSAHHkZQ= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.6 h1:mwGoScB0hwRkKBlbpFhHGwWVuifXKgubYv+OxpxQa0c= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.6/go.mod h1:LTbk7V5F9ZAS5dDrCb8Hej0ztaKxzZ2k2XerAfJ1//c= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.24.5 h1:XPYy54nDWNBzieltKQ6pmm5S72NQ++ABzEMrWReAHp8= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.24.5/go.mod h1:O94Vn/09IxbWludvHgI4EmmMNrGHJYUuubF6KxYELlY= -github.com/aws/aws-sdk-go-v2/service/mq v1.27.7 h1:SM+fa0iiR0B/CNpSnYZgBAFMcaPqxaWJyFHz+0QvpHc= -github.com/aws/aws-sdk-go-v2/service/mq v1.27.7/go.mod h1:uM+OjF2Wbww2yCvtPJ3lK7pO0MzcNLtItckYtWbg7bQ= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.0 h1:2MD49J99Lxb43LfLItaZEPVVgXHQofAxXo2fQWUzWhA= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.0/go.mod h1:xBgoacMucYu8C1qm8Z9kcI8ZbnbPgHR2EynpoPt4RZw= -github.com/aws/aws-sdk-go-v2/service/neptune v1.35.5 h1:HDoA1Z3r2TuF6CJfYSoLV5Wr70ll+GtJM4vL4n7SAv0= -github.com/aws/aws-sdk-go-v2/service/neptune v1.35.5/go.mod h1:vZbGimpx06Ar8EnMRoJLNYsJ6YeYFdvozTz8Kx279lU= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.0 h1:BhMpfPFW0vgobYTzfrMFijjXxHCqpyB906ToYuswnpQ= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.0/go.mod h1:Uade5ii2gNtKGSUZ2rXZBTSow50uCWh8mNLxsBeSppM= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.3 h1:5gs6lyhGYupTMTE+sFsbh35W+XPCdCt4Pgg8qEUleGw= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.3/go.mod h1:RrSc7fUe1EX71WfWClFvg55tAdQJ0UdG1uCOBzAgFFo= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.0 h1:oodO2q9rmUFricTJr5KnG5HD/6b7L2kfGEyHBD34oSE= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.0/go.mod h1:9xE0GXvKJ9L8YedscqsmKp2H5UI9luBqqQC2P8dxvf8= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.6 h1:WnyUwcAeE6NYv8Zk1A/hrUsy5ypFpFFnD88dxNfpIx4= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.6/go.mod h1:obg4ub54CzsQSVt/Q5RMUPo48in9LO2KB/nDsuaQxZs= -github.com/aws/aws-sdk-go-v2/service/oam v1.15.6 h1:rO6Yu1VrV7IvQcw7CaTxx+p3Z0IIGeY5U7iEjpM98rc= -github.com/aws/aws-sdk-go-v2/service/oam v1.15.6/go.mod h1:WSjmYbqG4Sa08dw+q1kBbn5sOK4ioCAwajICCrytQ5I= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.44.1 h1:8LrDaf/GI94aAXufGevIiHYd+btpMkWPmpHRKn7gLPs= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.44.1/go.mod h1:Hda4HPusP9TqF+NEC+aw2296WJ+yJGZR72Ufj1atZ3w= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.3 h1:4VeBNMpriKBFdPX7y7ARuiE63IyRbzmritTKD2uqpME= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.3/go.mod h1:FAez2d7b4Pe0pkJBE+BhG+1kFJszPdasr5f/uWLFttM= -github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.6 h1:5RdEdk2lp3M+cLixpXURN0MjkUV5FRmDwFo1UXMt0Oc= -github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.6/go.mod h1:pIHYTG0D9gBoZ0gmlZRL8benTzF85bnjPbWrVU25YLk= -github.com/aws/aws-sdk-go-v2/service/organizations v1.35.1 h1:+QsuehAdI8oDvdbkSfgM2yK00FzhPpM8sFozmG1rXD8= -github.com/aws/aws-sdk-go-v2/service/organizations v1.35.1/go.mod h1:Y4nD5yj/r634ux6MWgvZFWmwTofHrHvzYvX2nMnkMdY= -github.com/aws/aws-sdk-go-v2/service/osis v1.14.6 h1:IkLznNNge5hWvUsxF6bYhKkoGpcC0E/5OqOI8rI3WcA= -github.com/aws/aws-sdk-go-v2/service/osis v1.14.6/go.mod h1:tPJ/Jub87lHWze0ct1XH1oA6mKbwIdcLXxaafsnz4t8= -github.com/aws/aws-sdk-go-v2/service/outposts v1.47.1 h1:1+XB/P5Hhf8PS7wW/J+0JuPKHMR/IF0YSYmhC+XiZXc= -github.com/aws/aws-sdk-go-v2/service/outposts v1.47.1/go.mod h1:xwxXMu+7LhL0fmE7tTDhc4tKoClcIvavT13GyixjcXU= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.1 h1:lEULsuCT1aAFhns7c33YERMpdIQDz5Hsd8zWB9we/XM= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.1/go.mod h1:lncC4s0TLDksKC5mu3D07d2hoEwyxtq/9rCfv+Rhsrg= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.6 h1:KNybFigKqPXtgiSvJlQAfBRdyo+r+pcvf8m4LkNNYzo= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.6/go.mod h1:1oelry9UC3Ht/EyNJYOtj7Jl3lXPJJS1yfAcnRX4mXo= -github.com/aws/aws-sdk-go-v2/service/pcs v1.2.7 h1:ym8CxKwHy+DcZ/q+Nr+jRW79O0TYHszJfppHDyRiaNk= -github.com/aws/aws-sdk-go-v2/service/pcs v1.2.7/go.mod h1:nEWxtjVwnxhC/+PiFYotwLndICIO7s7zg9ppmof7Snc= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.6 h1:20YDzR53Z4/F5Lj9TvZ+C8LXIUQ0Wjy+HtJXM91Ir4s= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.6/go.mod h1:lXmDGZDFvSb1CySh9mujOzljpo5lwKQchPLssSBT890= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.1 h1:Rq87gPsr+seXVoRG1qaB+PyYVZPWUYHwHNZj7vxvxR0= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.1/go.mod h1:7ouFIQqHwpK5rnzhCkDfF3LioqoOiQs5UD7ANRhxCsg= -github.com/aws/aws-sdk-go-v2/service/pipes v1.18.4 h1:hkcI3Is0nBoo0RwMCTY3N9jd3kLbF3eELkmb5xeWDWA= -github.com/aws/aws-sdk-go-v2/service/pipes v1.18.4/go.mod h1:ubOlYYLTKhB0FNA85qTHyJGsTTR20T406ywZBXZdcNs= -github.com/aws/aws-sdk-go-v2/service/polly v1.45.7 h1:vjSRnb6eE/VeWy5sicCbp1uG3yn9idstyJ9fiwydFv4= -github.com/aws/aws-sdk-go-v2/service/polly v1.45.7/go.mod h1:Rp9B8Z/0JVupwGQZavo5YmYjI8mF6wNIv5+Dv4IQb3M= -github.com/aws/aws-sdk-go-v2/service/pricing v1.32.6 h1:ZzoCQskTXjZBqKW9ZpUFUBCcK22TQZWbO+6PbX8Gu2U= -github.com/aws/aws-sdk-go-v2/service/pricing v1.32.6/go.mod h1:9U+el9JTtl0llHl7GimPXMmqNHkjgMeV9vMVvznTqfs= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.16.1 h1:h0NRI0sp2vSW3pocytiirHXzUzqz7sAKtECLucRjLo8= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.16.1/go.mod h1:npob1eKe0EiDBkePh5Y9vnTsI8N507o/XIyZLEYfiYg= -github.com/aws/aws-sdk-go-v2/service/qldb v1.25.6 h1:0x4VnCqVcYDsiQs7+VTz3qtaeyTCyB9FtZNAMkb2TCo= -github.com/aws/aws-sdk-go-v2/service/qldb v1.25.6/go.mod h1:E7qOKK1pXhE9b1M+52KfCoPr8rIhFUimRgy7bxtLN1U= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.0 h1:bVG1RvmyEsy5XJNgTGKFox/PUaenvRI6kv6Svb3ifac= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.0/go.mod h1:vFpU88RJn13XpH88/x7cu+onAag/9cGpjpre8t/0srE= -github.com/aws/aws-sdk-go-v2/service/ram v1.29.6 h1:84mPZMJZHAZBFtff+UbZjAck7ZSiRY+nxmElxTEKa1c= -github.com/aws/aws-sdk-go-v2/service/ram v1.29.6/go.mod h1:I6romstEDoLQy+FCQxBmCkoKB3TkpFqiYKrc56nQEFI= -github.com/aws/aws-sdk-go-v2/service/rbin v1.21.0 h1:Tx49bha+JoGKWeph1Z5zcyDr4u2e5CrTunWxlI0dsoU= -github.com/aws/aws-sdk-go-v2/service/rbin v1.21.0/go.mod h1:pmSXGrqZyUIIZy6GCp+jvHtreRPPAyHA0B5Rj3JWP/M= -github.com/aws/aws-sdk-go-v2/service/rds v1.91.0 h1:eqHz3Uih+gb0vLE5Cc4Xf733vOxsxDp6GFUUVQU4d7w= -github.com/aws/aws-sdk-go-v2/service/rds v1.91.0/go.mod h1:h2jc7IleH3xHY7y+h8FH7WAZcz3IVLOB6/jXotIQ/qU= -github.com/aws/aws-sdk-go-v2/service/redshift v1.52.1 h1:zb5RnnLLNhQ5ttu/M2awKTMFZCSPk/dFkzLg0wRoGEY= -github.com/aws/aws-sdk-go-v2/service/redshift v1.52.1/go.mod h1:wwRCtvNBYB+hYayN6DRc2bnpuHQa1nlbxzl2hG0iiFY= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.3 h1:TjnbaZH/KmEb05dDFhghgfRkDfPwlW8offp3N038gTQ= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.3/go.mod h1:GdcVhrp1b1xkdTQuX05ULZ+nUleYT5uJdQwu+vorK/w= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3 h1:kK6hgb+NPtKbVt6ipCyWDSny6mJty3IxnArQAeUQHRw= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3/go.mod h1:rM2oYKRheMpuxjJ7fkIqoegIVdG4GkdOqRx1PSx9xYs= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.7 h1:kC6qaN1AVzhBzDo/0sUCdkJVcamuMslppfys4oGtxR4= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.7/go.mod h1:/OYd+ham4lcrARFxWjW+TzBZ0u1gprKqbOUAnX4e0D4= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.0 h1:j4tpuJDBBOrjO0nu0/OYF+npDe0zUKDh87Bvu6xMm5M= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.0/go.mod h1:qjJmrIFydKnYY0o/pzlSRiVW3MlfexrcfLGprTB9RGU= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.1 h1:4sLI1tQYWtjUKbGcqi24jrK9yCRj9dzDlpoHI0nPBBM= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.1/go.mod h1:/BvZpktD03eMkAyP9EJgIZ/0KpfCKAokOo+rFAPWNQo= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.6 h1:1Xt2iiHMw+5WwGLaKZ7KhB+NabAHdPo2pPmSQJO9RAY= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.6/go.mod h1:gGux5LmDJLXI5Q+Nt4YqX+l3ucXvgcxAzuyJ2v9Th/I= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.6 h1:I+a2rKx253mIClu5QtBkYWtko1k3nC+SvAtWTomengI= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.6/go.mod h1:hmJ9BhvEvDx0TrC16/p9UdoBRyCD2+k23ritPq5ctdM= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.6 h1:PAcYgkHkqSQnXRvlJiYogADw2FE6e3RlxZhEyfLbp5s= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.6/go.mod h1:0oftCHOKgkrfOUU5py1HImPvXXmohziImw6ZsDblUZY= -github.com/aws/aws-sdk-go-v2/service/route53 v1.46.2 h1:wmt05tPp/CaRZpPV5B4SaJ5TwkHKom07/BzHoLdkY1o= -github.com/aws/aws-sdk-go-v2/service/route53 v1.46.2/go.mod h1:d+K9HESMpGb1EU9/UmmpInbGIUcAkwmcY6ZO/A3zZsw= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.6 h1:V05BVZkF8PlS+7mv/mZbg+RTosgot+/vbC/GjD/O6+I= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.6/go.mod h1:qi5Gro08MCfHLMycebAQWfHotdcpDzzPE3lwYSdQDHA= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.6 h1:GmnkT3Bgzhdmpr2jTEwNRBkJIG0wEJto5V0iU0+Y2Ws= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.6/go.mod h1:nmCbIBvDF0cz6unQBjj+0mWo1rrS/Kx5cLidUnBTqxM= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.6 h1:WOwc3eLLF/1K72JrZNOj8zouEKO1LeIAVNPQ0SVLMoY= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.6/go.mod h1:hSlHrezzmKmqKk5wUR4cx3jBGskN7wyP/9EzeUlr3Y4= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.6 h1:UlFi92om4R46idg9Ha1Q9E7X4wBluNqPzbwJfbMe9XQ= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.6/go.mod h1:RBzN/I/E7XuGozrYf7XXSKdbFd50qZIvqCxnisme/S0= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.1 h1:FlKzCc4JH3i87BpFsCvoXQrc2acahy24kebPFvSVWMY= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.1/go.mod h1:Srhr/nWE3+IKKhOqUBc/hYmdgCgxt2Z91GMFFtJyOeE= -github.com/aws/aws-sdk-go-v2/service/rum v1.21.6 h1:4U/ss6VTGPGvnSzDyojk/atrOWhJ9OPh4RHwYEm86aA= -github.com/aws/aws-sdk-go-v2/service/rum v1.21.6/go.mod h1:kAUyICwBeSM4d/WWS2ZcRz9RLtd0ZuDEQbTf4YCmcbA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.69.0 h1:Q2ax8S21clKOnHhhr933xm3JxdJebql+R7aNo7p7GBQ= -github.com/aws/aws-sdk-go-v2/service/s3 v1.69.0/go.mod h1:ralv4XawHjEMaHOWnTFushl0WRqim/gQWesAMF6hTow= -github.com/aws/aws-sdk-go-v2/service/s3control v1.50.1 h1:WjVnnNd++hjjmuODULNfZaW2zEKZVrDGZvdQUK2dF8M= -github.com/aws/aws-sdk-go-v2/service/s3control v1.50.1/go.mod h1:ymXHnBHIxM/iqrgGphFuoUfuczoy4inIr2LH8PRj8NQ= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.6 h1:zzoRIW5fgL23XkMtW4eDNMvWreQLOJNeFCK2tmjfz1w= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.6/go.mod h1:eWYAk3ydR9kivn2OqgXUAgZTvmeSQeoYKiEFIQFVm1M= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.0 h1:t3gEqynGngUIZ3dqg9LsrGgK/4Qemqy/LQJtpI7waow= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.0/go.mod h1:F2Dsgm3rYCwBQ3kceuZwwdx6N/7jpcRIREp3CGMBwV8= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.6 h1:68IWlYXT4lWbn1EmL8NBouGTyi9W/IXkXSJbTiasjXY= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.6/go.mod h1:p6YS4Jv8IRTR8g77fl7iAYa72RfFV5t7ek8TP8/fKVM= -github.com/aws/aws-sdk-go-v2/service/schemas v1.28.7 h1:2Wt+RX/lsLb/+np1UV9naIpl0gg03bs7rkt76Gr6W8s= -github.com/aws/aws-sdk-go-v2/service/schemas v1.28.7/go.mod h1:iwJXS0UyH3hE+/Bt+1MAFCwFuJ6uSx7MUv5KdFeqqPc= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6 h1:1KDMKvOKNrpD667ORbZ/+4OgvUoaok1gg/MLzrHF9fw= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6/go.mod h1:DmtyfCfONhOyVAJ6ZMTrDSFIeyCBlEO93Qkfhxwbxu0= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.54.7 h1:pWQKR8guL3JKhJo4fzbez5TwcG6oNShKNv1cOlDX0KM= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.54.7/go.mod h1:UleZz3snRNYUF7PwsUDdKFq7VF1SUI4WGgMrnLNbYos= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.4 h1:9q6LYxzfK4fW6hYMtrHrI/lXu4sS7I2gGY1vlyrCKNs= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.4/go.mod h1:QwvPHp/z19J3LsiN3xOStRqe5rV0TJN4tfbKjBSFlyE= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.6 h1:GfQTL+TxMeqrcUj+e0C85o60mXXsiwCzuFJvEC/XCb0= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.6/go.mod h1:mHgnVSl8qnOokL5Vrn+r8Vk26lxG5rJJWsf3ng9MmMQ= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.6 h1:ZfH1I4A7xSoZV7Hy/NNHpCTyOj6TjxLax4gZvIdmvEA= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.6/go.mod h1:8mB+AmDLKnSF82XAtwnUzRjLxDyiEJOj53S84IhR0Mw= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.6 h1:3rDGhJUqFxm3njevh4wdEwuqUEhMRUTk16gDEjMIfXg= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.6/go.mod h1:VB1Zh7z33iwdgqfNks5+k+YRCIVDX+t0odHr7iRh/9c= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.6 h1:SNpBx1RGzJRBdiUqyzEeLvJTWIsO/XdrSMNI+z6Oy88= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.6/go.mod h1:wUxQDWQLkWd7A7ROXBwiOhjKFOvHAoKHbrykS9xq9D0= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.6 h1:GiXCmQ0LWJxMqxeRK8Oc1w2Ufyn9ADxc0MXZMzFTYyI= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.6/go.mod h1:j97IqfLFihFonWq16KSfpMENWQ1PvLjNhjoJfpwYTv8= -github.com/aws/aws-sdk-go-v2/service/ses v1.29.0 h1:b6Je/QdCfxf6xupis7Eu8fH6SPFE3tG/Xd6MDOpOGJo= -github.com/aws/aws-sdk-go-v2/service/ses v1.29.0/go.mod h1:JRCjHrdiLrSoHRbbOd0lTQOS5U9Yxe72wB3Rk+e2tcQ= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.3 h1:el5Rx1kxCrz4rb/lCPl+Hq33ZAdKohbOTlcks7nR7L0= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.3/go.mod h1:Lw3+PgymmO/wdBXubwIAn+RiG7T/cD9gE5kicRmN54A= -github.com/aws/aws-sdk-go-v2/service/sfn v1.34.0 h1:fWI2n4gv/RHaPaRbceJsQxlvVwBdH2a1v/qjFx1xI58= -github.com/aws/aws-sdk-go-v2/service/sfn v1.34.0/go.mod h1:3dMtLKPPdu8n0VakTR9ncAjFGvnRyLMD1Ib5USqCLG4= -github.com/aws/aws-sdk-go-v2/service/shield v1.29.6 h1:6Gyhego+FPrK45FxaQ0wRm4EpovxHc51M4WFaQdGJz0= -github.com/aws/aws-sdk-go-v2/service/shield v1.29.6/go.mod h1:KYGAHKJFsHD+QVZ08NHHjAtA0FBrfm5YVSGe7eV4AH0= -github.com/aws/aws-sdk-go-v2/service/signer v1.26.6 h1:inoZy/MBkjYLTsvOlU+b3ifeBiWbtQlSp5CKAoFb/6k= -github.com/aws/aws-sdk-go-v2/service/signer v1.26.6/go.mod h1:PlARViFxCTRAUavXGcQObbvAneCEeln0hvpQCsHJATU= -github.com/aws/aws-sdk-go-v2/service/sns v1.33.6 h1:lEUtRHICiXsd7VRwRjXaY7MApT2X4Ue0Mrwe6XbyBro= -github.com/aws/aws-sdk-go-v2/service/sns v1.33.6/go.mod h1:SODr0Lu3lFdT0SGsGX1TzFTapwveBrT5wztVoYtppm8= -github.com/aws/aws-sdk-go-v2/service/sqs v1.37.1 h1:39WvSrVq9DD6UHkD+fx5x19P5KpRQfNdtgReDVNbelc= -github.com/aws/aws-sdk-go-v2/service/sqs v1.37.1/go.mod h1:3gwPzC9LER/BTQdQZ3r6dUktb1rSjABF1D3Sr6nS7VU= -github.com/aws/aws-sdk-go-v2/service/ssm v1.56.0 h1:mADKqoZaodipGgiZfuAjtlcr4IVBtXPZKVjkzUZCCYM= -github.com/aws/aws-sdk-go-v2/service/ssm v1.56.0/go.mod h1:l9qF25TzH95FhcIak6e4vt79KE4I7M2Nf59eMUVjj6c= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.6 h1:mYRRsmR2P2tGRzoAWOc0dhh6/wm5xF9MRkMJ/OJdkNk= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.6/go.mod h1:aTtebl9x8vxZTTUamDzvujt1OICEpcZED1oCi80yyJw= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.6 h1:dqJenl1BmS8fQWI8Ol/h3WdME5lRiYdmggoHv1fihVY= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.6/go.mod h1:NU/CID+MNfIEoHY+XOQ4xvtF8vPm0eco0thWTY2EM9o= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.0 h1:SYNFn4FRwdrh0tWdRBcrVN1T3/QgisV/E68/y+0cda8= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.0/go.mod h1:MtHMOMSvnNeeu3F5WP30eZwSp1qRbxjkT2xor1mb/H4= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.6 h1:uJACk0uiWe+s5Y7CWo15ojwRS4uwxBsfjrcG/QxztKo= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.6/go.mod h1:v676cxw/KjLk2vM97EL/nrpiX160mY97QErDa2ArdUs= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.6 h1:3zu537oLmsPfDMyjnUS2g+F2vITgy5pB74tHI+JBNoM= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.6/go.mod h1:WJSZH2ZvepM6t6jwu4w/Z45Eoi75lPN7DcydSRtJg6Y= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.6 h1:/+meNQDvDq2Bq3mAhlBkCJjSsjKhOKIUoxSkgy9VJ1o= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.6/go.mod h1:clySUxAQHWp4zLgAIm9hEOlLFHyxSE2YYb2wL/p+7Oo= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.5 h1:K0OQAsDywb0ltlFrZm0JHPY3yZp/S9OaoLU33S7vPS8= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.5/go.mod h1:ORITg+fyuMoeiQFiVGoqB3OydVTLkClw/ljbblMq6Cc= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.6 h1:6TACV9Oz/QFABh6zqHCRt6/3TCCTN2yu/Vk/d2QiMCo= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.6/go.mod h1:9Zh7Q083SlzjsH5+Ay1MUsPwDBFdpQWd8C2k3LYiIZ0= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.1 h1:6SZUVRQNvExYlMLbHdlKB48x0fLbc2iVROyaNEwBHbU= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.1/go.mod h1:GqWyYCwLXnlUB1lOAXQyNSPqPLQJvmo8J0DWBzp9mtg= -github.com/aws/aws-sdk-go-v2/service/swf v1.27.6 h1:SNBI1mmvexuy41GeRryQe8r/BWlEtnC7TuDrlIiccDg= -github.com/aws/aws-sdk-go-v2/service/swf v1.27.6/go.mod h1:p48SX8A0BLF1a9owTvsdlpALq2th780a2FJi/DGGK/s= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.1 h1:f9icqeThImJEpO3cQp7CO4taZOil/uph9uaiLqo6ZMw= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.1/go.mod h1:l0COvN1sYnOLJJaXAQistyp96G76KL0+1CtsvLtQJ/8= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.0 h1:NWEjSezAbU7klTwlWJFLhDHgwyUpwUuByd1QExRMULM= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.0/go.mod h1:jHBnwkzXiAFmiNEKEuyBxE+eEqfa1qm7wggL7RTgqHM= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.6 h1:Ouja3w2uigjuZ5wa7aR0CaHZTe+niXSzUvJS/4E1Wa0= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.6/go.mod h1:OVSgcDB+hYKLrNiho0Y19pQiOMnth63hprCxzpblayA= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.7 h1:i3Uuh/LLP1Qh3x0qh8i2OnaU+nZ5u3oMwffIrtH7yjc= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.7/go.mod h1:UyyUbIDdMO1cGXWA37B/KylPyLrq5kNU1m2E+ojF610= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.6 h1:0uM86aXF1xuNNP94lvMua36AS4/urnnV0JIoZs1hgdM= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.6/go.mod h1:VdynE2CDkpp9p96Nsy+eFE5PJferzNnjuB1kMcjl0Uk= -github.com/aws/aws-sdk-go-v2/service/transfer v1.53.5 h1:xyvVof+cdQogIXJDKJdhJ2dVF/svxrjv4zEP1T9fIV0= -github.com/aws/aws-sdk-go-v2/service/transfer v1.53.5/go.mod h1:tjYLu1usUNMh2mMGrahX1ZQd7WSIwqe0O7wGd5Gq4aU= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.2 h1:ERPfTAJIbZxwDJKCPvsZacGqodEx4dj9K2OC4sDnrCk= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.2/go.mod h1:f4UivZUJxaK4N/UIJXQgpirh3yWsNxMzWsrk0sUvZrk= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.12.9 h1:GRU6B7siT+PRSIS9JmOFLugE90//aCQ9jOfk09wxI+g= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.12.9/go.mod h1:X0X0qZ4S3qpAm8NfTdW4lacTf2VusIV3sbwF+CN3d4k= -github.com/aws/aws-sdk-go-v2/service/waf v1.25.6 h1:FgT+D2lZj5PP1enlTMg4i7yHPCDjk7css+GEQbkwHiI= -github.com/aws/aws-sdk-go-v2/service/waf v1.25.6/go.mod h1:CdOaduoCFkcCa1F3V0FfKsRflqwjuuctnt0eyDQlt0Y= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.6 h1:ZAVHrgxHso3D6ZrWYNW8ZYpWei5YRdMNu4teYal/B4c= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.6/go.mod h1:j3VEF66T5h8nu3WjPwPZRiBIwUo7rlDgyklgTTNleAE= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.5 h1:Fqt5dudTu1FxJXxrcLxKmnSPVuOV5qYyONUWXEeEU0g= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.5/go.mod h1:SGymgXOuZBAnbdEO2NAPUHOXU2swMyT0+nHD1VlNxhk= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.6 h1:gRlAqT37MBjotuhc9aES3J9OcyRolDlZE9y4eqlWx7g= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.6/go.mod h1:5/10vqAzXC/biuHdbkYAULETemq0j+7fafDQyqUjKRA= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.6 h1:HCpPsWqmYQieU7SS6E9HXfdAMSud0pteVXieJmcpIRI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.6/go.mod h1:ngUiVRCco++u+soRRVBIvBZxSMMvOVMXA4PJ36JLfSw= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.6 h1:nbmKXZzXPJn41CcD4HsHsGWqvKjLKz9kWu6XxvLmf1s= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.6/go.mod h1:SJhcisfKfAawsdNQoZMBEjg+vyN2lH6rO6fP+T94z5Y= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 h1:50+XsN70RS7dwJ2CkVNXzj7U2L1HKP8nqTd3XWEXBN4= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6/go.mod h1:WqgLmwY7so32kG01zD8CPTJWVWM+TzJoOVHwTg4aPug= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.6 h1:BbGDtTi0T1DYlmjBiCr/le3wzhA37O8QTC5/Ab8+EXk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.6/go.mod h1:hLMJt7Q8ePgViKupeymbqI0la+t9/iYFBjxQCFwuAwI= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.2 h1:Dv+q59QjG5FUBRrZGSnu5nouzwPoivj2Z7KH0U0EneU= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.20.2/go.mod h1:Pnzezn20O/qGSc8S3NVpy879f5w4bWnYW3iGHTUbgBw= +github.com/aws/aws-sdk-go-v2/service/iot v1.61.1 h1:xU86aILQFTU5I35YHw5iOLIbSriLsdmnYBuTst9+5K8= +github.com/aws/aws-sdk-go-v2/service/iot v1.61.1/go.mod h1:2QrSORRSY/NYGcTbUdHIz62SM5RlLCAnBcpcDIjg/Sk= +github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.7 h1:Wzu7Zb+Xxekp9ncI9Lqx24b8avRoLh4ZaVjUWda3Po8= +github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.26.7/go.mod h1:dT/c5XzdfUmqgbuY2rfoqEoaS4hhhV6bzYKCmHIudsg= +github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.7 h1:3+CqncIjYZhQ4dW0MEe3LN48ny4H1OydEIrtN6N/NMM= +github.com/aws/aws-sdk-go-v2/service/iotevents v1.27.7/go.mod h1:A8OzS86qbmve0dL7bqdbqy4PcBKWCWqg8gKRHLO9pEI= +github.com/aws/aws-sdk-go-v2/service/ivs v1.42.2 h1:9QFYCHXxRywbd/jvx9wtU73u7QT0I7Y3qAKLgDDIwKo= +github.com/aws/aws-sdk-go-v2/service/ivs v1.42.2/go.mod h1:BwNgy90oNpZ/VrzHTn6y/z2jdsJ2ZK6D5yvvtE5Ft0o= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.7 h1:HlECOFumfIpk5nRnSdJ6F6ney0vxu9JsLe4zifGlswg= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.7/go.mod h1:C57nohycrCEMovZLg5G75J/DEZka5WSuOJtfaYqIq8s= +github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7 h1:RjCwdphB+wBtT/qQw6e7c6HOZ7ab4WN22Uw8GSmKNb8= +github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7/go.mod h1:6ezJjIOpnDf+Q/BJ2CIITrcdXSvfUS1zwjnEHHPa8oU= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7 h1:OSj7D23vSCmeHSp8IQUuSvc57cUi6FwYQ634FgbMdOY= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7/go.mod h1:oy7uAjiwfudbkCbOW5nIBNhzPEsQbnbcNO18JgdVqZU= +github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7 h1:tOVT7NRS+pv4o1/X8V8Abd/Pa+rVCvwfkdxCfPqofoI= +github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7/go.mod h1:/HuziZyTc3mY3YW5DqgZAnyhFoK38EMCqnASuWrpYoo= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1 h1:6H6WaX339sByRffHdcX7yCG7JeFM4Z/61+uvGLleQNw= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1/go.mod h1:hW+Z1zESPAefZ33sgnMvY1ADVCiPI2e8v1vTQcz/MDY= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7 h1:QTtbqxI+i2gaWjcTwJZtm8/xEl9kiQXXbOatGabNuXA= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7/go.mod h1:5aKZaOb2yfdeAOvfam0/6HoUXg01pN172bn7MqpM35c= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8 h1:0h1EmAZ5VTdoteDEzE9OlTr7OXZGO56eMxOGGceioBE= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8/go.mod h1:c9hLEK1e3z+ruMXThiEyqMrPdpPOxRw4yg3KZ3rHYl4= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8 h1:ryRIc8QkgWcMqmCSBcnYkchdLeDEOtCEjU4tJKCZv9M= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8/go.mod h1:vS4K9dorERPC3u8+nXR32WJfltj6DCrx/B3w1njvJUY= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7 h1:u312E9WSNS3aL0fMkD3R8TCrv6RX4KT1F8I6itnQe/4= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7/go.mod h1:pdoRfafdWneitPJSDJEIUH3npcWNF0a9ReMblcQC+hA= +github.com/aws/aws-sdk-go-v2/service/kms v1.37.7 h1:dZmNIRtPUvtvUIIDVNpvtnJQ8N8Iqm7SQAxf18htZYw= +github.com/aws/aws-sdk-go-v2/service/kms v1.37.7/go.mod h1:vj8PlfJH9mnGeIzd6uMLPi5VgiqzGG7AZoe1kf1uTXM= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4 h1:H4/iEpKAywuFxE/lTe2TygdLrUs6bsdaxBB4Ry76Mjo= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4/go.mod h1:TrZ6XeQ86aBjOsy+ae7RKlYWh3TQ53QQcA6YhtFadYk= +github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1 h1:q1NrvoJiz0rm9ayKOJ9wsMGmStK6rZSY36BDICMrcuY= +github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1/go.mod h1:hDj7He9kbR9T5zugnS+T21l4z6do4SEGuno/BpJLpA0= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7 h1:nMYxTZs0WjVLEyTEqRtD6WR83nMqF65uPHSv43SrFDQ= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7/go.mod h1:6g7hO7AFKCy9KcvxJFPs8m6u/YS42+AXnI5G6v5amyk= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.7 h1:ctsj2+1N2CfpM2WOrnSKMXgHIjoxqm8LbQ2zs/ecZWI= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.7/go.mod h1:jW7hiTAbVhBgyur3096wz15sT2YEZYPyVtO4fRWgZc4= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.7 h1:1iMiIfLc8yYCQJ4HwxLkD9L6vU5hnTcNoBI8yoanyR4= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.49.7/go.mod h1:Tj5DuyiCjIK6WkzvyXYy0PVq24dK+6CKvon670Q9Jag= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.7 h1:qtiX/fhTL1mrZNOM7KXKgaiHCMSmRfclUMtI2ep619U= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.29.7/go.mod h1:aH2CD/bGJKv5nBMc2S3bYIapITSSZ6au6YJERm5cEdo= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.7 h1:pVO3tnwny+c+XIfNkmrReAkNd4Gyy7TVvro1ZTfzY4g= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.42.7/go.mod h1:yveTbfkp9hhabgl3aXbd2/AvWCgJRi0O+mhm3REyvE8= +github.com/aws/aws-sdk-go-v2/service/location v1.42.7 h1:yLpR7rDAh1mSazJyYc2bNzVk8EMuertx4ZCsDzSFeNg= +github.com/aws/aws-sdk-go-v2/service/location v1.42.7/go.mod h1:lSuujyYUNaI4cHRzTha04mEVGSpIW0PM9AiTemTvKDY= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.7 h1:wyvJFktMUDLYX7q8LpfuvDS50sIR2QrcK2OPaoJZL+Q= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.31.7/go.mod h1:xVdP3fbrhDfhVNugkmC2aY95Ea0od8j0cUUxoRJ+UP8= +github.com/aws/aws-sdk-go-v2/service/m2 v1.18.5 h1:X6iVlWx3rVolup+wnlNcyylpUIoBbWWhwmvjM+4sC2o= +github.com/aws/aws-sdk-go-v2/service/m2 v1.18.5/go.mod h1:XXdV0w3yWrEmBvE4iZVAwWEPtQD+UrDIc3j/ETsI5+4= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.7 h1:mlaPITmZnYi8bm20Ql8tTPrSdLZc6LwdH9RYDuAgf3o= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.7/go.mod h1:wya8VTBSC9uglnFujLKT/21M03qc+tnTUHV3fgW6aFM= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7 h1:8fTYn2M9KBwvo/MN4S5V5HJkl76MCC4dCZGKK+9y11E= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7/go.mod h1:NyaKp3HdG4vD6gNfnIwGsl68/4vneSu1cok7yZAOB/U= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1 h1:O0PufOavkptAta6HE7q128zvKV4jcZ5PbyyIRbUsWI8= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1/go.mod h1:4B8R+NlIvQUF77Rpqe2r4xQceaUVXCFYfbJ2ASlocbc= +github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7 h1:BdMoauoIpEII5wAfLUnyTJpaiigoqzRctfTtQpdiYwE= +github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7/go.mod h1:3941uJpLJirB+Xc5CM5rsVMeQuNkp0UMrdswdqvOelQ= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7 h1:NEDXmP4JZxYVPcU+rvIcLUPM6kEhCS2lw09weM1a0WI= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7/go.mod h1:E4wTOblO64Lm0JHaNwxx1klyfyQ3rKje2J0CwQ6Q4XE= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1 h1:F+do5xWXqiQhY4sVpYwzVxrER5h6IKfedgFJVuAfpF0= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1/go.mod h1:+vDyRn8cichafKg5NVt3+HC81nasKOkFpJ0jxuTL6J0= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.7 h1:OK3XNax+Pg6cKlgOSOs3Rp/zGlq29gmQQVOMv6Frh4g= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.7/go.mod h1:4Cz00WLWNC0c79Y1Rks4MH+ezS5zXGerYY9DryVWRNQ= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.25.0 h1:7HzWnEIEXis3QZCiGpI0FwM4CzxKr82dc18cTqE+Ws8= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.25.0/go.mod h1:nv31Ugm3PeTj/1NoUT1wlJpSttTV9kpANgSGMCOdTYg= +github.com/aws/aws-sdk-go-v2/service/mq v1.27.8 h1:xGcrYXOE7mCt14ToL/ZibXsBW0DhReBuollS35Ci7pQ= +github.com/aws/aws-sdk-go-v2/service/mq v1.27.8/go.mod h1:EjYQlgBAl1BVTGEpjQSTTn8q2IaBYmKZAMGorq+J8N8= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.1 h1:Vy9YZcV16Fpo0gFJBTKnEoDiKsREAIwPxvZR51DDlXY= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.33.1/go.mod h1:jMA6WUWuLnmu8HD8/bbhF+UsqZZDD21Sy50KeCYk4Us= +github.com/aws/aws-sdk-go-v2/service/neptune v1.35.6 h1:4XpR4uxdYixFnQecBQ4bj+OVTTIllaVLIdNZT9PVGXU= +github.com/aws/aws-sdk-go-v2/service/neptune v1.35.6/go.mod h1:JeJv7jf5G41lHVNiZ+24s7Frzg8k9xYCGborBe0FdNw= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.1 h1:2jejkFcjwRmm2w7h5em/psgHikBl+uc8F9qoFdyS5F8= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.15.1/go.mod h1:GpKZo1Lgbubeuqk2To4Tr1E5DBHj2mGrl2tuhysti2I= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.4 h1:kkkVxybBMwof8LX4KwP46syMXHwYAQP90nsEPA5cKiU= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.44.4/go.mod h1:b3UwYXVSlxwwRl8frZR9eXRc3rqisD4YyHv+rZ1Xmyc= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.1 h1:xc15Eon+HAbIUBF+58ow0ZxpJ+ZRiQgY0Lu7UmkAe1A= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.32.1/go.mod h1:EWCvUfz0rkfBfd/2s6Jj8DBT/PilQ/ClD/EByti+JKA= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.7 h1:jq2n7Z+SUcKFK8zR4lmELte9rgX59HtBqQUBg2DhTYU= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.7.7/go.mod h1:Sl6QugaUidIUBpGqzz5EHcwx6cT918H/mnQKNHTyAdc= +github.com/aws/aws-sdk-go-v2/service/oam v1.15.7 h1:gy/9lznIWLyAxokvjktoXNHpmLz8f7Fl/jUrdXdWbGk= +github.com/aws/aws-sdk-go-v2/service/oam v1.15.7/go.mod h1:Rh8Jc91inXNMdoRQk/ETf3waaqde2ZgaBFMyUKC10ko= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.45.0 h1:rjJ9MjX7jObSSxrBK1IU7bkHD6iudbhKTZie4eSHoBo= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.45.0/go.mod h1:f2qp9ZzFIyhStNsVqT09BQbw5K13qEYYMTB9WNNWtDs= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.4 h1:+igfh7CHy9+DAnTtTsC1ZIcfkCn/8r+ESK+/+NQj4bk= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.17.4/go.mod h1:pyPPjpS52Akb5g9Y1Sy1eNqWud1ZDDjhe/cLrBfrvyo= +github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.7 h1:JHabLpXH1A2IkaLYccQwC2TBnKLm2b3uSKvAu9N39YE= +github.com/aws/aws-sdk-go-v2/service/opsworks v1.26.7/go.mod h1:ddJLpQoIwK18NaELU6CxxgLnzYdAyzfGEGBwudjbJgo= +github.com/aws/aws-sdk-go-v2/service/organizations v1.36.0 h1:CVHfN8ZVvWzDkAf/Qj+GO53dD5NWVyK16O8pYg/wp3k= +github.com/aws/aws-sdk-go-v2/service/organizations v1.36.0/go.mod h1:SVY+doFrL3KTvVMWzFLKvD7KYQ6GQfwNRPSQS7eA3cA= +github.com/aws/aws-sdk-go-v2/service/osis v1.14.7 h1:K37+ch2PxHJVWg1NRfVebstqZvicwfPPHQuXmwznbqw= +github.com/aws/aws-sdk-go-v2/service/osis v1.14.7/go.mod h1:TRjW1OYREjDpa4Z8pn5Axm6SFPdP2FVcy+jX5eyX3XY= +github.com/aws/aws-sdk-go-v2/service/outposts v1.47.2 h1:OpS3l/leIv8pbK1zaeoZ5WzzTojbLN8zdK8inc37bMM= +github.com/aws/aws-sdk-go-v2/service/outposts v1.47.2/go.mod h1:5X4a801ISjSwj+2Wq5FVicytit172Cdy7Clwia8l3Q0= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.2 h1:FShkGVtnQNoezF2amvLfP47k7t/TcwwnXPihC1dpw5s= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.16.2/go.mod h1:mGR1OiBn//5KaxFrLLMwoMDiMeKD07ifB/YaHpYFsFI= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.7 h1:LOvtIRHTybPxw6Q57GpPxmNaD1dn3I8oK9aYD2ZBRmE= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.9.7/go.mod h1:3BgmxWQ8Z4E2uyTWXp610jzZ4ohM0vk4ECRTiquMusM= +github.com/aws/aws-sdk-go-v2/service/pcs v1.2.8 h1:Ir7mcDtBOJObLKHl/FXB2eRPuWgsDoZNIq8lfVNuJ+Y= +github.com/aws/aws-sdk-go-v2/service/pcs v1.2.8/go.mod h1:LI8eDIEw9SSDuQp2D3UDB6+LZtfs3oraCFoCuf5NHQE= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.7 h1:SZq67/WO334eVG9JqpGZ8uT2ozLV8eX4KWXOXncVmT4= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.34.7/go.mod h1:8vy9a2PeHCuidO1JTs7iII3BB9WHA4VRlpgHP04mR8c= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.2 h1:JijCnewV7KgxgzohNUqCrkH8AU1asAC3Gna0+O9lC6Q= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.18.2/go.mod h1:Aj5x9nXOR2FuuPVcPVlEQnEaliM7Sy08MKxmy40ZQck= +github.com/aws/aws-sdk-go-v2/service/pipes v1.18.5 h1:W0cvpLbDGJIctaEWbClBT6oLNdiUUsEmq4CMm00cLMs= +github.com/aws/aws-sdk-go-v2/service/pipes v1.18.5/go.mod h1:D3p7y45dr9Vgx5sIVD/PxnTwIcbjmlboTHv4GMP7Qsk= +github.com/aws/aws-sdk-go-v2/service/polly v1.45.8 h1:qP67eGQ8myAxyd9+ZA6AZc0nYFmEOBwi7zrC5Aj0DFg= +github.com/aws/aws-sdk-go-v2/service/polly v1.45.8/go.mod h1:Bn1paZpSkDKa1vVJcx5DnDZOFMxMrgR7s74igJuhMTk= +github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7 h1:9UDHX1ZgcXUTAGcyxmw04r/6OVG/aUpQ7dZUziR+vTM= +github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7/go.mod h1:68s1DYctoo30LibzEY6gLajXbQEhxpn49+zYFy+Q5Xs= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.17.0 h1:pAtj3eD8KO5dW1D6Q0q0cVyIJ2GQI+/KqD5BCYQZFVE= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.17.0/go.mod h1:cmW8VmRWKpSEhqy70H3+QCFfHcTguZMZphBIdqcWsIo= +github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 h1:TWJzwB7S/SBBVitz/0HtdB7pqyf1iv9OUCQ6qeYob5Q= +github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7/go.mod h1:8AyevnOHnUsSNTlqH723oxU2hGgIdhVsUjtDS6JIi8w= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1 h1:K0Jp2QnU6w76zFUUHf8ssh7k8wPVVG9JjINXehGm9dY= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1/go.mod h1:GE3TPXNfQ2OETAUjwhnFl3CYWqzF9SPB1sJjeUSOkJA= +github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 h1:c6XYrBzh3J8J5Vaxcj4fbfuzDtKv7Blg/bYmd12PG44= +github.com/aws/aws-sdk-go-v2/service/ram v1.29.7/go.mod h1:Znaic26hqqKZ3mmG+UA8aLdnWrOYmkdHUd5KoT/DzGY= +github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1 h1:4w3T6RGy/jrGrup/o9WwtVXEWbwbL/up/+dPaGR5IfU= +github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1/go.mod h1:R1qdIYNn+b3mrEkq9r7jM7FVpgGDeOkeYVr3Poc+95g= +github.com/aws/aws-sdk-go-v2/service/rds v1.92.0 h1:W0gUYAjO24u/M6tpR041wMHJWGzleOhxtCnNLImdrZs= +github.com/aws/aws-sdk-go-v2/service/rds v1.92.0/go.mod h1:ADD2uROOoEIXjbjDPEvDDZWnGmfKFYMddgKwG5RlBGw= +github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2 h1:mUObSWeMlDwNEZEJAC/72AtnEwfjZqwTCli+up5Yj9A= +github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2/go.mod h1:UydVhUJOB/DaCJWiaBkPlvuzvWVcUlgbS2Bxn33bcKI= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4 h1:A0vlEMhhjNwiDuSeyqCV5E+nKi71xB7JEZ3zmSk9C2o= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4/go.mod h1:D22t6rKMIQkle+JZOeXSyPbhluGCmp64qfBYnJciyNo= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4 h1:41IjzWVSWq0V5Dc/aZKINc4J4WMdf5zjCYi7hM+JI/Y= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4/go.mod h1:HR4+m/4+W7RiaFMme0p6Y5dV7bDKhAIn8UiiZfWJVXg= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8 h1:K21+kYo7APUzqhc6pvCxHWAGxdyaxJqnEfBSySbFlGM= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8/go.mod h1:LIrvj+qa6+K+FfiOFv/DXgmBxDU/LCZebFYulAITgps= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1 h1:NBrNat0V6a0IlxwURP/kixLzvW7sSYy4/PAqe/OwB5Q= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1/go.mod h1:6M1A4+fuybF+twN7Ch53fSEb0jdQAnDl7SjEQOdJQrE= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.2 h1:vqsk41T4OS50+uU4oYh6YWXjX+wMV8j6fbxMD+xkHXg= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.2/go.mod h1:TsghsVk15IIlBkv5onzATu0Efu4xd8Xqh1QsQRCFoQU= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.7 h1:gj5YZ+wn0LpNlqapkn6mEc3Af3w3G79RPh2eT7Os/zc= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.27.7/go.mod h1:XngsyfRxK0KbWSC3WIP+YacPE4HoSm4GDpRWiwtQAfQ= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.7 h1:xQUVjSepDh2F1BUH9Fyxam3YLnYpehb4qzdvdo6sBcY= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.7/go.mod h1:XklDWgTWh+O/pQRDMSmh6AJaTFYswRsQ+o5XjwBP2+c= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.7 h1:M49WXIllz0oLeFxvvEfZvb+FPMfhN9nnDH/Bdiyjf4k= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.16.7/go.mod h1:cb8Aygy/+Ap36c0StMfVnUBCLked9v65w7i/ShJLTLs= +github.com/aws/aws-sdk-go-v2/service/route53 v1.46.3 h1:pDBrvz7CMK381q5U+nPqtSQZZid5z1XH8lsI6kHNcSY= +github.com/aws/aws-sdk-go-v2/service/route53 v1.46.3/go.mod h1:rDMeB13C/RS0/zw68RQD4LLiWChf5tZBKjEQmjtHa/c= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.7 h1:cUSak+oDWuKhl3doMhJkm8adfJcP6wRz9Alh9HxDQJI= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.27.7/go.mod h1:c4Zcr9bz35UJ07RC3cR/zBdpFn7ZjZqy/ow+oN0+NEo= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.7 h1:6SZ8kRmQE278KIJXq4cLdlOgO7nvlxgn6BNZRIIuyFQ= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.7/go.mod h1:RFwYVDBuEI0U+vxTP5m5lGgGe9Wo2kagynHfxTl2fWU= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.7 h1:/NwKq9S1DBMAIYNamv9kBz0fwuqnILphCnilPMO48Yc= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.25.7/go.mod h1:Qalb81pBJbyuXB8Z1JbrOs8ZB8pbLwTTfR/L+ssPP2k= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.7 h1:uozag7wGE9PbM/rESMnnXkBqPpOR/UtSpUSUB5Knl6M= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.7/go.mod h1:aC09Jm/A1wGiFkMs2BDU5IvGL6V26xIgJKQbM1VyXrA= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2 h1:9YaCGPw0s0qmxlyPujSe6LWqmtjfouTIRXrEtiJyHaw= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2/go.mod h1:m0CMmlFRzCrscSzjkH7GOPstcuKhgJCgK2153O2bP1I= +github.com/aws/aws-sdk-go-v2/service/rum v1.21.7 h1:AEl97eESj/H7fjtDH1dNyUCXHH2Dj16o2JYXLePaRH0= +github.com/aws/aws-sdk-go-v2/service/rum v1.21.7/go.mod h1:D54Xit4pURxcusZV7N1/J9U+/1LSTA2wmrAb2zAJhdA= +github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 h1:HrHFR8RoS4l4EvodRMFcJMYQ8o3UhmALn2nbInXaxZA= +github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0/go.mod h1:sT/iQz8JK3u/5gZkT+Hmr7GzVZehUMkRZpOaAwYXeGY= +github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0 h1:1Kpbjv27QmQHXZ2wv7Tuikz3syVONMghb9CvfTEWNoQ= +github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0/go.mod h1:sAOVMYapLSs3nCfdQo63qfVkKHlu97oqHDPrRbqayNg= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 h1:yUuN4xIlI/2bUqniq5OdIw13FIGtUdPhzU4dzl2v6fM= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7/go.mod h1:yCIumXPHLHsjmrD8P9UvXFVT0R9R+Wlqut71bW5+ZY4= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1 h1:Sz0HMK2/8itHAb9ABnMOEHfpOAIxk2a+f6EMsw7jn54= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1/go.mod h1:LoIh7abCP1rQng1kxJVJOTux55TaYN2tVN7G+zNbhus= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7 h1:lRA+BvESWVoldCxaw3SG9UssITkVref8rlVy5xCsh0A= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7/go.mod h1:hCwaxwoPRJmODF1jv6HvbUyT9q7Ak43LesgkvNvZ0PI= +github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 h1:9TVRGRx70yb6sa0QHQiASkQJvi/7yyHjSgacjqtuoGs= +github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8/go.mod h1:e2l9QQlF3fXpXQp/eOaiAY8eVIk/JZX4Ood3FFMSGa8= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.7 h1:Nyfbgei75bohfmZNxgN27i528dGYVzqWJGlAO6lzXy8= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.7/go.mod h1:FG4p/DciRxPgjA+BEOlwRHN0iA8hX2h9g5buSy3cTDA= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.55.0 h1:nMhvHZ3rqAVJEf6nQzhPFJxd1Ta2V5irglgO6LxefZQ= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.55.0/go.mod h1:vcK9C11qfED/CA+tpAVXNzUNdHMIi6YkG2SY4rJeWzQ= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.5 h1:nwqNHhr5lUPJu7+xguOlyHzT8/mWvzq/sAalls7Z2lg= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.19.5/go.mod h1:5ouEhyGzNtLjT3iWieBp4haVCzL3O+L/WACksBRvGmc= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.7 h1:nwt36WJvLlHVvWsMJ6I9kXL9PDdHymiMX1wGbC9XV70= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.24.7/go.mod h1:ebAPCdcVdlTh+1dJqKJZ9nqaaW9fvVmUsDhgd5mu5uU= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.7 h1:5wifyBACWZHZQ2Qgfs4rhJn5+pDDwLADqPKZDjdrhuY= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.32.7/go.mod h1:yKI83wCV2CPuFQC8xrt8pzAiemWUsz7NKFZEOJBO+Og= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.7 h1:uUMAVnxMbdZNkIYjSa0x33AQQ7d/FctnXacslwqHV20= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.30.7/go.mod h1:6lOlu/wGdOPV5TwZ4gPZWDb0y1PtzN+jaUWL++ocCx8= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7 h1:GfXWwM9/iEJVcWQaMu22YzBeGQnY6zjiZD556awNJBA= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7/go.mod h1:YMM+e0OfZQVBpTJs+WNZWP/hdodeWnepXgancR5NFFw= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7 h1:MpCqFu4StEaeuKFfcfHBr+a6I2ZG+GgiNZqKa5gBHI8= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7/go.mod h1:Idae0gtkk4euj6ncytZGgDkkyZKmkFasf1mbZZ0RA6s= +github.com/aws/aws-sdk-go-v2/service/ses v1.29.1 h1:2e4bmSER1FF330Xu8p0nwnV4Ctdb0VzLQPUV15xs3iY= +github.com/aws/aws-sdk-go-v2/service/ses v1.29.1/go.mod h1:axmD03yvc8MIBcQkETvptcdw+wySwdc8MpYzQixku2w= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4 h1:6qEG7Ee2TgPtiCRMyK0VK5ZCh5GXdsyXSpcbE+tPjpA= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4/go.mod h1:dI4OVSVcgeQXlqjRN8zspZVtYxmDis1rZwpopBeu3dc= +github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1 h1:EsBALm4m1lGz5riWufNKWguTFOt7Nze7m0wVIzIq8wU= +github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1/go.mod h1:svXjjW4/t8lsSJa4+AUxYPevCzfw3m+z8sk4XcSsosU= +github.com/aws/aws-sdk-go-v2/service/shield v1.29.7 h1:S4nh0xUMZyNkhm7R5r2ITaa966JUYklMGug5LQHWefk= +github.com/aws/aws-sdk-go-v2/service/shield v1.29.7/go.mod h1:YebUyWBs2+7W+ybtLOJp/cvCqi9pqIwS8J2Zkn70Tls= +github.com/aws/aws-sdk-go-v2/service/signer v1.26.7 h1:lFV4EORSh0nyu8KkVp6Esw9A4nQqJ7kKdJT4IB7ods0= +github.com/aws/aws-sdk-go-v2/service/signer v1.26.7/go.mod h1:SVmnmYEocWBuQQhmyACYG1nDoWaMUpBQsgUkPa9v6WU= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.7 h1:N3o8mXK6/MP24BtD9sb51omEO9J9cgPM3Ughc293dZc= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.7/go.mod h1:AAHZydTB8/V2zn3WNwjLXBK1RAcSEpDNmFfrmjvrJQg= +github.com/aws/aws-sdk-go-v2/service/sqs v1.37.2 h1:mFLfxLZB/TVQwNJAYox4WaxpIu+dFVIcExrmRmRCOhw= +github.com/aws/aws-sdk-go-v2/service/sqs v1.37.2/go.mod h1:GnvfTdlvcpD+or3oslHPOn4Mu6KaCwlCp+0p0oqWnrM= +github.com/aws/aws-sdk-go-v2/service/ssm v1.56.1 h1:cfVjoEwOMOJOI6VoRQua0nI0KjZV9EAnR8bKaMeSppE= +github.com/aws/aws-sdk-go-v2/service/ssm v1.56.1/go.mod h1:fGHwAnTdNrLKhgl+UEeq9uEL4n3Ng4MJucA+7Xi3sC4= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.7 h1:9C399gf+xBWcnc88jYMdJXuDIUD4Cx0GgWgNwLkw7sQ= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.26.7/go.mod h1:s66Ty5zVYIbHuUl9Qv1jKyGPviLi1JCyMUITScR9eTs= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.7 h1:oaL9ihEn6IFAj7B2TMsHl5FWDD7mtzVP4cLuAixRZyA= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.34.7/go.mod h1:V8XcDjqhMDjAKPMbMVHhIdlxq4XmE38TrCnUPqVc7UE= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.1 h1:VVR6LIH9dWS+yjm65SirUAOq/AslPI0pHyKAcYblDBQ= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.1/go.mod h1:T8ZPwRPFsWMZRMdGRI8A//XEB8LO6rmg10HzcdJtPQI= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.7 h1:G/RD7kQlR7Kn+4zkXDX2zNGI35h+vITgfxXR836n3nY= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.18.7/go.mod h1:S74L321WjjyiND/iV5Ogc6FTPVKFlWfdvHu4kg3Wl8U= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.7 h1:rLnYAfXQ3YAccocshIH5mzNNwZBkBo+bP6EhIxak6Hw= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.7/go.mod h1:ZHtuQJ6t9A/+YDuxOLnbryAmITtr8UysSny3qcyvJTc= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.7 h1:X+5QChV4btPAoTpQ/GAcEJ1tCrpO6Y8X4C5CG11WNWI= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.29.7/go.mod h1:LYMBcQuhPc6czFaQpYC9JAcEcMf1DNVie4YHg6iC240= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6 h1:JnhTZR3PiYDNKlXy50/pNeix9aGMo6lLpXwJ1mw8MD4= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.6/go.mod h1:URronUEGfXZN1VpdktPSD1EkAL9mfrV+2F4sjH38qOY= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.7 h1:InM09Qs5JI3JIAFhn+rSUCntQYzxCWjxbhO4ClleGK0= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.34.7/go.mod h1:ilUpGJkGtgY4Wm/A0RMUualrpaLeNqKVK+v6IneCKEU= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.2 h1:s4074ZO1Hk8qv65GqNXqDjmkf4HSQqJukaLuuW0TpDA= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.2/go.mod h1:mVggCnIWoM09jP71Wh+ea7+5gAp53q+49wDFs1SW5z8= +github.com/aws/aws-sdk-go-v2/service/swf v1.27.8 h1:uOj2sgPJAhL/SGgWo+eXS6BwzSvf1b1aU7j3EXjnk88= +github.com/aws/aws-sdk-go-v2/service/swf v1.27.8/go.mod h1:AvLsUcEcGmH2QWmwosGAMkBqRrsI0Jr2x92clBtul9s= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2 h1:k/jiEnfNxjWewwhKbdqkvrOo/AIyQTPgaAxTy/nqYJU= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2/go.mod h1:S/mI+GqL6A6JNbKqu0M9qKop3LOE6X96OzXdJX0rO6w= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1 h1:eJp5OnMaO41jYGwemZSOtmWf2g/TSAYfWEQDfZ6yBP4= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1/go.mod h1:izz7C90kWSbYfURLt+atG6pdCvOP3AFjGEznRf0YgGw= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7 h1:JQUps7DzFbYEAHZb6O9xJCAU1GVN396Vu0Pjj9VoGPc= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7/go.mod h1:oIpMQLOrjkZVCZl0ff5cDgE/zZuFE4PwVb61+2fkELk= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8 h1:chzp64fl/hknlRR9jlstQDB4bYaf848v7KmzUB13omA= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8/go.mod h1:6r72p62vXJL+0VTgk9rVV7i9+C0qTcx+HuL56XT9Pus= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7 h1:KJ5CkGw76hEoR66sJRZFgiRGxtybWGuQgvnJ+Q6qTtA= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7/go.mod h1:BwUrZHaN6ruqmc8+b12wWhJ6fHqLrkZ0Z214feUqWWM= +github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0 h1:IA34IDWH2ooVUIPOidlQL1wZLej8QbcaZsYVgeRiA6w= +github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0/go.mod h1:UV0UI3xdWUkyarrq5gViMKtXx4EWBKQsSpPxc+rdJCA= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3 h1:3HJY3Fym+WfG/BQmrrGq5hS80th6Vlx3VM2ZyaH41Lo= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3/go.mod h1:myoi8VQCWyHnkfxRjkM1H5lFQilgGXbU2ulwAVqxeow= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0 h1:UvZSATW4nNWJFzsBmgVvosdrlLTPgtpaDfra2afaSlk= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0/go.mod h1:LLTXSn+ChGS/Ejt+akSlR0QBJ2VJVibiKQfp/IovK7Q= +github.com/aws/aws-sdk-go-v2/service/waf v1.25.7 h1:QatDy5lb2iXs9GPxuPSRDogX2HesmmUXu0GCDCQ7exQ= +github.com/aws/aws-sdk-go-v2/service/waf v1.25.7/go.mod h1:Jx83wxDXt4tq2UEhy4ODhqgpb6NBkQRs4TSkcHfBPcg= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7 h1:9V+YZqYy+FvDzZF16xXE7IWYlNWJKurMay7HC+ZGm0A= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7/go.mod h1:gB1OOPydtleVh7rcCj8fgoNfi6/4chzyP6aereNH3tA= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.6 h1:cK66ajiEQ2+eVezj6SMetpTohM1TuR94nPXGbGGCHaI= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.6/go.mod h1:HSfXIyNzPY6UIB37eFe76S4f/YyQPbuoovY+JhEy1x8= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7 h1:e4VW/f+S98RAKzHZT9+gPqFhNELSobBcgVZOTl23C/o= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7/go.mod h1:X1zN/DRROy1bpTCMdQqVLd4/hLaM3GbMhVURUW8F8mA= github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2 h1:VN3Qydtdl3UlJRHVxQxSP1d8I5gtvT5zdaCCAfZST7Y= github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2/go.mod h1:Z3RLpIq4q49syd921XdsKeD584kPu89iKTEjluh7908= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.1 h1:c974+tQIdxp/CoNWQfG6JWc90dgZDnup8/k8M0aR4+U= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.1/go.mod h1:ZKS7KNf+/ecd+vfEVnfee4ZKg09jrB6/14Qnf79Y+so= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.0 h1:H5JtZI/cuMrzvzl44q542vCr3w3EHlYl5+0ac9MdAik= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.0/go.mod h1:NgEGK1Ex63erNYNTWMenNczoi8/nguJvIvobKYp1LQ8= -github.com/aws/aws-sdk-go-v2/service/xray v1.30.0 h1:3kGcueLqlC3x5LqVWgckz38Kd5pHqpzhVC95beoZVyI= -github.com/aws/aws-sdk-go-v2/service/xray v1.30.0/go.mod h1:+wep8ElVmvR0bCsQ1SQWMKhAlA3+Ks0+uitEfYQ8zO8= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2 h1:VfPamxDTVfbKWP3UPDt3iJ8msHkHfIvqZNUhLjtGD9Q= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2/go.mod h1:OX0I9k3wOSsRCrdqAUOVEDLHupani0n+UJ80TY0fIWc= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1 h1:PrMt4dBsy0rdfuMcFYlqOQNSgHmF+gCGbV0M/8MbYd8= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1/go.mod h1:pwgFCLPLVoTNXQxG6LZdpXBGMr2wmVZBDci+yfuGZi8= +github.com/aws/aws-sdk-go-v2/service/xray v1.30.1 h1:BqsNRmYVd9CLJtcTwlJftM5oCsmuHcKm8ajJjYscP0Q= +github.com/aws/aws-sdk-go-v2/service/xray v1.30.1/go.mod h1:4XSKiCaqUPZUSQwLQCAzVVCEYJZKMzHF2s36fCTTirk= github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -2602,8 +2602,8 @@ github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4 github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty v1.14.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= -github.com/zclconf/go-cty v1.15.0 h1:tTCRWxsexYUmtt/wVxgDClUe+uQusuI443uL6e+5sXQ= -github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +github.com/zclconf/go-cty v1.15.1 h1:RgQYm4j2EvoBRXOPxhUvxPzRrGDo1eCOhHXuGfrj5S0= +github.com/zclconf/go-cty v1.15.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= @@ -3413,8 +3413,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 h1:LWZqQOEjDyONlF1H6afSWpAL/znlREo2tHfLoe+8LMA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= diff --git a/provider/replacements.json b/provider/replacements.json index 1c889df5546..d09eee1d3e0 100644 --- a/provider/replacements.json +++ b/provider/replacements.json @@ -1642,10 +1642,6 @@ "old": "* `cluster_identifier` - (Optional, Forces new resources) The cluster identifier. If omitted, Terraform will assign a random, unique identifier.", "new": "* `cluster_identifier` - (Optional, Forces new resources) The cluster identifier. If omitted, this provider will assign a random, unique identifier." }, - { - "old": "* `replication_source_identifier` - (Optional) ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent Terraform from showing differences for this argument instead of configuring this value.", - "new": "* `replication_source_identifier` - (Optional) ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value." - }, { "old": "* `storage_encrypted` - (Optional) Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engine_mode` and `true` for `serverless` `engine_mode`. When restoring an unencrypted `snapshot_identifier`, the `kms_key_id` argument must be provided to encrypt the restored cluster. Terraform will only perform drift detection if a configuration value is provided.", "new": "* `storage_encrypted` - (Optional) Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engine_mode` and `true` for `serverless` `engine_mode`. When restoring an unencrypted `snapshot_identifier`, the `kms_key_id` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided." @@ -1661,6 +1657,10 @@ { "old": "~> **NOTE on RDS Clusters and RDS Cluster Role Associations:** Terraform provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iam_roles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten.\n", "new": "~> **NOTE on RDS Clusters and RDS Cluster Role Associations:** Pulumi provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iam_roles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten.\n" + }, + { + "old": "* `replication_source_identifier` - (Optional) ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent Terraform from showing differences for this argument instead of configuring this value.\n", + "new": "* `replication_source_identifier` - (Optional) ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value.\n" } ], "rds_cluster_activity_stream.html.markdown": [ diff --git a/provider/resources.go b/provider/resources.go index 25fd4c7ad18..e8d59de09a8 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -2105,6 +2105,8 @@ compatibility shim in favor of the new "name" field.`) "aws_vpc_ipam_resource_discovery": {Tok: awsResource(ec2Mod, "VpcIpamResourceDiscovery")}, "aws_vpc_ipam_resource_discovery_association": {Tok: awsResource(ec2Mod, "VpcIpamResourceDiscoveryAssociation")}, + "aws_vpc_block_public_access_exclusion": {Tok: awsResource(ec2Mod, "VpcBlockPublicAccessExclusion")}, + "aws_vpc_block_public_access_options": {Tok: awsResource(ec2Mod, "VpcBlockPublicAccessOptions")}, // EC2 Client VPN "aws_ec2_client_vpn_endpoint": {Tok: awsResource(ec2ClientVpnMod, "Endpoint")}, diff --git a/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessExclusionTimeoutsArgs.cs b/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessExclusionTimeoutsArgs.cs new file mode 100644 index 00000000000..d666ca3e9e9 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessExclusionTimeoutsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Inputs +{ + + public sealed class VpcBlockPublicAccessExclusionTimeoutsArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("update")] + public Input? Update { get; set; } + + public VpcBlockPublicAccessExclusionTimeoutsArgs() + { + } + public static new VpcBlockPublicAccessExclusionTimeoutsArgs Empty => new VpcBlockPublicAccessExclusionTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessExclusionTimeoutsGetArgs.cs b/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessExclusionTimeoutsGetArgs.cs new file mode 100644 index 00000000000..3d3b1918e11 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessExclusionTimeoutsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Inputs +{ + + public sealed class VpcBlockPublicAccessExclusionTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("update")] + public Input? Update { get; set; } + + public VpcBlockPublicAccessExclusionTimeoutsGetArgs() + { + } + public static new VpcBlockPublicAccessExclusionTimeoutsGetArgs Empty => new VpcBlockPublicAccessExclusionTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessOptionsTimeoutsArgs.cs b/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessOptionsTimeoutsArgs.cs new file mode 100644 index 00000000000..dc22be70ce9 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessOptionsTimeoutsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Inputs +{ + + public sealed class VpcBlockPublicAccessOptionsTimeoutsArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("update")] + public Input? Update { get; set; } + + public VpcBlockPublicAccessOptionsTimeoutsArgs() + { + } + public static new VpcBlockPublicAccessOptionsTimeoutsArgs Empty => new VpcBlockPublicAccessOptionsTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessOptionsTimeoutsGetArgs.cs b/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessOptionsTimeoutsGetArgs.cs new file mode 100644 index 00000000000..7b4aac9974f --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/VpcBlockPublicAccessOptionsTimeoutsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Inputs +{ + + public sealed class VpcBlockPublicAccessOptionsTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("update")] + public Input? Update { get; set; } + + public VpcBlockPublicAccessOptionsTimeoutsGetArgs() + { + } + public static new VpcBlockPublicAccessOptionsTimeoutsGetArgs Empty => new VpcBlockPublicAccessOptionsTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Outputs/VpcBlockPublicAccessExclusionTimeouts.cs b/sdk/dotnet/Ec2/Outputs/VpcBlockPublicAccessExclusionTimeouts.cs new file mode 100644 index 00000000000..50897032d84 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/VpcBlockPublicAccessExclusionTimeouts.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Outputs +{ + + [OutputType] + public sealed class VpcBlockPublicAccessExclusionTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Create; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + public readonly string? Delete; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Update; + + [OutputConstructor] + private VpcBlockPublicAccessExclusionTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/VpcBlockPublicAccessOptionsTimeouts.cs b/sdk/dotnet/Ec2/Outputs/VpcBlockPublicAccessOptionsTimeouts.cs new file mode 100644 index 00000000000..7bb52ea21aa --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/VpcBlockPublicAccessOptionsTimeouts.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Outputs +{ + + [OutputType] + public sealed class VpcBlockPublicAccessOptionsTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Create; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + public readonly string? Delete; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Update; + + [OutputConstructor] + private VpcBlockPublicAccessOptionsTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/Ec2/VpcBlockPublicAccessExclusion.cs b/sdk/dotnet/Ec2/VpcBlockPublicAccessExclusion.cs new file mode 100644 index 00000000000..2b20219f708 --- /dev/null +++ b/sdk/dotnet/Ec2/VpcBlockPublicAccessExclusion.cs @@ -0,0 +1,271 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2 +{ + /// + /// Resource for managing an AWS EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new Aws.Ec2.Vpc("test", new() + /// { + /// CidrBlock = "10.1.0.0/16", + /// }); + /// + /// var testVpcBlockPublicAccessExclusion = new Aws.Ec2.VpcBlockPublicAccessExclusion("test", new() + /// { + /// VpcId = test.Id, + /// InternetGatewayExclusionMode = "allow-bidirectional", + /// }); + /// + /// }); + /// ``` + /// + /// ### Usage with subnet id + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new Aws.Ec2.Vpc("test", new() + /// { + /// CidrBlock = "10.1.0.0/16", + /// }); + /// + /// var testSubnet = new Aws.Ec2.Subnet("test", new() + /// { + /// CidrBlock = "10.1.1.0/24", + /// VpcId = test.Id, + /// }); + /// + /// var testVpcBlockPublicAccessExclusion = new Aws.Ec2.VpcBlockPublicAccessExclusion("test", new() + /// { + /// SubnetId = testSubnet.Id, + /// InternetGatewayExclusionMode = "allow-egress", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion using the `id`. For example: + /// + /// ```sh + /// $ pulumi import aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion example vpcbpa-exclude-1234abcd + /// ``` + /// + [AwsResourceType("aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion")] + public partial class VpcBlockPublicAccessExclusion : global::Pulumi.CustomResource + { + /// + /// Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + /// + /// The following arguments are optional: + /// + [Output("internetGatewayExclusionMode")] + public Output InternetGatewayExclusionMode { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) the excluded resource. + /// + [Output("resourceArn")] + public Output ResourceArn { get; private set; } = null!; + + /// + /// Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + /// + [Output("subnetId")] + public Output SubnetId { get; private set; } = null!; + + /// + /// A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a VpcBlockPublicAccessExclusion resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VpcBlockPublicAccessExclusion(string name, VpcBlockPublicAccessExclusionArgs args, CustomResourceOptions? options = null) + : base("aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion", name, args ?? new VpcBlockPublicAccessExclusionArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcBlockPublicAccessExclusion(string name, Input id, VpcBlockPublicAccessExclusionState? state = null, CustomResourceOptions? options = null) + : base("aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VpcBlockPublicAccessExclusion resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static VpcBlockPublicAccessExclusion Get(string name, Input id, VpcBlockPublicAccessExclusionState? state = null, CustomResourceOptions? options = null) + { + return new VpcBlockPublicAccessExclusion(name, id, state, options); + } + } + + public sealed class VpcBlockPublicAccessExclusionArgs : global::Pulumi.ResourceArgs + { + /// + /// Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + /// + /// The following arguments are optional: + /// + [Input("internetGatewayExclusionMode", required: true)] + public Input InternetGatewayExclusionMode { get; set; } = null!; + + /// + /// Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + /// + [Input("subnetId")] + public Input? SubnetId { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcBlockPublicAccessExclusionArgs() + { + } + public static new VpcBlockPublicAccessExclusionArgs Empty => new VpcBlockPublicAccessExclusionArgs(); + } + + public sealed class VpcBlockPublicAccessExclusionState : global::Pulumi.ResourceArgs + { + /// + /// Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + /// + /// The following arguments are optional: + /// + [Input("internetGatewayExclusionMode")] + public Input? InternetGatewayExclusionMode { get; set; } + + /// + /// The Amazon Resource Name (ARN) the excluded resource. + /// + [Input("resourceArn")] + public Input? ResourceArn { get; set; } + + /// + /// Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + /// + [Input("subnetId")] + public Input? SubnetId { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcBlockPublicAccessExclusionState() + { + } + public static new VpcBlockPublicAccessExclusionState Empty => new VpcBlockPublicAccessExclusionState(); + } +} diff --git a/sdk/dotnet/Ec2/VpcBlockPublicAccessOptions.cs b/sdk/dotnet/Ec2/VpcBlockPublicAccessOptions.cs new file mode 100644 index 00000000000..2e0efa1b49e --- /dev/null +++ b/sdk/dotnet/Ec2/VpcBlockPublicAccessOptions.cs @@ -0,0 +1,156 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2 +{ + /// + /// Resource for managing an AWS VPC Block Public Access Options. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Ec2.VpcBlockPublicAccessOptions("example", new() + /// { + /// InternetGatewayBlockMode = "block-bidirectional", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import VPC Block Public Access Options using the `aws_region`. For example: + /// + /// ```sh + /// $ pulumi import aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions example us-east-1 + /// ``` + /// + [AwsResourceType("aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions")] + public partial class VpcBlockPublicAccessOptions : global::Pulumi.CustomResource + { + /// + /// The AWS account id to which these options apply. + /// + [Output("awsAccountId")] + public Output AwsAccountId { get; private set; } = null!; + + /// + /// The AWS region to which these options apply. + /// + [Output("awsRegion")] + public Output AwsRegion { get; private set; } = null!; + + /// + /// Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + /// + [Output("internetGatewayBlockMode")] + public Output InternetGatewayBlockMode { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a VpcBlockPublicAccessOptions resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VpcBlockPublicAccessOptions(string name, VpcBlockPublicAccessOptionsArgs args, CustomResourceOptions? options = null) + : base("aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions", name, args ?? new VpcBlockPublicAccessOptionsArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcBlockPublicAccessOptions(string name, Input id, VpcBlockPublicAccessOptionsState? state = null, CustomResourceOptions? options = null) + : base("aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VpcBlockPublicAccessOptions resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static VpcBlockPublicAccessOptions Get(string name, Input id, VpcBlockPublicAccessOptionsState? state = null, CustomResourceOptions? options = null) + { + return new VpcBlockPublicAccessOptions(name, id, state, options); + } + } + + public sealed class VpcBlockPublicAccessOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + /// + [Input("internetGatewayBlockMode", required: true)] + public Input InternetGatewayBlockMode { get; set; } = null!; + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public VpcBlockPublicAccessOptionsArgs() + { + } + public static new VpcBlockPublicAccessOptionsArgs Empty => new VpcBlockPublicAccessOptionsArgs(); + } + + public sealed class VpcBlockPublicAccessOptionsState : global::Pulumi.ResourceArgs + { + /// + /// The AWS account id to which these options apply. + /// + [Input("awsAccountId")] + public Input? AwsAccountId { get; set; } + + /// + /// The AWS region to which these options apply. + /// + [Input("awsRegion")] + public Input? AwsRegion { get; set; } + + /// + /// Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + /// + [Input("internetGatewayBlockMode")] + public Input? InternetGatewayBlockMode { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public VpcBlockPublicAccessOptionsState() + { + } + public static new VpcBlockPublicAccessOptionsState Empty => new VpcBlockPublicAccessOptionsState(); + } +} diff --git a/sdk/dotnet/Ec2/VpcEndpointService.cs b/sdk/dotnet/Ec2/VpcEndpointService.cs index 61501367370..1a071e0b95e 100644 --- a/sdk/dotnet/Ec2/VpcEndpointService.cs +++ b/sdk/dotnet/Ec2/VpcEndpointService.cs @@ -160,6 +160,12 @@ public partial class VpcEndpointService : global::Pulumi.CustomResource [Output("supportedIpAddressTypes")] public Output> SupportedIpAddressTypes { get; private set; } = null!; + /// + /// The set of regions from which service consumers can access the service. + /// + [Output("supportedRegions")] + public Output> SupportedRegions { get; private set; } = null!; + /// /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// @@ -278,6 +284,18 @@ public InputList SupportedIpAddressTypes set => _supportedIpAddressTypes = value; } + [Input("supportedRegions")] + private InputList? _supportedRegions; + + /// + /// The set of regions from which service consumers can access the service. + /// + public InputList SupportedRegions + { + get => _supportedRegions ?? (_supportedRegions = new InputList()); + set => _supportedRegions = value; + } + [Input("tags")] private InputMap? _tags; @@ -424,6 +442,18 @@ public InputList SupportedIpAddressTypes set => _supportedIpAddressTypes = value; } + [Input("supportedRegions")] + private InputList? _supportedRegions; + + /// + /// The set of regions from which service consumers can access the service. + /// + public InputList SupportedRegions + { + get => _supportedRegions ?? (_supportedRegions = new InputList()); + set => _supportedRegions = value; + } + [Input("tags")] private InputMap? _tags; diff --git a/sdk/dotnet/Eks/Cluster.cs b/sdk/dotnet/Eks/Cluster.cs index 8e9ebb1e4e0..5a64d18cee2 100644 --- a/sdk/dotnet/Eks/Cluster.cs +++ b/sdk/dotnet/Eks/Cluster.cs @@ -14,308 +14,331 @@ namespace Pulumi.Aws.Eks /// /// ## Example Usage /// - /// ### Basic Usage + /// ### EKS Cluster /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; + /// using System.Text.Json; /// using Pulumi; /// using Aws = Pulumi.Aws; /// /// return await Deployment.RunAsync(() => /// { + /// var cluster = new Aws.Iam.Role("cluster", new() + /// { + /// Name = "eks-cluster-example", + /// AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["Version"] = "2012-10-17", + /// ["Statement"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["Action"] = new[] + /// { + /// "sts:AssumeRole", + /// "sts:TagSession", + /// }, + /// ["Effect"] = "Allow", + /// ["Principal"] = new Dictionary<string, object?> + /// { + /// ["Service"] = "eks.amazonaws.com", + /// }, + /// }, + /// }, + /// }), + /// }); + /// + /// var clusterAmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment("cluster_AmazonEKSClusterPolicy", new() + /// { + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", + /// Role = cluster.Name, + /// }); + /// /// var example = new Aws.Eks.Cluster("example", new() /// { /// Name = "example", + /// AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs + /// { + /// AuthenticationMode = "API", + /// }, /// RoleArn = exampleAwsIamRole.Arn, + /// Version = "1.31", /// VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs /// { /// SubnetIds = new[] /// { - /// example1.Id, - /// example2.Id, + /// az1.Id, + /// az2.Id, + /// az3.Id, /// }, /// }, /// }, new CustomResourceOptions /// { /// DependsOn = /// { - /// example_AmazonEKSClusterPolicy, - /// example_AmazonEKSVPCResourceController, + /// clusterAmazonEKSClusterPolicy, /// }, /// }); /// - /// return new Dictionary<string, object?> - /// { - /// ["endpoint"] = example.Endpoint, - /// ["kubeconfig-certificate-authority-data"] = example.CertificateAuthority.Apply(certificateAuthority => certificateAuthority.Data), - /// }; /// }); /// ``` /// - /// ### Example IAM Role for EKS Cluster + /// ### EKS Cluster with EKS Auto Mode + /// + /// > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`. /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; + /// using System.Text.Json; /// using Pulumi; /// using Aws = Pulumi.Aws; /// /// return await Deployment.RunAsync(() => /// { - /// var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new() + /// var node = new Aws.Iam.Role("node", new() /// { - /// Statements = new[] + /// Name = "eks-auto-node-example", + /// AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?> /// { - /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// ["Version"] = "2012-10-17", + /// ["Statement"] = new[] /// { - /// Effect = "Allow", - /// Principals = new[] + /// new Dictionary<string, object?> /// { - /// new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs + /// ["Action"] = new[] /// { - /// Type = "Service", - /// Identifiers = new[] - /// { - /// "eks.amazonaws.com", - /// }, + /// "sts:AssumeRole", + /// }, + /// ["Effect"] = "Allow", + /// ["Principal"] = new Dictionary<string, object?> + /// { + /// ["Service"] = "ec2.amazonaws.com", /// }, - /// }, - /// Actions = new[] - /// { - /// "sts:AssumeRole", /// }, /// }, - /// }, + /// }), /// }); /// - /// var example = new Aws.Iam.Role("example", new() + /// var cluster = new Aws.Iam.Role("cluster", new() /// { /// Name = "eks-cluster-example", - /// AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["Version"] = "2012-10-17", + /// ["Statement"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["Action"] = new[] + /// { + /// "sts:AssumeRole", + /// "sts:TagSession", + /// }, + /// ["Effect"] = "Allow", + /// ["Principal"] = new Dictionary<string, object?> + /// { + /// ["Service"] = "eks.amazonaws.com", + /// }, + /// }, + /// }, + /// }), /// }); /// - /// var example_AmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", new() + /// var clusterAmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment("cluster_AmazonEKSClusterPolicy", new() /// { /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", - /// Role = example.Name, + /// Role = cluster.Name, /// }); /// - /// // Optionally, enable Security Groups for Pods - /// // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html - /// var example_AmazonEKSVPCResourceController = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", new() + /// var clusterAmazonEKSComputePolicy = new Aws.Iam.RolePolicyAttachment("cluster_AmazonEKSComputePolicy", new() /// { - /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSVPCResourceController", - /// Role = example.Name, + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSComputePolicy", + /// Role = cluster.Name, /// }); /// - /// }); - /// ``` - /// - /// ### Enabling Control Plane Logging - /// - /// [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `aws.cloudwatch.LogGroup` resource can be used. - /// - /// > The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment. + /// var clusterAmazonEKSBlockStoragePolicy = new Aws.Iam.RolePolicyAttachment("cluster_AmazonEKSBlockStoragePolicy", new() + /// { + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy", + /// Role = cluster.Name, + /// }); /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; + /// var clusterAmazonEKSLoadBalancingPolicy = new Aws.Iam.RolePolicyAttachment("cluster_AmazonEKSLoadBalancingPolicy", new() + /// { + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy", + /// Role = cluster.Name, + /// }); /// - /// return await Deployment.RunAsync(() => - /// { - /// var config = new Config(); - /// var clusterName = config.Get("clusterName") ?? "example"; - /// var exampleLogGroup = new Aws.CloudWatch.LogGroup("example", new() + /// var clusterAmazonEKSNetworkingPolicy = new Aws.Iam.RolePolicyAttachment("cluster_AmazonEKSNetworkingPolicy", new() /// { - /// Name = $"/aws/eks/{clusterName}/cluster", - /// RetentionInDays = 7, + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy", + /// Role = cluster.Name, /// }); /// /// var example = new Aws.Eks.Cluster("example", new() /// { - /// EnabledClusterLogTypes = new[] + /// Name = "example", + /// AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs + /// { + /// AuthenticationMode = "API", + /// }, + /// RoleArn = cluster.Arn, + /// Version = "1.31", + /// ComputeConfig = new Aws.Eks.Inputs.ClusterComputeConfigArgs + /// { + /// Enabled = true, + /// NodePools = new[] + /// { + /// "general-purpose", + /// }, + /// NodeRoleArn = node.Arn, + /// }, + /// KubernetesNetworkConfig = new Aws.Eks.Inputs.ClusterKubernetesNetworkConfigArgs + /// { + /// ElasticLoadBalancing = new Aws.Eks.Inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs + /// { + /// Enabled = true, + /// }, + /// }, + /// StorageConfig = new Aws.Eks.Inputs.ClusterStorageConfigArgs + /// { + /// BlockStorage = new Aws.Eks.Inputs.ClusterStorageConfigBlockStorageArgs + /// { + /// Enabled = true, + /// }, + /// }, + /// VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs /// { - /// "api", - /// "audit", + /// EndpointPrivateAccess = true, + /// EndpointPublicAccess = true, + /// SubnetIds = new[] + /// { + /// az1.Id, + /// az2.Id, + /// az3.Id, + /// }, /// }, - /// Name = clusterName, /// }, new CustomResourceOptions /// { /// DependsOn = /// { - /// exampleLogGroup, + /// clusterAmazonEKSClusterPolicy, + /// clusterAmazonEKSComputePolicy, + /// clusterAmazonEKSBlockStoragePolicy, + /// clusterAmazonEKSLoadBalancingPolicy, + /// clusterAmazonEKSNetworkingPolicy, /// }, /// }); /// + /// var nodeAmazonEKSWorkerNodeMinimalPolicy = new Aws.Iam.RolePolicyAttachment("node_AmazonEKSWorkerNodeMinimalPolicy", new() + /// { + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy", + /// Role = node.Name, + /// }); + /// + /// var nodeAmazonEC2ContainerRegistryPullOnly = new Aws.Iam.RolePolicyAttachment("node_AmazonEC2ContainerRegistryPullOnly", new() + /// { + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly", + /// Role = node.Name, + /// }); + /// /// }); /// ``` /// - /// ### Enabling IAM Roles for Service Accounts + /// ### Local EKS Cluster on AWS Outpost /// - /// For more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). + /// [Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; + /// using System.Text.Json; /// using Pulumi; /// using Aws = Pulumi.Aws; - /// using Std = Pulumi.Std; - /// using Tls = Pulumi.Tls; /// /// return await Deployment.RunAsync(() => /// { - /// var exampleCluster = new Aws.Eks.Cluster("example"); - /// - /// var example = Tls.GetCertificate.Invoke(new() - /// { - /// Url = exampleCluster.Identities[0].Oidcs[0]?.Issuer, - /// }); - /// - /// var exampleOpenIdConnectProvider = new Aws.Iam.OpenIdConnectProvider("example", new() + /// var example = Aws.Outposts.GetOutpost.Invoke(new() /// { - /// ClientIdLists = new[] - /// { - /// "sts.amazonaws.com", - /// }, - /// ThumbprintLists = new[] - /// { - /// example.Apply(getCertificateResult => getCertificateResult.Certificates[0]?.Sha1Fingerprint), - /// }, - /// Url = example.Apply(getCertificateResult => getCertificateResult.Url), + /// Name = "example", /// }); /// - /// var exampleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new() + /// var cluster = new Aws.Iam.Role("cluster", new() /// { - /// Statements = new[] + /// Name = "eks-cluster-example", + /// AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?> /// { - /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// ["Version"] = "2012-10-17", + /// ["Statement"] = new[] /// { - /// Actions = new[] + /// new Dictionary<string, object?> /// { - /// "sts:AssumeRoleWithWebIdentity", - /// }, - /// Effect = "Allow", - /// Conditions = new[] - /// { - /// new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs + /// ["Action"] = new[] /// { - /// Test = "StringEquals", - /// Variable = $"{Std.Replace.Invoke(new() - /// { - /// Text = exampleOpenIdConnectProvider.Url, - /// Search = "https://", - /// Replace = "", - /// }).Result}:sub", - /// Values = new[] - /// { - /// "system:serviceaccount:kube-system:aws-node", - /// }, + /// "sts:AssumeRole", + /// "sts:TagSession", /// }, - /// }, - /// Principals = new[] - /// { - /// new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs + /// ["Effect"] = "Allow", + /// ["Principal"] = new Dictionary<string, object?> /// { - /// Identifiers = new[] + /// ["Service"] = new[] /// { - /// exampleOpenIdConnectProvider.Arn, + /// "eks.amazonaws.com", + /// "ec2.amazonaws.com", /// }, - /// Type = "Federated", /// }, /// }, /// }, - /// }, + /// }), /// }); /// - /// var exampleRole = new Aws.Iam.Role("example", new() + /// var clusterAmazonEKSLocalOutpostClusterPolicy = new Aws.Iam.RolePolicyAttachment("cluster_AmazonEKSLocalOutpostClusterPolicy", new() /// { - /// AssumeRolePolicy = exampleAssumeRolePolicy.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), - /// Name = "example", - /// }); - /// - /// }); - /// ``` - /// - /// ### EKS Cluster on AWS Outpost - /// - /// [Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var example = new Aws.Iam.Role("example", new() - /// { - /// AssumeRolePolicy = exampleAssumeRolePolicy.Json, - /// Name = "example", + /// PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy", + /// Role = cluster.Name, /// }); /// /// var exampleCluster = new Aws.Eks.Cluster("example", new() /// { - /// Name = "example-cluster", - /// RoleArn = example.Arn, + /// Name = "example", + /// AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs + /// { + /// AuthenticationMode = "CONFIG_MAP", + /// }, + /// RoleArn = exampleAwsIamRole.Arn, + /// Version = "1.31", /// VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs /// { /// EndpointPrivateAccess = true, /// EndpointPublicAccess = false, + /// SubnetIds = new[] + /// { + /// az1.Id, + /// az2.Id, + /// az3.Id, + /// }, /// }, /// OutpostConfig = new Aws.Eks.Inputs.ClusterOutpostConfigArgs /// { - /// ControlPlaneInstanceType = "m5d.large", + /// ControlPlaneInstanceType = "m5.large", /// OutpostArns = new[] /// { - /// exampleAwsOutpostsOutpost.Arn, + /// example.Apply(getOutpostResult => getOutpostResult.Arn), /// }, /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ### EKS Cluster with Access Config - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var example = new Aws.Iam.Role("example", new() - /// { - /// AssumeRolePolicy = exampleAssumeRolePolicy.Json, - /// Name = "example", - /// }); - /// - /// var exampleCluster = new Aws.Eks.Cluster("example", new() + /// }, new CustomResourceOptions /// { - /// Name = "example-cluster", - /// RoleArn = example.Arn, - /// VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs - /// { - /// EndpointPrivateAccess = true, - /// EndpointPublicAccess = false, - /// }, - /// AccessConfig = new Aws.Eks.Inputs.ClusterAccessConfigArgs + /// DependsOn = /// { - /// AuthenticationMode = "CONFIG_MAP", - /// BootstrapClusterCreatorAdminPermissions = true, + /// clusterAmazonEKSLocalOutpostClusterPolicy, /// }, /// }); /// /// }); /// ``` /// - /// After adding inline IAM Policies (e.g., `aws.iam.RolePolicy` resource) or attaching IAM Policies (e.g., `aws.iam.Policy` resource and `aws.iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetes_service_account` resource) and recreate any pods. - /// /// ## Import /// /// Using `pulumi import`, import EKS Clusters using the `name`. For example: @@ -360,6 +383,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("clusterId")] public Output ClusterId { get; private set; } = null!; + /// + /// Configuration block with compute configuration for EKS Auto Mode. Detailed below. + /// + [Output("computeConfig")] + public Output ComputeConfig { get; private set; } = null!; + /// /// Unix epoch timestamp in seconds for when the cluster was created. /// @@ -417,6 +446,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("platformVersion")] public Output PlatformVersion { get; private set; } = null!; + /// + /// Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + /// + [Output("remoteNetworkConfig")] + public Output RemoteNetworkConfig { get; private set; } = null!; + /// /// ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. /// @@ -429,6 +464,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("status")] public Output Status { get; private set; } = null!; + /// + /// Configuration block with storage configuration for EKS Auto Mode. Detailed below. + /// + [Output("storageConfig")] + public Output StorageConfig { get; private set; } = null!; + /// /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// @@ -525,6 +566,12 @@ public sealed class ClusterArgs : global::Pulumi.ResourceArgs [Input("bootstrapSelfManagedAddons")] public Input? BootstrapSelfManagedAddons { get; set; } + /// + /// Configuration block with compute configuration for EKS Auto Mode. Detailed below. + /// + [Input("computeConfig")] + public Input? ComputeConfig { get; set; } + [Input("defaultAddonsToRemoves")] private InputList? _defaultAddonsToRemoves; public InputList DefaultAddonsToRemoves @@ -569,12 +616,24 @@ public InputList EnabledClusterLogTypes [Input("outpostConfig")] public Input? OutpostConfig { get; set; } + /// + /// Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + /// + [Input("remoteNetworkConfig")] + public Input? RemoteNetworkConfig { get; set; } + /// /// ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. /// [Input("roleArn", required: true)] public Input RoleArn { get; set; } = null!; + /// + /// Configuration block with storage configuration for EKS Auto Mode. Detailed below. + /// + [Input("storageConfig")] + public Input? StorageConfig { get; set; } + [Input("tags")] private InputMap? _tags; @@ -659,6 +718,12 @@ public InputList CertificateAuthoriti [Input("clusterId")] public Input? ClusterId { get; set; } + /// + /// Configuration block with compute configuration for EKS Auto Mode. Detailed below. + /// + [Input("computeConfig")] + public Input? ComputeConfig { get; set; } + /// /// Unix epoch timestamp in seconds for when the cluster was created. /// @@ -733,6 +798,12 @@ public InputList Identities [Input("platformVersion")] public Input? PlatformVersion { get; set; } + /// + /// Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + /// + [Input("remoteNetworkConfig")] + public Input? RemoteNetworkConfig { get; set; } + /// /// ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. /// @@ -745,6 +816,12 @@ public InputList Identities [Input("status")] public Input? Status { get; set; } + /// + /// Configuration block with storage configuration for EKS Auto Mode. Detailed below. + /// + [Input("storageConfig")] + public Input? StorageConfig { get; set; } + [Input("tags")] private InputMap? _tags; diff --git a/sdk/dotnet/Eks/GetCluster.cs b/sdk/dotnet/Eks/GetCluster.cs index 25f44f9a282..2420a874c5f 100644 --- a/sdk/dotnet/Eks/GetCluster.cs +++ b/sdk/dotnet/Eks/GetCluster.cs @@ -33,7 +33,6 @@ public static class GetCluster /// { /// ["endpoint"] = example.Apply(getClusterResult => getClusterResult.Endpoint), /// ["kubeconfig-certificate-authority-data"] = example.Apply(getClusterResult => getClusterResult.CertificateAuthorities[0]?.Data), - /// ["identity-oidc-issuer"] = example.Apply(getClusterResult => getClusterResult.Identities[0]?.Oidcs[0]?.Issuer), /// }; /// }); /// ``` @@ -63,7 +62,6 @@ public static Task InvokeAsync(GetClusterArgs args, InvokeOpti /// { /// ["endpoint"] = example.Apply(getClusterResult => getClusterResult.Endpoint), /// ["kubeconfig-certificate-authority-data"] = example.Apply(getClusterResult => getClusterResult.CertificateAuthorities[0]?.Data), - /// ["identity-oidc-issuer"] = example.Apply(getClusterResult => getClusterResult.Identities[0]?.Oidcs[0]?.Issuer), /// }; /// }); /// ``` @@ -146,6 +144,10 @@ public sealed class GetClusterResult /// public readonly string ClusterId; /// + /// Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster. + /// + public readonly ImmutableArray ComputeConfigs; + /// /// Unix epoch time stamp in seconds for when the cluster was created. /// public readonly string CreatedAt; @@ -179,6 +181,10 @@ public sealed class GetClusterResult /// public readonly string PlatformVersion; /// + /// Contains remote network configuration for EKS Hybrid Nodes. + /// + public readonly ImmutableArray RemoteNetworkConfigs; + /// /// ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. /// public readonly string RoleArn; @@ -187,11 +193,15 @@ public sealed class GetClusterResult /// public readonly string Status; /// + /// Contains storage configuration for EKS Auto Mode enabled cluster. + /// + public readonly ImmutableArray StorageConfigs; + /// /// Key-value map of resource tags. /// public readonly ImmutableDictionary Tags; /// - /// (Optional) Configuration block for the support policy to use for the cluster. + /// Configuration block for the support policy to use for the cluster. /// public readonly ImmutableArray UpgradePolicies; /// @@ -217,6 +227,8 @@ private GetClusterResult( string clusterId, + ImmutableArray computeConfigs, + string createdAt, ImmutableArray enabledClusterLogTypes, @@ -235,10 +247,14 @@ private GetClusterResult( string platformVersion, + ImmutableArray remoteNetworkConfigs, + string roleArn, string status, + ImmutableArray storageConfigs, + ImmutableDictionary tags, ImmutableArray upgradePolicies, @@ -253,6 +269,7 @@ private GetClusterResult( Arn = arn; CertificateAuthorities = certificateAuthorities; ClusterId = clusterId; + ComputeConfigs = computeConfigs; CreatedAt = createdAt; EnabledClusterLogTypes = enabledClusterLogTypes; Endpoint = endpoint; @@ -262,8 +279,10 @@ private GetClusterResult( Name = name; OutpostConfigs = outpostConfigs; PlatformVersion = platformVersion; + RemoteNetworkConfigs = remoteNetworkConfigs; RoleArn = roleArn; Status = status; + StorageConfigs = storageConfigs; Tags = tags; UpgradePolicies = upgradePolicies; Version = version; diff --git a/sdk/dotnet/Eks/Inputs/ClusterComputeConfigArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterComputeConfigArgs.cs new file mode 100644 index 00000000000..2d9cd25996d --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterComputeConfigArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterComputeConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + [Input("nodePools")] + private InputList? _nodePools; + + /// + /// Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + /// + public InputList NodePools + { + get => _nodePools ?? (_nodePools = new InputList()); + set => _nodePools = value; + } + + /// + /// The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + /// + [Input("nodeRoleArn")] + public Input? NodeRoleArn { get; set; } + + public ClusterComputeConfigArgs() + { + } + public static new ClusterComputeConfigArgs Empty => new ClusterComputeConfigArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterComputeConfigGetArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterComputeConfigGetArgs.cs new file mode 100644 index 00000000000..fdc3762da20 --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterComputeConfigGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterComputeConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + [Input("nodePools")] + private InputList? _nodePools; + + /// + /// Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + /// + public InputList NodePools + { + get => _nodePools ?? (_nodePools = new InputList()); + set => _nodePools = value; + } + + /// + /// The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + /// + [Input("nodeRoleArn")] + public Input? NodeRoleArn { get; set; } + + public ClusterComputeConfigGetArgs() + { + } + public static new ClusterComputeConfigGetArgs Empty => new ClusterComputeConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigArgs.cs index 568b11dd755..4adfba6514c 100644 --- a/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigArgs.cs +++ b/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.Eks.Inputs public sealed class ClusterKubernetesNetworkConfigArgs : global::Pulumi.ResourceArgs { + /// + /// Configuration block with elastic load balancing configuration for the cluster. Detailed below. + /// + [Input("elasticLoadBalancing")] + public Input? ElasticLoadBalancing { get; set; } + /// /// The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. /// @@ -31,7 +37,7 @@ public sealed class ClusterKubernetesNetworkConfigArgs : global::Pulumi.Resource public Input? ServiceIpv4Cidr { get; set; } /// - /// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + /// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. /// [Input("serviceIpv6Cidr")] public Input? ServiceIpv6Cidr { get; set; } diff --git a/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.cs new file mode 100644 index 00000000000..073403aea9d --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterKubernetesNetworkConfigElasticLoadBalancingArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ClusterKubernetesNetworkConfigElasticLoadBalancingArgs() + { + } + public static new ClusterKubernetesNetworkConfigElasticLoadBalancingArgs Empty => new ClusterKubernetesNetworkConfigElasticLoadBalancingArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingGetArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingGetArgs.cs new file mode 100644 index 00000000000..0ae58b2298c --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterKubernetesNetworkConfigElasticLoadBalancingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ClusterKubernetesNetworkConfigElasticLoadBalancingGetArgs() + { + } + public static new ClusterKubernetesNetworkConfigElasticLoadBalancingGetArgs Empty => new ClusterKubernetesNetworkConfigElasticLoadBalancingGetArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigGetArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigGetArgs.cs index 93b0b4f75c9..2c4df0b2cf8 100644 --- a/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigGetArgs.cs +++ b/sdk/dotnet/Eks/Inputs/ClusterKubernetesNetworkConfigGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.Eks.Inputs public sealed class ClusterKubernetesNetworkConfigGetArgs : global::Pulumi.ResourceArgs { + /// + /// Configuration block with elastic load balancing configuration for the cluster. Detailed below. + /// + [Input("elasticLoadBalancing")] + public Input? ElasticLoadBalancing { get; set; } + /// /// The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. /// @@ -31,7 +37,7 @@ public sealed class ClusterKubernetesNetworkConfigGetArgs : global::Pulumi.Resou public Input? ServiceIpv4Cidr { get; set; } /// - /// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + /// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. /// [Input("serviceIpv6Cidr")] public Input? ServiceIpv6Cidr { get; set; } diff --git a/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigArgs.cs new file mode 100644 index 00000000000..c803e558712 --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterRemoteNetworkConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + /// + [Input("remoteNodeNetworks", required: true)] + public Input RemoteNodeNetworks { get; set; } = null!; + + /// + /// Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + /// + [Input("remotePodNetworks")] + public Input? RemotePodNetworks { get; set; } + + public ClusterRemoteNetworkConfigArgs() + { + } + public static new ClusterRemoteNetworkConfigArgs Empty => new ClusterRemoteNetworkConfigArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigGetArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigGetArgs.cs new file mode 100644 index 00000000000..164bf8c611d --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterRemoteNetworkConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + /// + [Input("remoteNodeNetworks", required: true)] + public Input RemoteNodeNetworks { get; set; } = null!; + + /// + /// Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + /// + [Input("remotePodNetworks")] + public Input? RemotePodNetworks { get; set; } + + public ClusterRemoteNetworkConfigGetArgs() + { + } + public static new ClusterRemoteNetworkConfigGetArgs Empty => new ClusterRemoteNetworkConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksArgs.cs new file mode 100644 index 00000000000..343004e3983 --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterRemoteNetworkConfigRemoteNodeNetworksArgs : global::Pulumi.ResourceArgs + { + [Input("cidrs")] + private InputList? _cidrs; + + /// + /// List of network CIDRs that can contain hybrid nodes. + /// + public InputList Cidrs + { + get => _cidrs ?? (_cidrs = new InputList()); + set => _cidrs = value; + } + + public ClusterRemoteNetworkConfigRemoteNodeNetworksArgs() + { + } + public static new ClusterRemoteNetworkConfigRemoteNodeNetworksArgs Empty => new ClusterRemoteNetworkConfigRemoteNodeNetworksArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksGetArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksGetArgs.cs new file mode 100644 index 00000000000..0e7a68c3ccf --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterRemoteNetworkConfigRemoteNodeNetworksGetArgs : global::Pulumi.ResourceArgs + { + [Input("cidrs")] + private InputList? _cidrs; + + /// + /// List of network CIDRs that can contain hybrid nodes. + /// + public InputList Cidrs + { + get => _cidrs ?? (_cidrs = new InputList()); + set => _cidrs = value; + } + + public ClusterRemoteNetworkConfigRemoteNodeNetworksGetArgs() + { + } + public static new ClusterRemoteNetworkConfigRemoteNodeNetworksGetArgs Empty => new ClusterRemoteNetworkConfigRemoteNodeNetworksGetArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemotePodNetworksArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemotePodNetworksArgs.cs new file mode 100644 index 00000000000..e18e99fa24b --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemotePodNetworksArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterRemoteNetworkConfigRemotePodNetworksArgs : global::Pulumi.ResourceArgs + { + [Input("cidrs")] + private InputList? _cidrs; + + /// + /// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + /// + public InputList Cidrs + { + get => _cidrs ?? (_cidrs = new InputList()); + set => _cidrs = value; + } + + public ClusterRemoteNetworkConfigRemotePodNetworksArgs() + { + } + public static new ClusterRemoteNetworkConfigRemotePodNetworksArgs Empty => new ClusterRemoteNetworkConfigRemotePodNetworksArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemotePodNetworksGetArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemotePodNetworksGetArgs.cs new file mode 100644 index 00000000000..177ac7bec6b --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterRemoteNetworkConfigRemotePodNetworksGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterRemoteNetworkConfigRemotePodNetworksGetArgs : global::Pulumi.ResourceArgs + { + [Input("cidrs")] + private InputList? _cidrs; + + /// + /// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + /// + public InputList Cidrs + { + get => _cidrs ?? (_cidrs = new InputList()); + set => _cidrs = value; + } + + public ClusterRemoteNetworkConfigRemotePodNetworksGetArgs() + { + } + public static new ClusterRemoteNetworkConfigRemotePodNetworksGetArgs Empty => new ClusterRemoteNetworkConfigRemotePodNetworksGetArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterStorageConfigArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterStorageConfigArgs.cs new file mode 100644 index 00000000000..61090ee6aa4 --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterStorageConfigArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterStorageConfigArgs : global::Pulumi.ResourceArgs + { + [Input("blockStorage")] + public Input? BlockStorage { get; set; } + + public ClusterStorageConfigArgs() + { + } + public static new ClusterStorageConfigArgs Empty => new ClusterStorageConfigArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterStorageConfigBlockStorageArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterStorageConfigBlockStorageArgs.cs new file mode 100644 index 00000000000..03c52d06890 --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterStorageConfigBlockStorageArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterStorageConfigBlockStorageArgs : global::Pulumi.ResourceArgs + { + [Input("enabled")] + public Input? Enabled { get; set; } + + public ClusterStorageConfigBlockStorageArgs() + { + } + public static new ClusterStorageConfigBlockStorageArgs Empty => new ClusterStorageConfigBlockStorageArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterStorageConfigBlockStorageGetArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterStorageConfigBlockStorageGetArgs.cs new file mode 100644 index 00000000000..2d9b0ebb597 --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterStorageConfigBlockStorageGetArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterStorageConfigBlockStorageGetArgs : global::Pulumi.ResourceArgs + { + [Input("enabled")] + public Input? Enabled { get; set; } + + public ClusterStorageConfigBlockStorageGetArgs() + { + } + public static new ClusterStorageConfigBlockStorageGetArgs Empty => new ClusterStorageConfigBlockStorageGetArgs(); + } +} diff --git a/sdk/dotnet/Eks/Inputs/ClusterStorageConfigGetArgs.cs b/sdk/dotnet/Eks/Inputs/ClusterStorageConfigGetArgs.cs new file mode 100644 index 00000000000..25fe3208928 --- /dev/null +++ b/sdk/dotnet/Eks/Inputs/ClusterStorageConfigGetArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Inputs +{ + + public sealed class ClusterStorageConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("blockStorage")] + public Input? BlockStorage { get; set; } + + public ClusterStorageConfigGetArgs() + { + } + public static new ClusterStorageConfigGetArgs Empty => new ClusterStorageConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Eks/Outputs/ClusterComputeConfig.cs b/sdk/dotnet/Eks/Outputs/ClusterComputeConfig.cs new file mode 100644 index 00000000000..e23ca133bf1 --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/ClusterComputeConfig.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class ClusterComputeConfig + { + /// + /// Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + /// + public readonly bool? Enabled; + /// + /// Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + /// + public readonly ImmutableArray NodePools; + /// + /// The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + /// + public readonly string? NodeRoleArn; + + [OutputConstructor] + private ClusterComputeConfig( + bool? enabled, + + ImmutableArray nodePools, + + string? nodeRoleArn) + { + Enabled = enabled; + NodePools = nodePools; + NodeRoleArn = nodeRoleArn; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/ClusterKubernetesNetworkConfig.cs b/sdk/dotnet/Eks/Outputs/ClusterKubernetesNetworkConfig.cs index d1d042566bf..deb86587fdd 100644 --- a/sdk/dotnet/Eks/Outputs/ClusterKubernetesNetworkConfig.cs +++ b/sdk/dotnet/Eks/Outputs/ClusterKubernetesNetworkConfig.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.Eks.Outputs [OutputType] public sealed class ClusterKubernetesNetworkConfig { + /// + /// Configuration block with elastic load balancing configuration for the cluster. Detailed below. + /// + public readonly Outputs.ClusterKubernetesNetworkConfigElasticLoadBalancing? ElasticLoadBalancing; /// /// The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. /// @@ -28,18 +32,21 @@ public sealed class ClusterKubernetesNetworkConfig /// public readonly string? ServiceIpv4Cidr; /// - /// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + /// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. /// public readonly string? ServiceIpv6Cidr; [OutputConstructor] private ClusterKubernetesNetworkConfig( + Outputs.ClusterKubernetesNetworkConfigElasticLoadBalancing? elasticLoadBalancing, + string? ipFamily, string? serviceIpv4Cidr, string? serviceIpv6Cidr) { + ElasticLoadBalancing = elasticLoadBalancing; IpFamily = ipFamily; ServiceIpv4Cidr = serviceIpv4Cidr; ServiceIpv6Cidr = serviceIpv6Cidr; diff --git a/sdk/dotnet/Eks/Outputs/ClusterKubernetesNetworkConfigElasticLoadBalancing.cs b/sdk/dotnet/Eks/Outputs/ClusterKubernetesNetworkConfigElasticLoadBalancing.cs new file mode 100644 index 00000000000..3c9ed658ded --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/ClusterKubernetesNetworkConfigElasticLoadBalancing.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class ClusterKubernetesNetworkConfigElasticLoadBalancing + { + /// + /// Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private ClusterKubernetesNetworkConfigElasticLoadBalancing(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfig.cs b/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfig.cs new file mode 100644 index 00000000000..9b1a3d4703e --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class ClusterRemoteNetworkConfig + { + /// + /// Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + /// + public readonly Outputs.ClusterRemoteNetworkConfigRemoteNodeNetworks RemoteNodeNetworks; + /// + /// Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + /// + public readonly Outputs.ClusterRemoteNetworkConfigRemotePodNetworks? RemotePodNetworks; + + [OutputConstructor] + private ClusterRemoteNetworkConfig( + Outputs.ClusterRemoteNetworkConfigRemoteNodeNetworks remoteNodeNetworks, + + Outputs.ClusterRemoteNetworkConfigRemotePodNetworks? remotePodNetworks) + { + RemoteNodeNetworks = remoteNodeNetworks; + RemotePodNetworks = remotePodNetworks; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfigRemoteNodeNetworks.cs b/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfigRemoteNodeNetworks.cs new file mode 100644 index 00000000000..5e21ae30f2e --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfigRemoteNodeNetworks.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class ClusterRemoteNetworkConfigRemoteNodeNetworks + { + /// + /// List of network CIDRs that can contain hybrid nodes. + /// + public readonly ImmutableArray Cidrs; + + [OutputConstructor] + private ClusterRemoteNetworkConfigRemoteNodeNetworks(ImmutableArray cidrs) + { + Cidrs = cidrs; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfigRemotePodNetworks.cs b/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfigRemotePodNetworks.cs new file mode 100644 index 00000000000..f7fc205545c --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/ClusterRemoteNetworkConfigRemotePodNetworks.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class ClusterRemoteNetworkConfigRemotePodNetworks + { + /// + /// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + /// + public readonly ImmutableArray Cidrs; + + [OutputConstructor] + private ClusterRemoteNetworkConfigRemotePodNetworks(ImmutableArray cidrs) + { + Cidrs = cidrs; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/ClusterStorageConfig.cs b/sdk/dotnet/Eks/Outputs/ClusterStorageConfig.cs new file mode 100644 index 00000000000..c8c11a6c902 --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/ClusterStorageConfig.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class ClusterStorageConfig + { + public readonly Outputs.ClusterStorageConfigBlockStorage? BlockStorage; + + [OutputConstructor] + private ClusterStorageConfig(Outputs.ClusterStorageConfigBlockStorage? blockStorage) + { + BlockStorage = blockStorage; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/ClusterStorageConfigBlockStorage.cs b/sdk/dotnet/Eks/Outputs/ClusterStorageConfigBlockStorage.cs new file mode 100644 index 00000000000..78b71f194e3 --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/ClusterStorageConfigBlockStorage.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class ClusterStorageConfigBlockStorage + { + public readonly bool? Enabled; + + [OutputConstructor] + private ClusterStorageConfigBlockStorage(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/GetClusterComputeConfigResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterComputeConfigResult.cs new file mode 100644 index 00000000000..91d96ee1339 --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/GetClusterComputeConfigResult.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class GetClusterComputeConfigResult + { + /// + /// Whether zonal shift is enabled. + /// + public readonly bool Enabled; + /// + /// List of node pools for the EKS Auto Mode compute capability. + /// + public readonly ImmutableArray NodePools; + /// + /// The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. + /// + public readonly string NodeRoleArn; + + [OutputConstructor] + private GetClusterComputeConfigResult( + bool enabled, + + ImmutableArray nodePools, + + string nodeRoleArn) + { + Enabled = enabled; + NodePools = nodePools; + NodeRoleArn = nodeRoleArn; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/GetClusterKubernetesNetworkConfigElasticLoadBalancingResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterKubernetesNetworkConfigElasticLoadBalancingResult.cs new file mode 100644 index 00000000000..ca3e316bb31 --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/GetClusterKubernetesNetworkConfigElasticLoadBalancingResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class GetClusterKubernetesNetworkConfigElasticLoadBalancingResult + { + /// + /// Whether zonal shift is enabled. + /// + public readonly bool Enabled; + + [OutputConstructor] + private GetClusterKubernetesNetworkConfigElasticLoadBalancingResult(bool enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/GetClusterKubernetesNetworkConfigResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterKubernetesNetworkConfigResult.cs index c96e39b727b..f4c383b2910 100644 --- a/sdk/dotnet/Eks/Outputs/GetClusterKubernetesNetworkConfigResult.cs +++ b/sdk/dotnet/Eks/Outputs/GetClusterKubernetesNetworkConfigResult.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.Eks.Outputs [OutputType] public sealed class GetClusterKubernetesNetworkConfigResult { + /// + /// Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. + /// + public readonly ImmutableArray ElasticLoadBalancings; /// /// `ipv4` or `ipv6`. /// @@ -28,12 +32,15 @@ public sealed class GetClusterKubernetesNetworkConfigResult [OutputConstructor] private GetClusterKubernetesNetworkConfigResult( + ImmutableArray elasticLoadBalancings, + string ipFamily, string serviceIpv4Cidr, string serviceIpv6Cidr) { + ElasticLoadBalancings = elasticLoadBalancings; IpFamily = ipFamily; ServiceIpv4Cidr = serviceIpv4Cidr; ServiceIpv6Cidr = serviceIpv6Cidr; diff --git a/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigRemoteNodeNetworkResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigRemoteNodeNetworkResult.cs new file mode 100644 index 00000000000..19ff454f587 --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigRemoteNodeNetworkResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class GetClusterRemoteNetworkConfigRemoteNodeNetworkResult + { + /// + /// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + /// + public readonly ImmutableArray Cidrs; + + [OutputConstructor] + private GetClusterRemoteNetworkConfigRemoteNodeNetworkResult(ImmutableArray cidrs) + { + Cidrs = cidrs; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigRemotePodNetworkResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigRemotePodNetworkResult.cs new file mode 100644 index 00000000000..18a4b7c8225 --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigRemotePodNetworkResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class GetClusterRemoteNetworkConfigRemotePodNetworkResult + { + /// + /// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + /// + public readonly ImmutableArray Cidrs; + + [OutputConstructor] + private GetClusterRemoteNetworkConfigRemotePodNetworkResult(ImmutableArray cidrs) + { + Cidrs = cidrs; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigResult.cs new file mode 100644 index 00000000000..4b0f48632af --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/GetClusterRemoteNetworkConfigResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class GetClusterRemoteNetworkConfigResult + { + /// + /// The networks that can contain hybrid nodes. + /// + public readonly ImmutableArray RemoteNodeNetworks; + /// + /// The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. + /// + public readonly ImmutableArray RemotePodNetworks; + + [OutputConstructor] + private GetClusterRemoteNetworkConfigResult( + ImmutableArray remoteNodeNetworks, + + ImmutableArray remotePodNetworks) + { + RemoteNodeNetworks = remoteNodeNetworks; + RemotePodNetworks = remotePodNetworks; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/GetClusterStorageConfigBlockStorageResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterStorageConfigBlockStorageResult.cs new file mode 100644 index 00000000000..63bb34d9c88 --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/GetClusterStorageConfigBlockStorageResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class GetClusterStorageConfigBlockStorageResult + { + /// + /// Whether zonal shift is enabled. + /// + public readonly bool Enabled; + + [OutputConstructor] + private GetClusterStorageConfigBlockStorageResult(bool enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/GetClusterStorageConfigResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterStorageConfigResult.cs new file mode 100644 index 00000000000..044c6698b7d --- /dev/null +++ b/sdk/dotnet/Eks/Outputs/GetClusterStorageConfigResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Eks.Outputs +{ + + [OutputType] + public sealed class GetClusterStorageConfigResult + { + /// + /// Contains block storage configuration for EKS Auto Mode enabled cluster. + /// + public readonly ImmutableArray BlockStorages; + + [OutputConstructor] + private GetClusterStorageConfigResult(ImmutableArray blockStorages) + { + BlockStorages = blockStorages; + } + } +} diff --git a/sdk/dotnet/Eks/Outputs/GetClusterUpgradePolicyResult.cs b/sdk/dotnet/Eks/Outputs/GetClusterUpgradePolicyResult.cs index 5e8ca1bea1d..189de0ca55b 100644 --- a/sdk/dotnet/Eks/Outputs/GetClusterUpgradePolicyResult.cs +++ b/sdk/dotnet/Eks/Outputs/GetClusterUpgradePolicyResult.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Eks.Outputs public sealed class GetClusterUpgradePolicyResult { /// - /// (Optional) Support type to use for the cluster. + /// Support type to use for the cluster. /// public readonly string SupportType; diff --git a/sdk/dotnet/Lambda/EventSourceMapping.cs b/sdk/dotnet/Lambda/EventSourceMapping.cs index c8c23feac0c..0bff2584613 100644 --- a/sdk/dotnet/Lambda/EventSourceMapping.cs +++ b/sdk/dotnet/Lambda/EventSourceMapping.cs @@ -85,54 +85,6 @@ namespace Pulumi.Aws.Lambda /// }); /// ``` /// - /// ### Self Managed Apache Kafka - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var example = new Aws.Lambda.EventSourceMapping("example", new() - /// { - /// FunctionName = exampleAwsLambdaFunction.Arn, - /// Topics = new[] - /// { - /// "Example", - /// }, - /// StartingPosition = "TRIM_HORIZON", - /// SelfManagedEventSource = new Aws.Lambda.Inputs.EventSourceMappingSelfManagedEventSourceArgs - /// { - /// Endpoints = - /// { - /// { "KAFKA_BOOTSTRAP_SERVERS", "kafka1.example.com:9092,kafka2.example.com:9092" }, - /// }, - /// }, - /// SourceAccessConfigurations = new[] - /// { - /// new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs - /// { - /// Type = "VPC_SUBNET", - /// Uri = "subnet:subnet-example1", - /// }, - /// new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs - /// { - /// Type = "VPC_SUBNET", - /// Uri = "subnet:subnet-example2", - /// }, - /// new Aws.Lambda.Inputs.EventSourceMappingSourceAccessConfigurationArgs - /// { - /// Type = "VPC_SECURITY_GROUP", - /// Uri = "security_group:sg-example", - /// }, - /// }, - /// }); - /// - /// }); - /// ``` - /// /// ### SQS /// /// ```csharp @@ -388,12 +340,24 @@ public partial class EventSourceMapping : global::Pulumi.CustomResource [Output("maximumRetryAttempts")] public Output MaximumRetryAttempts { get; private set; } = null!; + /// + /// - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + /// + [Output("metricsConfig")] + public Output MetricsConfig { get; private set; } = null!; + /// /// - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. /// [Output("parallelizationFactor")] public Output ParallelizationFactor { get; private set; } = null!; + /// + /// - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + /// + [Output("provisionedPollerConfig")] + public Output ProvisionedPollerConfig { get; private set; } = null!; + /// /// The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. /// @@ -614,12 +578,24 @@ public InputList FunctionResponseTypes [Input("maximumRetryAttempts")] public Input? MaximumRetryAttempts { get; set; } + /// + /// - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + /// + [Input("metricsConfig")] + public Input? MetricsConfig { get; set; } + /// /// - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. /// [Input("parallelizationFactor")] public Input? ParallelizationFactor { get; set; } + /// + /// - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + /// + [Input("provisionedPollerConfig")] + public Input? ProvisionedPollerConfig { get; set; } + /// /// The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. /// @@ -820,12 +796,24 @@ public InputList FunctionResponseTypes [Input("maximumRetryAttempts")] public Input? MaximumRetryAttempts { get; set; } + /// + /// - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + /// + [Input("metricsConfig")] + public Input? MetricsConfig { get; set; } + /// /// - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. /// [Input("parallelizationFactor")] public Input? ParallelizationFactor { get; set; } + /// + /// - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + /// + [Input("provisionedPollerConfig")] + public Input? ProvisionedPollerConfig { get; set; } + /// /// The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. /// diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs new file mode 100644 index 00000000000..215eda3e2f9 --- /dev/null +++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Lambda.Inputs +{ + + public sealed class EventSourceMappingMetricsConfigArgs : global::Pulumi.ResourceArgs + { + [Input("metrics", required: true)] + private InputList? _metrics; + + /// + /// A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + /// + public InputList Metrics + { + get => _metrics ?? (_metrics = new InputList()); + set => _metrics = value; + } + + public EventSourceMappingMetricsConfigArgs() + { + } + public static new EventSourceMappingMetricsConfigArgs Empty => new EventSourceMappingMetricsConfigArgs(); + } +} diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigGetArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigGetArgs.cs new file mode 100644 index 00000000000..f2c315efb6a --- /dev/null +++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Lambda.Inputs +{ + + public sealed class EventSourceMappingMetricsConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("metrics", required: true)] + private InputList? _metrics; + + /// + /// A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + /// + public InputList Metrics + { + get => _metrics ?? (_metrics = new InputList()); + set => _metrics = value; + } + + public EventSourceMappingMetricsConfigGetArgs() + { + } + public static new EventSourceMappingMetricsConfigGetArgs Empty => new EventSourceMappingMetricsConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs new file mode 100644 index 00000000000..a4219bfb617 --- /dev/null +++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Lambda.Inputs +{ + + public sealed class EventSourceMappingProvisionedPollerConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + /// + [Input("maximumPollers")] + public Input? MaximumPollers { get; set; } + + /// + /// The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + /// + [Input("minimumPollers")] + public Input? MinimumPollers { get; set; } + + public EventSourceMappingProvisionedPollerConfigArgs() + { + } + public static new EventSourceMappingProvisionedPollerConfigArgs Empty => new EventSourceMappingProvisionedPollerConfigArgs(); + } +} diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigGetArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigGetArgs.cs new file mode 100644 index 00000000000..62ea65a9301 --- /dev/null +++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Lambda.Inputs +{ + + public sealed class EventSourceMappingProvisionedPollerConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + /// + [Input("maximumPollers")] + public Input? MaximumPollers { get; set; } + + /// + /// The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + /// + [Input("minimumPollers")] + public Input? MinimumPollers { get; set; } + + public EventSourceMappingProvisionedPollerConfigGetArgs() + { + } + public static new EventSourceMappingProvisionedPollerConfigGetArgs Empty => new EventSourceMappingProvisionedPollerConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs b/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs new file mode 100644 index 00000000000..0484aa3c2bc --- /dev/null +++ b/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Lambda.Outputs +{ + + [OutputType] + public sealed class EventSourceMappingMetricsConfig + { + /// + /// A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + /// + public readonly ImmutableArray Metrics; + + [OutputConstructor] + private EventSourceMappingMetricsConfig(ImmutableArray metrics) + { + Metrics = metrics; + } + } +} diff --git a/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs b/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs new file mode 100644 index 00000000000..4b1365a52c0 --- /dev/null +++ b/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Lambda.Outputs +{ + + [OutputType] + public sealed class EventSourceMappingProvisionedPollerConfig + { + /// + /// The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + /// + public readonly int? MaximumPollers; + /// + /// The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + /// + public readonly int? MinimumPollers; + + [OutputConstructor] + private EventSourceMappingProvisionedPollerConfig( + int? maximumPollers, + + int? minimumPollers) + { + MaximumPollers = maximumPollers; + MinimumPollers = minimumPollers; + } + } +} diff --git a/sdk/dotnet/Rds/Cluster.cs b/sdk/dotnet/Rds/Cluster.cs index 3e81d98ebf6..e8e50b1be7e 100644 --- a/sdk/dotnet/Rds/Cluster.cs +++ b/sdk/dotnet/Rds/Cluster.cs @@ -630,7 +630,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output ReaderEndpoint { get; private set; } = null!; /// - /// ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + /// ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. /// [Output("replicationSourceIdentifier")] public Output ReplicationSourceIdentifier { get; private set; } = null!; @@ -1071,7 +1071,7 @@ public Input? MasterPassword public Input? PreferredMaintenanceWindow { get; set; } /// - /// ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + /// ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. /// [Input("replicationSourceIdentifier")] public Input? ReplicationSourceIdentifier { get; set; } @@ -1531,7 +1531,7 @@ public InputList MasterUserSecrets public Input? ReaderEndpoint { get; set; } /// - /// ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + /// ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. /// [Input("replicationSourceIdentifier")] public Input? ReplicationSourceIdentifier { get; set; } diff --git a/sdk/go/aws/ec2/init.go b/sdk/go/aws/ec2/init.go index abc9ed783c9..b490bdb446c 100644 --- a/sdk/go/aws/ec2/init.go +++ b/sdk/go/aws/ec2/init.go @@ -155,6 +155,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &VolumeAttachment{} case "aws:ec2/vpc:Vpc": r = &Vpc{} + case "aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion": + r = &VpcBlockPublicAccessExclusion{} + case "aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions": + r = &VpcBlockPublicAccessOptions{} case "aws:ec2/vpcDhcpOptions:VpcDhcpOptions": r = &VpcDhcpOptions{} case "aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation": @@ -561,6 +565,16 @@ func init() { "ec2/vpc", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "ec2/vpcBlockPublicAccessExclusion", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "ec2/vpcBlockPublicAccessOptions", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "ec2/vpcDhcpOptions", diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index c11424ec0e0..0f7d636e339 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -31779,6 +31779,356 @@ func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) ToPort() pulumi.IntPtrO }).(pulumi.IntPtrOutput) } +type VpcBlockPublicAccessExclusionTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` +} + +// VpcBlockPublicAccessExclusionTimeoutsInput is an input type that accepts VpcBlockPublicAccessExclusionTimeoutsArgs and VpcBlockPublicAccessExclusionTimeoutsOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessExclusionTimeoutsInput` via: +// +// VpcBlockPublicAccessExclusionTimeoutsArgs{...} +type VpcBlockPublicAccessExclusionTimeoutsInput interface { + pulumi.Input + + ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput + ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput +} + +type VpcBlockPublicAccessExclusionTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` +} + +func (VpcBlockPublicAccessExclusionTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() +} + +func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput { + return i.ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(context.Background()) +} + +func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsOutput) +} + +func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return i.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsOutput).ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx) +} + +// VpcBlockPublicAccessExclusionTimeoutsPtrInput is an input type that accepts VpcBlockPublicAccessExclusionTimeoutsArgs, VpcBlockPublicAccessExclusionTimeoutsPtr and VpcBlockPublicAccessExclusionTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessExclusionTimeoutsPtrInput` via: +// +// VpcBlockPublicAccessExclusionTimeoutsArgs{...} +// +// or: +// +// nil +type VpcBlockPublicAccessExclusionTimeoutsPtrInput interface { + pulumi.Input + + ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput + ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput +} + +type vpcBlockPublicAccessExclusionTimeoutsPtrType VpcBlockPublicAccessExclusionTimeoutsArgs + +func VpcBlockPublicAccessExclusionTimeoutsPtr(v *VpcBlockPublicAccessExclusionTimeoutsArgs) VpcBlockPublicAccessExclusionTimeoutsPtrInput { + return (*vpcBlockPublicAccessExclusionTimeoutsPtrType)(v) +} + +func (*vpcBlockPublicAccessExclusionTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() +} + +func (i *vpcBlockPublicAccessExclusionTimeoutsPtrType) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return i.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *vpcBlockPublicAccessExclusionTimeoutsPtrType) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsPtrOutput) +} + +type VpcBlockPublicAccessExclusionTimeoutsOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessExclusionTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() +} + +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return o.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcBlockPublicAccessExclusionTimeouts) *VpcBlockPublicAccessExclusionTimeouts { + return &v + }).(VpcBlockPublicAccessExclusionTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type VpcBlockPublicAccessExclusionTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() +} + +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Elem() VpcBlockPublicAccessExclusionTimeoutsOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) VpcBlockPublicAccessExclusionTimeouts { + if v != nil { + return *v + } + var ret VpcBlockPublicAccessExclusionTimeouts + return ret + }).(VpcBlockPublicAccessExclusionTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +type VpcBlockPublicAccessOptionsTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` +} + +// VpcBlockPublicAccessOptionsTimeoutsInput is an input type that accepts VpcBlockPublicAccessOptionsTimeoutsArgs and VpcBlockPublicAccessOptionsTimeoutsOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessOptionsTimeoutsInput` via: +// +// VpcBlockPublicAccessOptionsTimeoutsArgs{...} +type VpcBlockPublicAccessOptionsTimeoutsInput interface { + pulumi.Input + + ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput + ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput +} + +type VpcBlockPublicAccessOptionsTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` +} + +func (VpcBlockPublicAccessOptionsTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +} + +func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput { + return i.ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(context.Background()) +} + +func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsOutput) +} + +func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return i.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsOutput).ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx) +} + +// VpcBlockPublicAccessOptionsTimeoutsPtrInput is an input type that accepts VpcBlockPublicAccessOptionsTimeoutsArgs, VpcBlockPublicAccessOptionsTimeoutsPtr and VpcBlockPublicAccessOptionsTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessOptionsTimeoutsPtrInput` via: +// +// VpcBlockPublicAccessOptionsTimeoutsArgs{...} +// +// or: +// +// nil +type VpcBlockPublicAccessOptionsTimeoutsPtrInput interface { + pulumi.Input + + ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput + ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput +} + +type vpcBlockPublicAccessOptionsTimeoutsPtrType VpcBlockPublicAccessOptionsTimeoutsArgs + +func VpcBlockPublicAccessOptionsTimeoutsPtr(v *VpcBlockPublicAccessOptionsTimeoutsArgs) VpcBlockPublicAccessOptionsTimeoutsPtrInput { + return (*vpcBlockPublicAccessOptionsTimeoutsPtrType)(v) +} + +func (*vpcBlockPublicAccessOptionsTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +} + +func (i *vpcBlockPublicAccessOptionsTimeoutsPtrType) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return i.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *vpcBlockPublicAccessOptionsTimeoutsPtrType) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsPtrOutput) +} + +type VpcBlockPublicAccessOptionsTimeoutsOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return o.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcBlockPublicAccessOptionsTimeouts) *VpcBlockPublicAccessOptionsTimeouts { + return &v + }).(VpcBlockPublicAccessOptionsTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type VpcBlockPublicAccessOptionsTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Elem() VpcBlockPublicAccessOptionsTimeoutsOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) VpcBlockPublicAccessOptionsTimeouts { + if v != nil { + return *v + } + var ret VpcBlockPublicAccessOptionsTimeouts + return ret + }).(VpcBlockPublicAccessOptionsTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + type VpcEndpointDnsEntry struct { // The DNS name. DnsName *string `pulumi:"dnsName"` @@ -58235,6 +58585,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TrafficMirrorFilterRuleDestinationPortRangePtrInput)(nil)).Elem(), TrafficMirrorFilterRuleDestinationPortRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TrafficMirrorFilterRuleSourcePortRangeInput)(nil)).Elem(), TrafficMirrorFilterRuleSourcePortRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TrafficMirrorFilterRuleSourcePortRangePtrInput)(nil)).Elem(), TrafficMirrorFilterRuleSourcePortRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeoutsInput)(nil)).Elem(), VpcBlockPublicAccessExclusionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeoutsPtrInput)(nil)).Elem(), VpcBlockPublicAccessExclusionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeoutsInput)(nil)).Elem(), VpcBlockPublicAccessOptionsTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeoutsPtrInput)(nil)).Elem(), VpcBlockPublicAccessOptionsTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointDnsEntryInput)(nil)).Elem(), VpcEndpointDnsEntryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointDnsEntryArrayInput)(nil)).Elem(), VpcEndpointDnsEntryArray{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointDnsOptionsInput)(nil)).Elem(), VpcEndpointDnsOptionsArgs{}) @@ -59088,6 +59442,10 @@ func init() { pulumi.RegisterOutputType(TrafficMirrorFilterRuleDestinationPortRangePtrOutput{}) pulumi.RegisterOutputType(TrafficMirrorFilterRuleSourcePortRangeOutput{}) pulumi.RegisterOutputType(TrafficMirrorFilterRuleSourcePortRangePtrOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionTimeoutsOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsTimeoutsOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsTimeoutsPtrOutput{}) pulumi.RegisterOutputType(VpcEndpointDnsEntryOutput{}) pulumi.RegisterOutputType(VpcEndpointDnsEntryArrayOutput{}) pulumi.RegisterOutputType(VpcEndpointDnsOptionsOutput{}) diff --git a/sdk/go/aws/ec2/vpcBlockPublicAccessExclusion.go b/sdk/go/aws/ec2/vpcBlockPublicAccessExclusion.go new file mode 100644 index 00000000000..8fe689d1038 --- /dev/null +++ b/sdk/go/aws/ec2/vpcBlockPublicAccessExclusion.go @@ -0,0 +1,400 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ec2 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// test, err := ec2.NewVpc(ctx, "test", &ec2.VpcArgs{ +// CidrBlock: pulumi.String("10.1.0.0/16"), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewVpcBlockPublicAccessExclusion(ctx, "test", &ec2.VpcBlockPublicAccessExclusionArgs{ +// VpcId: test.ID(), +// InternetGatewayExclusionMode: pulumi.String("allow-bidirectional"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Usage with subnet id +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// test, err := ec2.NewVpc(ctx, "test", &ec2.VpcArgs{ +// CidrBlock: pulumi.String("10.1.0.0/16"), +// }) +// if err != nil { +// return err +// } +// testSubnet, err := ec2.NewSubnet(ctx, "test", &ec2.SubnetArgs{ +// CidrBlock: pulumi.String("10.1.1.0/24"), +// VpcId: test.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewVpcBlockPublicAccessExclusion(ctx, "test", &ec2.VpcBlockPublicAccessExclusionArgs{ +// SubnetId: testSubnet.ID(), +// InternetGatewayExclusionMode: pulumi.String("allow-egress"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion using the `id`. For example: +// +// ```sh +// $ pulumi import aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion example vpcbpa-exclude-1234abcd +// ``` +type VpcBlockPublicAccessExclusion struct { + pulumi.CustomResourceState + + // Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + // + // The following arguments are optional: + InternetGatewayExclusionMode pulumi.StringOutput `pulumi:"internetGatewayExclusionMode"` + // The Amazon Resource Name (ARN) the excluded resource. + ResourceArn pulumi.StringOutput `pulumi:"resourceArn"` + // Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. + SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` + // A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts VpcBlockPublicAccessExclusionTimeoutsPtrOutput `pulumi:"timeouts"` + // Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. + VpcId pulumi.StringPtrOutput `pulumi:"vpcId"` +} + +// NewVpcBlockPublicAccessExclusion registers a new resource with the given unique name, arguments, and options. +func NewVpcBlockPublicAccessExclusion(ctx *pulumi.Context, + name string, args *VpcBlockPublicAccessExclusionArgs, opts ...pulumi.ResourceOption) (*VpcBlockPublicAccessExclusion, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InternetGatewayExclusionMode == nil { + return nil, errors.New("invalid value for required argument 'InternetGatewayExclusionMode'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcBlockPublicAccessExclusion + err := ctx.RegisterResource("aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcBlockPublicAccessExclusion gets an existing VpcBlockPublicAccessExclusion resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetVpcBlockPublicAccessExclusion(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcBlockPublicAccessExclusionState, opts ...pulumi.ResourceOption) (*VpcBlockPublicAccessExclusion, error) { + var resource VpcBlockPublicAccessExclusion + err := ctx.ReadResource("aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcBlockPublicAccessExclusion resources. +type vpcBlockPublicAccessExclusionState struct { + // Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + // + // The following arguments are optional: + InternetGatewayExclusionMode *string `pulumi:"internetGatewayExclusionMode"` + // The Amazon Resource Name (ARN) the excluded resource. + ResourceArn *string `pulumi:"resourceArn"` + // Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. + SubnetId *string `pulumi:"subnetId"` + // A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *VpcBlockPublicAccessExclusionTimeouts `pulumi:"timeouts"` + // Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. + VpcId *string `pulumi:"vpcId"` +} + +type VpcBlockPublicAccessExclusionState struct { + // Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + // + // The following arguments are optional: + InternetGatewayExclusionMode pulumi.StringPtrInput + // The Amazon Resource Name (ARN) the excluded resource. + ResourceArn pulumi.StringPtrInput + // Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. + SubnetId pulumi.StringPtrInput + // A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts VpcBlockPublicAccessExclusionTimeoutsPtrInput + // Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. + VpcId pulumi.StringPtrInput +} + +func (VpcBlockPublicAccessExclusionState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcBlockPublicAccessExclusionState)(nil)).Elem() +} + +type vpcBlockPublicAccessExclusionArgs struct { + // Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + // + // The following arguments are optional: + InternetGatewayExclusionMode string `pulumi:"internetGatewayExclusionMode"` + // Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. + SubnetId *string `pulumi:"subnetId"` + // A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + Timeouts *VpcBlockPublicAccessExclusionTimeouts `pulumi:"timeouts"` + // Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. + VpcId *string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a VpcBlockPublicAccessExclusion resource. +type VpcBlockPublicAccessExclusionArgs struct { + // Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + // + // The following arguments are optional: + InternetGatewayExclusionMode pulumi.StringInput + // Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. + SubnetId pulumi.StringPtrInput + // A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + Timeouts VpcBlockPublicAccessExclusionTimeoutsPtrInput + // Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. + VpcId pulumi.StringPtrInput +} + +func (VpcBlockPublicAccessExclusionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcBlockPublicAccessExclusionArgs)(nil)).Elem() +} + +type VpcBlockPublicAccessExclusionInput interface { + pulumi.Input + + ToVpcBlockPublicAccessExclusionOutput() VpcBlockPublicAccessExclusionOutput + ToVpcBlockPublicAccessExclusionOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionOutput +} + +func (*VpcBlockPublicAccessExclusion) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusion)(nil)).Elem() +} + +func (i *VpcBlockPublicAccessExclusion) ToVpcBlockPublicAccessExclusionOutput() VpcBlockPublicAccessExclusionOutput { + return i.ToVpcBlockPublicAccessExclusionOutputWithContext(context.Background()) +} + +func (i *VpcBlockPublicAccessExclusion) ToVpcBlockPublicAccessExclusionOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionOutput) +} + +// VpcBlockPublicAccessExclusionArrayInput is an input type that accepts VpcBlockPublicAccessExclusionArray and VpcBlockPublicAccessExclusionArrayOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessExclusionArrayInput` via: +// +// VpcBlockPublicAccessExclusionArray{ VpcBlockPublicAccessExclusionArgs{...} } +type VpcBlockPublicAccessExclusionArrayInput interface { + pulumi.Input + + ToVpcBlockPublicAccessExclusionArrayOutput() VpcBlockPublicAccessExclusionArrayOutput + ToVpcBlockPublicAccessExclusionArrayOutputWithContext(context.Context) VpcBlockPublicAccessExclusionArrayOutput +} + +type VpcBlockPublicAccessExclusionArray []VpcBlockPublicAccessExclusionInput + +func (VpcBlockPublicAccessExclusionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcBlockPublicAccessExclusion)(nil)).Elem() +} + +func (i VpcBlockPublicAccessExclusionArray) ToVpcBlockPublicAccessExclusionArrayOutput() VpcBlockPublicAccessExclusionArrayOutput { + return i.ToVpcBlockPublicAccessExclusionArrayOutputWithContext(context.Background()) +} + +func (i VpcBlockPublicAccessExclusionArray) ToVpcBlockPublicAccessExclusionArrayOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionArrayOutput) +} + +// VpcBlockPublicAccessExclusionMapInput is an input type that accepts VpcBlockPublicAccessExclusionMap and VpcBlockPublicAccessExclusionMapOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessExclusionMapInput` via: +// +// VpcBlockPublicAccessExclusionMap{ "key": VpcBlockPublicAccessExclusionArgs{...} } +type VpcBlockPublicAccessExclusionMapInput interface { + pulumi.Input + + ToVpcBlockPublicAccessExclusionMapOutput() VpcBlockPublicAccessExclusionMapOutput + ToVpcBlockPublicAccessExclusionMapOutputWithContext(context.Context) VpcBlockPublicAccessExclusionMapOutput +} + +type VpcBlockPublicAccessExclusionMap map[string]VpcBlockPublicAccessExclusionInput + +func (VpcBlockPublicAccessExclusionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcBlockPublicAccessExclusion)(nil)).Elem() +} + +func (i VpcBlockPublicAccessExclusionMap) ToVpcBlockPublicAccessExclusionMapOutput() VpcBlockPublicAccessExclusionMapOutput { + return i.ToVpcBlockPublicAccessExclusionMapOutputWithContext(context.Background()) +} + +func (i VpcBlockPublicAccessExclusionMap) ToVpcBlockPublicAccessExclusionMapOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionMapOutput) +} + +type VpcBlockPublicAccessExclusionOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessExclusionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusion)(nil)).Elem() +} + +func (o VpcBlockPublicAccessExclusionOutput) ToVpcBlockPublicAccessExclusionOutput() VpcBlockPublicAccessExclusionOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionOutput) ToVpcBlockPublicAccessExclusionOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionOutput { + return o +} + +// Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. +// +// The following arguments are optional: +func (o VpcBlockPublicAccessExclusionOutput) InternetGatewayExclusionMode() pulumi.StringOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringOutput { return v.InternetGatewayExclusionMode }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) the excluded resource. +func (o VpcBlockPublicAccessExclusionOutput) ResourceArn() pulumi.StringOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringOutput { return v.ResourceArn }).(pulumi.StringOutput) +} + +// Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. +func (o VpcBlockPublicAccessExclusionOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput) +} + +// A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o VpcBlockPublicAccessExclusionOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// +// Deprecated: Please use `tags` instead. +func (o VpcBlockPublicAccessExclusionOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o VpcBlockPublicAccessExclusionOutput) Timeouts() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return v.Timeouts + }).(VpcBlockPublicAccessExclusionTimeoutsPtrOutput) +} + +// Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. +func (o VpcBlockPublicAccessExclusionOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringPtrOutput { return v.VpcId }).(pulumi.StringPtrOutput) +} + +type VpcBlockPublicAccessExclusionArrayOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessExclusionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcBlockPublicAccessExclusion)(nil)).Elem() +} + +func (o VpcBlockPublicAccessExclusionArrayOutput) ToVpcBlockPublicAccessExclusionArrayOutput() VpcBlockPublicAccessExclusionArrayOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionArrayOutput) ToVpcBlockPublicAccessExclusionArrayOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionArrayOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionArrayOutput) Index(i pulumi.IntInput) VpcBlockPublicAccessExclusionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcBlockPublicAccessExclusion { + return vs[0].([]*VpcBlockPublicAccessExclusion)[vs[1].(int)] + }).(VpcBlockPublicAccessExclusionOutput) +} + +type VpcBlockPublicAccessExclusionMapOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessExclusionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcBlockPublicAccessExclusion)(nil)).Elem() +} + +func (o VpcBlockPublicAccessExclusionMapOutput) ToVpcBlockPublicAccessExclusionMapOutput() VpcBlockPublicAccessExclusionMapOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionMapOutput) ToVpcBlockPublicAccessExclusionMapOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionMapOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionMapOutput) MapIndex(k pulumi.StringInput) VpcBlockPublicAccessExclusionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcBlockPublicAccessExclusion { + return vs[0].(map[string]*VpcBlockPublicAccessExclusion)[vs[1].(string)] + }).(VpcBlockPublicAccessExclusionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionInput)(nil)).Elem(), &VpcBlockPublicAccessExclusion{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionArrayInput)(nil)).Elem(), VpcBlockPublicAccessExclusionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionMapInput)(nil)).Elem(), VpcBlockPublicAccessExclusionMap{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionArrayOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionMapOutput{}) +} diff --git a/sdk/go/aws/ec2/vpcBlockPublicAccessOptions.go b/sdk/go/aws/ec2/vpcBlockPublicAccessOptions.go new file mode 100644 index 00000000000..8ba270b8b75 --- /dev/null +++ b/sdk/go/aws/ec2/vpcBlockPublicAccessOptions.go @@ -0,0 +1,286 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ec2 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS VPC Block Public Access Options. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ec2.NewVpcBlockPublicAccessOptions(ctx, "example", &ec2.VpcBlockPublicAccessOptionsArgs{ +// InternetGatewayBlockMode: pulumi.String("block-bidirectional"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import VPC Block Public Access Options using the `aws_region`. For example: +// +// ```sh +// $ pulumi import aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions example us-east-1 +// ``` +type VpcBlockPublicAccessOptions struct { + pulumi.CustomResourceState + + // The AWS account id to which these options apply. + AwsAccountId pulumi.StringOutput `pulumi:"awsAccountId"` + // The AWS region to which these options apply. + AwsRegion pulumi.StringOutput `pulumi:"awsRegion"` + // Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + InternetGatewayBlockMode pulumi.StringOutput `pulumi:"internetGatewayBlockMode"` + Timeouts VpcBlockPublicAccessOptionsTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewVpcBlockPublicAccessOptions registers a new resource with the given unique name, arguments, and options. +func NewVpcBlockPublicAccessOptions(ctx *pulumi.Context, + name string, args *VpcBlockPublicAccessOptionsArgs, opts ...pulumi.ResourceOption) (*VpcBlockPublicAccessOptions, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InternetGatewayBlockMode == nil { + return nil, errors.New("invalid value for required argument 'InternetGatewayBlockMode'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcBlockPublicAccessOptions + err := ctx.RegisterResource("aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcBlockPublicAccessOptions gets an existing VpcBlockPublicAccessOptions resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetVpcBlockPublicAccessOptions(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcBlockPublicAccessOptionsState, opts ...pulumi.ResourceOption) (*VpcBlockPublicAccessOptions, error) { + var resource VpcBlockPublicAccessOptions + err := ctx.ReadResource("aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcBlockPublicAccessOptions resources. +type vpcBlockPublicAccessOptionsState struct { + // The AWS account id to which these options apply. + AwsAccountId *string `pulumi:"awsAccountId"` + // The AWS region to which these options apply. + AwsRegion *string `pulumi:"awsRegion"` + // Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + InternetGatewayBlockMode *string `pulumi:"internetGatewayBlockMode"` + Timeouts *VpcBlockPublicAccessOptionsTimeouts `pulumi:"timeouts"` +} + +type VpcBlockPublicAccessOptionsState struct { + // The AWS account id to which these options apply. + AwsAccountId pulumi.StringPtrInput + // The AWS region to which these options apply. + AwsRegion pulumi.StringPtrInput + // Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + InternetGatewayBlockMode pulumi.StringPtrInput + Timeouts VpcBlockPublicAccessOptionsTimeoutsPtrInput +} + +func (VpcBlockPublicAccessOptionsState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcBlockPublicAccessOptionsState)(nil)).Elem() +} + +type vpcBlockPublicAccessOptionsArgs struct { + // Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + InternetGatewayBlockMode string `pulumi:"internetGatewayBlockMode"` + Timeouts *VpcBlockPublicAccessOptionsTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a VpcBlockPublicAccessOptions resource. +type VpcBlockPublicAccessOptionsArgs struct { + // Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + InternetGatewayBlockMode pulumi.StringInput + Timeouts VpcBlockPublicAccessOptionsTimeoutsPtrInput +} + +func (VpcBlockPublicAccessOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcBlockPublicAccessOptionsArgs)(nil)).Elem() +} + +type VpcBlockPublicAccessOptionsInput interface { + pulumi.Input + + ToVpcBlockPublicAccessOptionsOutput() VpcBlockPublicAccessOptionsOutput + ToVpcBlockPublicAccessOptionsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsOutput +} + +func (*VpcBlockPublicAccessOptions) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptions)(nil)).Elem() +} + +func (i *VpcBlockPublicAccessOptions) ToVpcBlockPublicAccessOptionsOutput() VpcBlockPublicAccessOptionsOutput { + return i.ToVpcBlockPublicAccessOptionsOutputWithContext(context.Background()) +} + +func (i *VpcBlockPublicAccessOptions) ToVpcBlockPublicAccessOptionsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsOutput) +} + +// VpcBlockPublicAccessOptionsArrayInput is an input type that accepts VpcBlockPublicAccessOptionsArray and VpcBlockPublicAccessOptionsArrayOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessOptionsArrayInput` via: +// +// VpcBlockPublicAccessOptionsArray{ VpcBlockPublicAccessOptionsArgs{...} } +type VpcBlockPublicAccessOptionsArrayInput interface { + pulumi.Input + + ToVpcBlockPublicAccessOptionsArrayOutput() VpcBlockPublicAccessOptionsArrayOutput + ToVpcBlockPublicAccessOptionsArrayOutputWithContext(context.Context) VpcBlockPublicAccessOptionsArrayOutput +} + +type VpcBlockPublicAccessOptionsArray []VpcBlockPublicAccessOptionsInput + +func (VpcBlockPublicAccessOptionsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcBlockPublicAccessOptions)(nil)).Elem() +} + +func (i VpcBlockPublicAccessOptionsArray) ToVpcBlockPublicAccessOptionsArrayOutput() VpcBlockPublicAccessOptionsArrayOutput { + return i.ToVpcBlockPublicAccessOptionsArrayOutputWithContext(context.Background()) +} + +func (i VpcBlockPublicAccessOptionsArray) ToVpcBlockPublicAccessOptionsArrayOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsArrayOutput) +} + +// VpcBlockPublicAccessOptionsMapInput is an input type that accepts VpcBlockPublicAccessOptionsMap and VpcBlockPublicAccessOptionsMapOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessOptionsMapInput` via: +// +// VpcBlockPublicAccessOptionsMap{ "key": VpcBlockPublicAccessOptionsArgs{...} } +type VpcBlockPublicAccessOptionsMapInput interface { + pulumi.Input + + ToVpcBlockPublicAccessOptionsMapOutput() VpcBlockPublicAccessOptionsMapOutput + ToVpcBlockPublicAccessOptionsMapOutputWithContext(context.Context) VpcBlockPublicAccessOptionsMapOutput +} + +type VpcBlockPublicAccessOptionsMap map[string]VpcBlockPublicAccessOptionsInput + +func (VpcBlockPublicAccessOptionsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcBlockPublicAccessOptions)(nil)).Elem() +} + +func (i VpcBlockPublicAccessOptionsMap) ToVpcBlockPublicAccessOptionsMapOutput() VpcBlockPublicAccessOptionsMapOutput { + return i.ToVpcBlockPublicAccessOptionsMapOutputWithContext(context.Background()) +} + +func (i VpcBlockPublicAccessOptionsMap) ToVpcBlockPublicAccessOptionsMapOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsMapOutput) +} + +type VpcBlockPublicAccessOptionsOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptions)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsOutput) ToVpcBlockPublicAccessOptionsOutput() VpcBlockPublicAccessOptionsOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsOutput) ToVpcBlockPublicAccessOptionsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsOutput { + return o +} + +// The AWS account id to which these options apply. +func (o VpcBlockPublicAccessOptionsOutput) AwsAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptions) pulumi.StringOutput { return v.AwsAccountId }).(pulumi.StringOutput) +} + +// The AWS region to which these options apply. +func (o VpcBlockPublicAccessOptionsOutput) AwsRegion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptions) pulumi.StringOutput { return v.AwsRegion }).(pulumi.StringOutput) +} + +// Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. +func (o VpcBlockPublicAccessOptionsOutput) InternetGatewayBlockMode() pulumi.StringOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptions) pulumi.StringOutput { return v.InternetGatewayBlockMode }).(pulumi.StringOutput) +} + +func (o VpcBlockPublicAccessOptionsOutput) Timeouts() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptions) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { return v.Timeouts }).(VpcBlockPublicAccessOptionsTimeoutsPtrOutput) +} + +type VpcBlockPublicAccessOptionsArrayOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcBlockPublicAccessOptions)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsArrayOutput) ToVpcBlockPublicAccessOptionsArrayOutput() VpcBlockPublicAccessOptionsArrayOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsArrayOutput) ToVpcBlockPublicAccessOptionsArrayOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsArrayOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsArrayOutput) Index(i pulumi.IntInput) VpcBlockPublicAccessOptionsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcBlockPublicAccessOptions { + return vs[0].([]*VpcBlockPublicAccessOptions)[vs[1].(int)] + }).(VpcBlockPublicAccessOptionsOutput) +} + +type VpcBlockPublicAccessOptionsMapOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcBlockPublicAccessOptions)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsMapOutput) ToVpcBlockPublicAccessOptionsMapOutput() VpcBlockPublicAccessOptionsMapOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsMapOutput) ToVpcBlockPublicAccessOptionsMapOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsMapOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsMapOutput) MapIndex(k pulumi.StringInput) VpcBlockPublicAccessOptionsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcBlockPublicAccessOptions { + return vs[0].(map[string]*VpcBlockPublicAccessOptions)[vs[1].(string)] + }).(VpcBlockPublicAccessOptionsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsInput)(nil)).Elem(), &VpcBlockPublicAccessOptions{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsArrayInput)(nil)).Elem(), VpcBlockPublicAccessOptionsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsMapInput)(nil)).Elem(), VpcBlockPublicAccessOptionsMap{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsArrayOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsMapOutput{}) +} diff --git a/sdk/go/aws/ec2/vpcEndpointService.go b/sdk/go/aws/ec2/vpcEndpointService.go index ebb6e43a75d..777b0c5a153 100644 --- a/sdk/go/aws/ec2/vpcEndpointService.go +++ b/sdk/go/aws/ec2/vpcEndpointService.go @@ -119,6 +119,8 @@ type VpcEndpointService struct { State pulumi.StringOutput `pulumi:"state"` // The supported IP address types. The possible values are `ipv4` and `ipv6`. SupportedIpAddressTypes pulumi.StringArrayOutput `pulumi:"supportedIpAddressTypes"` + // The set of regions from which service consumers can access the service. + SupportedRegions pulumi.StringArrayOutput `pulumi:"supportedRegions"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -188,6 +190,8 @@ type vpcEndpointServiceState struct { State *string `pulumi:"state"` // The supported IP address types. The possible values are `ipv4` and `ipv6`. SupportedIpAddressTypes []string `pulumi:"supportedIpAddressTypes"` + // The set of regions from which service consumers can access the service. + SupportedRegions []string `pulumi:"supportedRegions"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -225,6 +229,8 @@ type VpcEndpointServiceState struct { State pulumi.StringPtrInput // The supported IP address types. The possible values are `ipv4` and `ipv6`. SupportedIpAddressTypes pulumi.StringArrayInput + // The set of regions from which service consumers can access the service. + SupportedRegions pulumi.StringArrayInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -250,6 +256,8 @@ type vpcEndpointServiceArgs struct { PrivateDnsName *string `pulumi:"privateDnsName"` // The supported IP address types. The possible values are `ipv4` and `ipv6`. SupportedIpAddressTypes []string `pulumi:"supportedIpAddressTypes"` + // The set of regions from which service consumers can access the service. + SupportedRegions []string `pulumi:"supportedRegions"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } @@ -268,6 +276,8 @@ type VpcEndpointServiceArgs struct { PrivateDnsName pulumi.StringPtrInput // The supported IP address types. The possible values are `ipv4` and `ipv6`. SupportedIpAddressTypes pulumi.StringArrayInput + // The set of regions from which service consumers can access the service. + SupportedRegions pulumi.StringArrayInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -431,6 +441,11 @@ func (o VpcEndpointServiceOutput) SupportedIpAddressTypes() pulumi.StringArrayOu return o.ApplyT(func(v *VpcEndpointService) pulumi.StringArrayOutput { return v.SupportedIpAddressTypes }).(pulumi.StringArrayOutput) } +// The set of regions from which service consumers can access the service. +func (o VpcEndpointServiceOutput) SupportedRegions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpcEndpointService) pulumi.StringArrayOutput { return v.SupportedRegions }).(pulumi.StringArrayOutput) +} + // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o VpcEndpointServiceOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *VpcEndpointService) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) diff --git a/sdk/go/aws/eks/cluster.go b/sdk/go/aws/eks/cluster.go index cc9374104ec..a532dcb2751 100644 --- a/sdk/go/aws/eks/cluster.go +++ b/sdk/go/aws/eks/cluster.go @@ -16,53 +16,94 @@ import ( // // ## Example Usage // -// ### Basic Usage +// ### EKS Cluster // // ```go // package main // // import ( // +// "encoding/json" +// // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := eks.NewCluster(ctx, "example", &eks.ClusterArgs{ -// Name: pulumi.String("example"), +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "Version": "2012-10-17", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "Action": []string{ +// "sts:AssumeRole", +// "sts:TagSession", +// }, +// "Effect": "Allow", +// "Principal": map[string]interface{}{ +// "Service": "eks.amazonaws.com", +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// cluster, err := iam.NewRole(ctx, "cluster", &iam.RoleArgs{ +// Name: pulumi.String("eks-cluster-example"), +// AssumeRolePolicy: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// clusterAmazonEKSClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, "cluster_AmazonEKSClusterPolicy", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"), +// Role: cluster.Name, +// }) +// if err != nil { +// return err +// } +// _, err = eks.NewCluster(ctx, "example", &eks.ClusterArgs{ +// Name: pulumi.String("example"), +// AccessConfig: &eks.ClusterAccessConfigArgs{ +// AuthenticationMode: pulumi.String("API"), +// }, // RoleArn: pulumi.Any(exampleAwsIamRole.Arn), +// Version: pulumi.String("1.31"), // VpcConfig: &eks.ClusterVpcConfigArgs{ // SubnetIds: pulumi.StringArray{ -// example1.Id, -// example2.Id, +// az1.Id, +// az2.Id, +// az3.Id, // }, // }, // }, pulumi.DependsOn([]pulumi.Resource{ -// example_AmazonEKSClusterPolicy, -// example_AmazonEKSVPCResourceController, +// clusterAmazonEKSClusterPolicy, // })) // if err != nil { // return err // } -// ctx.Export("endpoint", example.Endpoint) -// ctx.Export("kubeconfig-certificate-authority-data", example.CertificateAuthority.ApplyT(func(certificateAuthority eks.ClusterCertificateAuthority) (*string, error) { -// return &certificateAuthority.Data, nil -// }).(pulumi.StringPtrOutput)) // return nil // }) // } // // ``` // -// ### Example IAM Role for EKS Cluster +// ### EKS Cluster with EKS Auto Mode +// +// > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`. // // ```go // package main // // import ( // +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks" // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -70,192 +111,145 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ -// Statements: []iam.GetPolicyDocumentStatement{ -// { -// Effect: pulumi.StringRef("Allow"), -// Principals: []iam.GetPolicyDocumentStatementPrincipal{ -// { -// Type: "Service", -// Identifiers: []string{ -// "eks.amazonaws.com", -// }, -// }, +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "Version": "2012-10-17", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "Action": []string{ +// "sts:AssumeRole", +// }, +// "Effect": "Allow", +// "Principal": map[string]interface{}{ +// "Service": "ec2.amazonaws.com", // }, -// Actions: []string{ +// }, +// }, +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// node, err := iam.NewRole(ctx, "node", &iam.RoleArgs{ +// Name: pulumi.String("eks-auto-node-example"), +// AssumeRolePolicy: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// tmpJSON1, err := json.Marshal(map[string]interface{}{ +// "Version": "2012-10-17", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "Action": []string{ // "sts:AssumeRole", +// "sts:TagSession", +// }, +// "Effect": "Allow", +// "Principal": map[string]interface{}{ +// "Service": "eks.amazonaws.com", // }, // }, // }, -// }, nil) +// }) // if err != nil { // return err // } -// example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ +// json1 := string(tmpJSON1) +// cluster, err := iam.NewRole(ctx, "cluster", &iam.RoleArgs{ // Name: pulumi.String("eks-cluster-example"), -// AssumeRolePolicy: pulumi.String(assumeRole.Json), +// AssumeRolePolicy: pulumi.String(json1), // }) // if err != nil { // return err // } -// _, err = iam.NewRolePolicyAttachment(ctx, "example-AmazonEKSClusterPolicy", &iam.RolePolicyAttachmentArgs{ +// clusterAmazonEKSClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, "cluster_AmazonEKSClusterPolicy", &iam.RolePolicyAttachmentArgs{ // PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"), -// Role: example.Name, +// Role: cluster.Name, // }) // if err != nil { // return err // } -// // Optionally, enable Security Groups for Pods -// // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html -// _, err = iam.NewRolePolicyAttachment(ctx, "example-AmazonEKSVPCResourceController", &iam.RolePolicyAttachmentArgs{ -// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSVPCResourceController"), -// Role: example.Name, +// clusterAmazonEKSComputePolicy, err := iam.NewRolePolicyAttachment(ctx, "cluster_AmazonEKSComputePolicy", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSComputePolicy"), +// Role: cluster.Name, // }) // if err != nil { // return err // } -// return nil -// }) -// } -// -// ``` -// -// ### Enabling Control Plane Logging -// -// [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabledClusterLogTypes` argument. To manage the CloudWatch Log Group retention period, the `cloudwatch.LogGroup` resource can be used. -// -// > The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment. -// -// ```go -// package main -// -// import ( -// -// "fmt" -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch" -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// cfg := config.New(ctx, "") -// clusterName := "example" -// if param := cfg.Get("clusterName"); param != "" { -// clusterName = param -// } -// exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{ -// Name: pulumi.Sprintf("/aws/eks/%v/cluster", clusterName), -// RetentionInDays: pulumi.Int(7), +// clusterAmazonEKSBlockStoragePolicy, err := iam.NewRolePolicyAttachment(ctx, "cluster_AmazonEKSBlockStoragePolicy", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy"), +// Role: cluster.Name, // }) // if err != nil { // return err // } -// _, err = eks.NewCluster(ctx, "example", &eks.ClusterArgs{ -// EnabledClusterLogTypes: pulumi.StringArray{ -// pulumi.String("api"), -// pulumi.String("audit"), -// }, -// Name: pulumi.String(clusterName), -// }, pulumi.DependsOn([]pulumi.Resource{ -// exampleLogGroup, -// })) +// clusterAmazonEKSLoadBalancingPolicy, err := iam.NewRolePolicyAttachment(ctx, "cluster_AmazonEKSLoadBalancingPolicy", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy"), +// Role: cluster.Name, +// }) // if err != nil { // return err // } -// return nil -// }) -// } -// -// ``` -// -// ### Enabling IAM Roles for Service Accounts -// -// For more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). -// -// ```go -// package main -// -// import ( -// -// "fmt" -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks" -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" -// "github.com/pulumi/pulumi-std/sdk/go/std" -// "github.com/pulumi/pulumi-tls/sdk/v4/go/tls" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// exampleCluster, err := eks.NewCluster(ctx, "example", nil) +// clusterAmazonEKSNetworkingPolicy, err := iam.NewRolePolicyAttachment(ctx, "cluster_AmazonEKSNetworkingPolicy", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy"), +// Role: cluster.Name, +// }) // if err != nil { // return err // } -// example := exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (tls.GetCertificateResult, error) { -// return tls.GetCertificateResult(interface{}(tls.GetCertificateOutput(ctx, tls.GetCertificateOutputArgs{ -// Url: identities[0].Oidcs[0].Issuer, -// }, nil))), nil -// }).(tls.GetCertificateResultOutput) -// exampleOpenIdConnectProvider, err := iam.NewOpenIdConnectProvider(ctx, "example", &iam.OpenIdConnectProviderArgs{ -// ClientIdLists: pulumi.StringArray{ -// pulumi.String("sts.amazonaws.com"), +// _, err = eks.NewCluster(ctx, "example", &eks.ClusterArgs{ +// Name: pulumi.String("example"), +// AccessConfig: &eks.ClusterAccessConfigArgs{ +// AuthenticationMode: pulumi.String("API"), +// }, +// RoleArn: cluster.Arn, +// Version: pulumi.String("1.31"), +// ComputeConfig: &eks.ClusterComputeConfigArgs{ +// Enabled: pulumi.Bool(true), +// NodePools: pulumi.StringArray{ +// pulumi.String("general-purpose"), +// }, +// NodeRoleArn: node.Arn, // }, -// ThumbprintLists: pulumi.StringArray{ -// pulumi.String(example.ApplyT(func(example tls.GetCertificateResult) (*string, error) { -// return &example.Certificates[0].Sha1Fingerprint, nil -// }).(pulumi.StringPtrOutput)), +// KubernetesNetworkConfig: &eks.ClusterKubernetesNetworkConfigArgs{ +// ElasticLoadBalancing: &eks.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs{ +// Enabled: pulumi.Bool(true), +// }, +// }, +// StorageConfig: &eks.ClusterStorageConfigArgs{ +// BlockStorage: &eks.ClusterStorageConfigBlockStorageArgs{ +// Enabled: pulumi.Bool(true), +// }, // }, -// Url: pulumi.String(example.ApplyT(func(example tls.GetCertificateResult) (*string, error) { -// return &example.Url, nil -// }).(pulumi.StringPtrOutput)), +// VpcConfig: &eks.ClusterVpcConfigArgs{ +// EndpointPrivateAccess: pulumi.Bool(true), +// EndpointPublicAccess: pulumi.Bool(true), +// SubnetIds: pulumi.StringArray{ +// az1.Id, +// az2.Id, +// az3.Id, +// }, +// }, +// }, pulumi.DependsOn([]pulumi.Resource{ +// clusterAmazonEKSClusterPolicy, +// clusterAmazonEKSComputePolicy, +// clusterAmazonEKSBlockStoragePolicy, +// clusterAmazonEKSLoadBalancingPolicy, +// clusterAmazonEKSNetworkingPolicy, +// })) +// if err != nil { +// return err +// } +// _, err = iam.NewRolePolicyAttachment(ctx, "node_AmazonEKSWorkerNodeMinimalPolicy", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy"), +// Role: node.Name, // }) // if err != nil { // return err // } -// exampleAssumeRolePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{ -// Statements: iam.GetPolicyDocumentStatementArray{ -// &iam.GetPolicyDocumentStatementArgs{ -// Actions: pulumi.StringArray{ -// pulumi.String("sts:AssumeRoleWithWebIdentity"), -// }, -// Effect: pulumi.String("Allow"), -// Conditions: iam.GetPolicyDocumentStatementConditionArray{ -// &iam.GetPolicyDocumentStatementConditionArgs{ -// Test: pulumi.String("StringEquals"), -// Variable: std.ReplaceOutput(ctx, std.ReplaceOutputArgs{ -// Text: exampleOpenIdConnectProvider.Url, -// Search: pulumi.String("https://"), -// Replace: pulumi.String(""), -// }, nil).ApplyT(func(invoke std.ReplaceResult) (string, error) { -// return fmt.Sprintf("%v:sub", invoke.Result), nil -// }).(pulumi.StringOutput), -// Values: pulumi.StringArray{ -// pulumi.String("system:serviceaccount:kube-system:aws-node"), -// }, -// }, -// }, -// Principals: iam.GetPolicyDocumentStatementPrincipalArray{ -// &iam.GetPolicyDocumentStatementPrincipalArgs{ -// Identifiers: pulumi.StringArray{ -// exampleOpenIdConnectProvider.Arn, -// }, -// Type: pulumi.String("Federated"), -// }, -// }, -// }, -// }, -// }, nil) -// _, err = iam.NewRole(ctx, "example", &iam.RoleArgs{ -// AssumeRolePolicy: pulumi.String(exampleAssumeRolePolicy.ApplyT(func(exampleAssumeRolePolicy iam.GetPolicyDocumentResult) (*string, error) { -// return &exampleAssumeRolePolicy.Json, nil -// }).(pulumi.StringPtrOutput)), -// Name: pulumi.String("example"), +// _, err = iam.NewRolePolicyAttachment(ctx, "node_AmazonEC2ContainerRegistryPullOnly", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly"), +// Role: node.Name, // }) // if err != nil { // return err @@ -266,7 +260,7 @@ import ( // // ``` // -// ### EKS Cluster on AWS Outpost +// ### Local EKS Cluster on AWS Outpost // // [Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) // @@ -275,78 +269,84 @@ import ( // // import ( // +// "encoding/json" +// // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks" // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/outposts" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ -// AssumeRolePolicy: pulumi.Any(exampleAssumeRolePolicy.Json), -// Name: pulumi.String("example"), -// }) +// example, err := outposts.GetOutpost(ctx, &outposts.GetOutpostArgs{ +// Name: pulumi.StringRef("example"), +// }, nil) // if err != nil { // return err // } -// _, err = eks.NewCluster(ctx, "example", &eks.ClusterArgs{ -// Name: pulumi.String("example-cluster"), -// RoleArn: example.Arn, -// VpcConfig: &eks.ClusterVpcConfigArgs{ -// EndpointPrivateAccess: pulumi.Bool(true), -// EndpointPublicAccess: pulumi.Bool(false), -// }, -// OutpostConfig: &eks.ClusterOutpostConfigArgs{ -// ControlPlaneInstanceType: pulumi.String("m5d.large"), -// OutpostArns: pulumi.StringArray{ -// exampleAwsOutpostsOutpost.Arn, +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "Version": "2012-10-17", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "Action": []string{ +// "sts:AssumeRole", +// "sts:TagSession", +// }, +// "Effect": "Allow", +// "Principal": map[string]interface{}{ +// "Service": []string{ +// "eks.amazonaws.com", +// "ec2.amazonaws.com", +// }, +// }, // }, // }, // }) // if err != nil { // return err // } -// return nil -// }) -// } -// -// ``` -// -// ### EKS Cluster with Access Config -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks" -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ -// AssumeRolePolicy: pulumi.Any(exampleAssumeRolePolicy.Json), -// Name: pulumi.String("example"), +// json0 := string(tmpJSON0) +// cluster, err := iam.NewRole(ctx, "cluster", &iam.RoleArgs{ +// Name: pulumi.String("eks-cluster-example"), +// AssumeRolePolicy: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// clusterAmazonEKSLocalOutpostClusterPolicy, err := iam.NewRolePolicyAttachment(ctx, "cluster_AmazonEKSLocalOutpostClusterPolicy", &iam.RolePolicyAttachmentArgs{ +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy"), +// Role: cluster.Name, // }) // if err != nil { // return err // } // _, err = eks.NewCluster(ctx, "example", &eks.ClusterArgs{ -// Name: pulumi.String("example-cluster"), -// RoleArn: example.Arn, +// Name: pulumi.String("example"), +// AccessConfig: &eks.ClusterAccessConfigArgs{ +// AuthenticationMode: pulumi.String("CONFIG_MAP"), +// }, +// RoleArn: pulumi.Any(exampleAwsIamRole.Arn), +// Version: pulumi.String("1.31"), // VpcConfig: &eks.ClusterVpcConfigArgs{ // EndpointPrivateAccess: pulumi.Bool(true), // EndpointPublicAccess: pulumi.Bool(false), +// SubnetIds: pulumi.StringArray{ +// az1.Id, +// az2.Id, +// az3.Id, +// }, // }, -// AccessConfig: &eks.ClusterAccessConfigArgs{ -// AuthenticationMode: pulumi.String("CONFIG_MAP"), -// BootstrapClusterCreatorAdminPermissions: pulumi.Bool(true), +// OutpostConfig: &eks.ClusterOutpostConfigArgs{ +// ControlPlaneInstanceType: pulumi.String("m5.large"), +// OutpostArns: pulumi.StringArray{ +// pulumi.String(example.Arn), +// }, // }, -// }) +// }, pulumi.DependsOn([]pulumi.Resource{ +// clusterAmazonEKSLocalOutpostClusterPolicy, +// })) // if err != nil { // return err // } @@ -356,8 +356,6 @@ import ( // // ``` // -// After adding inline IAM Policies (e.g., `iam.RolePolicy` resource) or attaching IAM Policies (e.g., `iam.Policy` resource and `iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetesServiceAccount` resource) and recreate any pods. -// // ## Import // // Using `pulumi import`, import EKS Clusters using the `name`. For example: @@ -379,6 +377,8 @@ type Cluster struct { CertificateAuthority ClusterCertificateAuthorityOutput `pulumi:"certificateAuthority"` // The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // Configuration block with compute configuration for EKS Auto Mode. Detailed below. + ComputeConfig ClusterComputeConfigPtrOutput `pulumi:"computeConfig"` // Unix epoch timestamp in seconds for when the cluster was created. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` DefaultAddonsToRemoves pulumi.StringArrayOutput `pulumi:"defaultAddonsToRemoves"` @@ -398,10 +398,14 @@ type Cluster struct { OutpostConfig ClusterOutpostConfigPtrOutput `pulumi:"outpostConfig"` // Platform version for the cluster. PlatformVersion pulumi.StringOutput `pulumi:"platformVersion"` + // Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + RemoteNetworkConfig ClusterRemoteNetworkConfigPtrOutput `pulumi:"remoteNetworkConfig"` // ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. RoleArn pulumi.StringOutput `pulumi:"roleArn"` // Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. Status pulumi.StringOutput `pulumi:"status"` + // Configuration block with storage configuration for EKS Auto Mode. Detailed below. + StorageConfig ClusterStorageConfigPtrOutput `pulumi:"storageConfig"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -467,6 +471,8 @@ type clusterState struct { CertificateAuthority *ClusterCertificateAuthority `pulumi:"certificateAuthority"` // The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. ClusterId *string `pulumi:"clusterId"` + // Configuration block with compute configuration for EKS Auto Mode. Detailed below. + ComputeConfig *ClusterComputeConfig `pulumi:"computeConfig"` // Unix epoch timestamp in seconds for when the cluster was created. CreatedAt *string `pulumi:"createdAt"` DefaultAddonsToRemoves []string `pulumi:"defaultAddonsToRemoves"` @@ -486,10 +492,14 @@ type clusterState struct { OutpostConfig *ClusterOutpostConfig `pulumi:"outpostConfig"` // Platform version for the cluster. PlatformVersion *string `pulumi:"platformVersion"` + // Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + RemoteNetworkConfig *ClusterRemoteNetworkConfig `pulumi:"remoteNetworkConfig"` // ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. RoleArn *string `pulumi:"roleArn"` // Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. Status *string `pulumi:"status"` + // Configuration block with storage configuration for EKS Auto Mode. Detailed below. + StorageConfig *ClusterStorageConfig `pulumi:"storageConfig"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -520,6 +530,8 @@ type ClusterState struct { CertificateAuthority ClusterCertificateAuthorityPtrInput // The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. ClusterId pulumi.StringPtrInput + // Configuration block with compute configuration for EKS Auto Mode. Detailed below. + ComputeConfig ClusterComputeConfigPtrInput // Unix epoch timestamp in seconds for when the cluster was created. CreatedAt pulumi.StringPtrInput DefaultAddonsToRemoves pulumi.StringArrayInput @@ -539,10 +551,14 @@ type ClusterState struct { OutpostConfig ClusterOutpostConfigPtrInput // Platform version for the cluster. PlatformVersion pulumi.StringPtrInput + // Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + RemoteNetworkConfig ClusterRemoteNetworkConfigPtrInput // ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. RoleArn pulumi.StringPtrInput // Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. Status pulumi.StringPtrInput + // Configuration block with storage configuration for EKS Auto Mode. Detailed below. + StorageConfig ClusterStorageConfigPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -569,8 +585,10 @@ type clusterArgs struct { // Configuration block for the access config associated with your cluster, see [Amazon EKS Access Entries](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html). AccessConfig *ClusterAccessConfig `pulumi:"accessConfig"` // Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`. - BootstrapSelfManagedAddons *bool `pulumi:"bootstrapSelfManagedAddons"` - DefaultAddonsToRemoves []string `pulumi:"defaultAddonsToRemoves"` + BootstrapSelfManagedAddons *bool `pulumi:"bootstrapSelfManagedAddons"` + // Configuration block with compute configuration for EKS Auto Mode. Detailed below. + ComputeConfig *ClusterComputeConfig `pulumi:"computeConfig"` + DefaultAddonsToRemoves []string `pulumi:"defaultAddonsToRemoves"` // List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html). EnabledClusterLogTypes []string `pulumi:"enabledClusterLogTypes"` // Configuration block with encryption configuration for the cluster. Detailed below. @@ -581,8 +599,12 @@ type clusterArgs struct { Name *string `pulumi:"name"` // Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud. OutpostConfig *ClusterOutpostConfig `pulumi:"outpostConfig"` + // Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + RemoteNetworkConfig *ClusterRemoteNetworkConfig `pulumi:"remoteNetworkConfig"` // ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. RoleArn string `pulumi:"roleArn"` + // Configuration block with storage configuration for EKS Auto Mode. Detailed below. + StorageConfig *ClusterStorageConfig `pulumi:"storageConfig"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // Configuration block for the support policy to use for the cluster. See upgradePolicy for details. @@ -603,7 +625,9 @@ type ClusterArgs struct { AccessConfig ClusterAccessConfigPtrInput // Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`. BootstrapSelfManagedAddons pulumi.BoolPtrInput - DefaultAddonsToRemoves pulumi.StringArrayInput + // Configuration block with compute configuration for EKS Auto Mode. Detailed below. + ComputeConfig ClusterComputeConfigPtrInput + DefaultAddonsToRemoves pulumi.StringArrayInput // List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html). EnabledClusterLogTypes pulumi.StringArrayInput // Configuration block with encryption configuration for the cluster. Detailed below. @@ -614,8 +638,12 @@ type ClusterArgs struct { Name pulumi.StringPtrInput // Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud. OutpostConfig ClusterOutpostConfigPtrInput + // Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + RemoteNetworkConfig ClusterRemoteNetworkConfigPtrInput // ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. RoleArn pulumi.StringInput + // Configuration block with storage configuration for EKS Auto Mode. Detailed below. + StorageConfig ClusterStorageConfigPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Configuration block for the support policy to use for the cluster. See upgradePolicy for details. @@ -746,6 +774,11 @@ func (o ClusterOutput) ClusterId() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) } +// Configuration block with compute configuration for EKS Auto Mode. Detailed below. +func (o ClusterOutput) ComputeConfig() ClusterComputeConfigPtrOutput { + return o.ApplyT(func(v *Cluster) ClusterComputeConfigPtrOutput { return v.ComputeConfig }).(ClusterComputeConfigPtrOutput) +} + // Unix epoch timestamp in seconds for when the cluster was created. func (o ClusterOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) @@ -795,6 +828,11 @@ func (o ClusterOutput) PlatformVersion() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.PlatformVersion }).(pulumi.StringOutput) } +// Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. +func (o ClusterOutput) RemoteNetworkConfig() ClusterRemoteNetworkConfigPtrOutput { + return o.ApplyT(func(v *Cluster) ClusterRemoteNetworkConfigPtrOutput { return v.RemoteNetworkConfig }).(ClusterRemoteNetworkConfigPtrOutput) +} + // ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. func (o ClusterOutput) RoleArn() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) @@ -805,6 +843,11 @@ func (o ClusterOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } +// Configuration block with storage configuration for EKS Auto Mode. Detailed below. +func (o ClusterOutput) StorageConfig() ClusterStorageConfigPtrOutput { + return o.ApplyT(func(v *Cluster) ClusterStorageConfigPtrOutput { return v.StorageConfig }).(ClusterStorageConfigPtrOutput) +} + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o ClusterOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) diff --git a/sdk/go/aws/eks/getCluster.go b/sdk/go/aws/eks/getCluster.go index f2b12715787..ad73a34f477 100644 --- a/sdk/go/aws/eks/getCluster.go +++ b/sdk/go/aws/eks/getCluster.go @@ -35,7 +35,6 @@ import ( // } // ctx.Export("endpoint", example.Endpoint) // ctx.Export("kubeconfig-certificate-authority-data", example.CertificateAuthorities[0].Data) -// ctx.Export("identity-oidc-issuer", example.Identities[0].Oidcs[0].Issuer) // return nil // }) // } @@ -69,6 +68,8 @@ type LookupClusterResult struct { CertificateAuthorities []GetClusterCertificateAuthority `pulumi:"certificateAuthorities"` // The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. ClusterId string `pulumi:"clusterId"` + // Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster. + ComputeConfigs []GetClusterComputeConfig `pulumi:"computeConfigs"` // Unix epoch time stamp in seconds for when the cluster was created. CreatedAt string `pulumi:"createdAt"` // The enabled control plane logs. @@ -86,13 +87,17 @@ type LookupClusterResult struct { OutpostConfigs []GetClusterOutpostConfig `pulumi:"outpostConfigs"` // Platform version for the cluster. PlatformVersion string `pulumi:"platformVersion"` + // Contains remote network configuration for EKS Hybrid Nodes. + RemoteNetworkConfigs []GetClusterRemoteNetworkConfig `pulumi:"remoteNetworkConfigs"` // ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. RoleArn string `pulumi:"roleArn"` // Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. Status string `pulumi:"status"` + // Contains storage configuration for EKS Auto Mode enabled cluster. + StorageConfigs []GetClusterStorageConfig `pulumi:"storageConfigs"` // Key-value map of resource tags. Tags map[string]string `pulumi:"tags"` - // (Optional) Configuration block for the support policy to use for the cluster. + // Configuration block for the support policy to use for the cluster. UpgradePolicies []GetClusterUpgradePolicy `pulumi:"upgradePolicies"` // Kubernetes server version for the cluster. Version string `pulumi:"version"` @@ -168,6 +173,11 @@ func (o LookupClusterResultOutput) ClusterId() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterResult) string { return v.ClusterId }).(pulumi.StringOutput) } +// Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster. +func (o LookupClusterResultOutput) ComputeConfigs() GetClusterComputeConfigArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []GetClusterComputeConfig { return v.ComputeConfigs }).(GetClusterComputeConfigArrayOutput) +} + // Unix epoch time stamp in seconds for when the cluster was created. func (o LookupClusterResultOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterResult) string { return v.CreatedAt }).(pulumi.StringOutput) @@ -212,6 +222,11 @@ func (o LookupClusterResultOutput) PlatformVersion() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterResult) string { return v.PlatformVersion }).(pulumi.StringOutput) } +// Contains remote network configuration for EKS Hybrid Nodes. +func (o LookupClusterResultOutput) RemoteNetworkConfigs() GetClusterRemoteNetworkConfigArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []GetClusterRemoteNetworkConfig { return v.RemoteNetworkConfigs }).(GetClusterRemoteNetworkConfigArrayOutput) +} + // ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. func (o LookupClusterResultOutput) RoleArn() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterResult) string { return v.RoleArn }).(pulumi.StringOutput) @@ -222,12 +237,17 @@ func (o LookupClusterResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterResult) string { return v.Status }).(pulumi.StringOutput) } +// Contains storage configuration for EKS Auto Mode enabled cluster. +func (o LookupClusterResultOutput) StorageConfigs() GetClusterStorageConfigArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []GetClusterStorageConfig { return v.StorageConfigs }).(GetClusterStorageConfigArrayOutput) +} + // Key-value map of resource tags. func (o LookupClusterResultOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v LookupClusterResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// (Optional) Configuration block for the support policy to use for the cluster. +// Configuration block for the support policy to use for the cluster. func (o LookupClusterResultOutput) UpgradePolicies() GetClusterUpgradePolicyArrayOutput { return o.ApplyT(func(v LookupClusterResult) []GetClusterUpgradePolicy { return v.UpgradePolicies }).(GetClusterUpgradePolicyArrayOutput) } diff --git a/sdk/go/aws/eks/pulumiTypes.go b/sdk/go/aws/eks/pulumiTypes.go index 29959e41ccc..61d37eb4166 100644 --- a/sdk/go/aws/eks/pulumiTypes.go +++ b/sdk/go/aws/eks/pulumiTypes.go @@ -613,6 +613,181 @@ func (o ClusterCertificateAuthorityArrayOutput) Index(i pulumi.IntInput) Cluster }).(ClusterCertificateAuthorityOutput) } +type ClusterComputeConfig struct { + // Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + Enabled *bool `pulumi:"enabled"` + // Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + NodePools []string `pulumi:"nodePools"` + // The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + NodeRoleArn *string `pulumi:"nodeRoleArn"` +} + +// ClusterComputeConfigInput is an input type that accepts ClusterComputeConfigArgs and ClusterComputeConfigOutput values. +// You can construct a concrete instance of `ClusterComputeConfigInput` via: +// +// ClusterComputeConfigArgs{...} +type ClusterComputeConfigInput interface { + pulumi.Input + + ToClusterComputeConfigOutput() ClusterComputeConfigOutput + ToClusterComputeConfigOutputWithContext(context.Context) ClusterComputeConfigOutput +} + +type ClusterComputeConfigArgs struct { + // Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + NodePools pulumi.StringArrayInput `pulumi:"nodePools"` + // The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + NodeRoleArn pulumi.StringPtrInput `pulumi:"nodeRoleArn"` +} + +func (ClusterComputeConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterComputeConfig)(nil)).Elem() +} + +func (i ClusterComputeConfigArgs) ToClusterComputeConfigOutput() ClusterComputeConfigOutput { + return i.ToClusterComputeConfigOutputWithContext(context.Background()) +} + +func (i ClusterComputeConfigArgs) ToClusterComputeConfigOutputWithContext(ctx context.Context) ClusterComputeConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterComputeConfigOutput) +} + +func (i ClusterComputeConfigArgs) ToClusterComputeConfigPtrOutput() ClusterComputeConfigPtrOutput { + return i.ToClusterComputeConfigPtrOutputWithContext(context.Background()) +} + +func (i ClusterComputeConfigArgs) ToClusterComputeConfigPtrOutputWithContext(ctx context.Context) ClusterComputeConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterComputeConfigOutput).ToClusterComputeConfigPtrOutputWithContext(ctx) +} + +// ClusterComputeConfigPtrInput is an input type that accepts ClusterComputeConfigArgs, ClusterComputeConfigPtr and ClusterComputeConfigPtrOutput values. +// You can construct a concrete instance of `ClusterComputeConfigPtrInput` via: +// +// ClusterComputeConfigArgs{...} +// +// or: +// +// nil +type ClusterComputeConfigPtrInput interface { + pulumi.Input + + ToClusterComputeConfigPtrOutput() ClusterComputeConfigPtrOutput + ToClusterComputeConfigPtrOutputWithContext(context.Context) ClusterComputeConfigPtrOutput +} + +type clusterComputeConfigPtrType ClusterComputeConfigArgs + +func ClusterComputeConfigPtr(v *ClusterComputeConfigArgs) ClusterComputeConfigPtrInput { + return (*clusterComputeConfigPtrType)(v) +} + +func (*clusterComputeConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterComputeConfig)(nil)).Elem() +} + +func (i *clusterComputeConfigPtrType) ToClusterComputeConfigPtrOutput() ClusterComputeConfigPtrOutput { + return i.ToClusterComputeConfigPtrOutputWithContext(context.Background()) +} + +func (i *clusterComputeConfigPtrType) ToClusterComputeConfigPtrOutputWithContext(ctx context.Context) ClusterComputeConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterComputeConfigPtrOutput) +} + +type ClusterComputeConfigOutput struct{ *pulumi.OutputState } + +func (ClusterComputeConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterComputeConfig)(nil)).Elem() +} + +func (o ClusterComputeConfigOutput) ToClusterComputeConfigOutput() ClusterComputeConfigOutput { + return o +} + +func (o ClusterComputeConfigOutput) ToClusterComputeConfigOutputWithContext(ctx context.Context) ClusterComputeConfigOutput { + return o +} + +func (o ClusterComputeConfigOutput) ToClusterComputeConfigPtrOutput() ClusterComputeConfigPtrOutput { + return o.ToClusterComputeConfigPtrOutputWithContext(context.Background()) +} + +func (o ClusterComputeConfigOutput) ToClusterComputeConfigPtrOutputWithContext(ctx context.Context) ClusterComputeConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterComputeConfig) *ClusterComputeConfig { + return &v + }).(ClusterComputeConfigPtrOutput) +} + +// Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. +func (o ClusterComputeConfigOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterComputeConfig) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. +func (o ClusterComputeConfigOutput) NodePools() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterComputeConfig) []string { return v.NodePools }).(pulumi.StringArrayOutput) +} + +// The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. +func (o ClusterComputeConfigOutput) NodeRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterComputeConfig) *string { return v.NodeRoleArn }).(pulumi.StringPtrOutput) +} + +type ClusterComputeConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterComputeConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterComputeConfig)(nil)).Elem() +} + +func (o ClusterComputeConfigPtrOutput) ToClusterComputeConfigPtrOutput() ClusterComputeConfigPtrOutput { + return o +} + +func (o ClusterComputeConfigPtrOutput) ToClusterComputeConfigPtrOutputWithContext(ctx context.Context) ClusterComputeConfigPtrOutput { + return o +} + +func (o ClusterComputeConfigPtrOutput) Elem() ClusterComputeConfigOutput { + return o.ApplyT(func(v *ClusterComputeConfig) ClusterComputeConfig { + if v != nil { + return *v + } + var ret ClusterComputeConfig + return ret + }).(ClusterComputeConfigOutput) +} + +// Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. +func (o ClusterComputeConfigPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterComputeConfig) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. +func (o ClusterComputeConfigPtrOutput) NodePools() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterComputeConfig) []string { + if v == nil { + return nil + } + return v.NodePools + }).(pulumi.StringArrayOutput) +} + +// The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. +func (o ClusterComputeConfigPtrOutput) NodeRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterComputeConfig) *string { + if v == nil { + return nil + } + return v.NodeRoleArn + }).(pulumi.StringPtrOutput) +} + type ClusterEncryptionConfig struct { // Configuration block with provider for encryption. Detailed below. Provider ClusterEncryptionConfigProvider `pulumi:"provider"` @@ -1101,6 +1276,8 @@ func (o ClusterIdentityOidcArrayOutput) Index(i pulumi.IntInput) ClusterIdentity } type ClusterKubernetesNetworkConfig struct { + // Configuration block with elastic load balancing configuration for the cluster. Detailed below. + ElasticLoadBalancing *ClusterKubernetesNetworkConfigElasticLoadBalancing `pulumi:"elasticLoadBalancing"` // The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. IpFamily *string `pulumi:"ipFamily"` // The CIDR block to assign Kubernetes pod and service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements: @@ -1111,7 +1288,7 @@ type ClusterKubernetesNetworkConfig struct { // // * Between /24 and /12. ServiceIpv4Cidr *string `pulumi:"serviceIpv4Cidr"` - // The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + // The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ipFamily` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. ServiceIpv6Cidr *string `pulumi:"serviceIpv6Cidr"` } @@ -1127,6 +1304,8 @@ type ClusterKubernetesNetworkConfigInput interface { } type ClusterKubernetesNetworkConfigArgs struct { + // Configuration block with elastic load balancing configuration for the cluster. Detailed below. + ElasticLoadBalancing ClusterKubernetesNetworkConfigElasticLoadBalancingPtrInput `pulumi:"elasticLoadBalancing"` // The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. IpFamily pulumi.StringPtrInput `pulumi:"ipFamily"` // The CIDR block to assign Kubernetes pod and service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements: @@ -1137,7 +1316,7 @@ type ClusterKubernetesNetworkConfigArgs struct { // // * Between /24 and /12. ServiceIpv4Cidr pulumi.StringPtrInput `pulumi:"serviceIpv4Cidr"` - // The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + // The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ipFamily` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. ServiceIpv6Cidr pulumi.StringPtrInput `pulumi:"serviceIpv6Cidr"` } @@ -1218,6 +1397,13 @@ func (o ClusterKubernetesNetworkConfigOutput) ToClusterKubernetesNetworkConfigPt }).(ClusterKubernetesNetworkConfigPtrOutput) } +// Configuration block with elastic load balancing configuration for the cluster. Detailed below. +func (o ClusterKubernetesNetworkConfigOutput) ElasticLoadBalancing() ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return o.ApplyT(func(v ClusterKubernetesNetworkConfig) *ClusterKubernetesNetworkConfigElasticLoadBalancing { + return v.ElasticLoadBalancing + }).(ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) +} + // The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. func (o ClusterKubernetesNetworkConfigOutput) IpFamily() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterKubernetesNetworkConfig) *string { return v.IpFamily }).(pulumi.StringPtrOutput) @@ -1234,7 +1420,7 @@ func (o ClusterKubernetesNetworkConfigOutput) ServiceIpv4Cidr() pulumi.StringPtr return o.ApplyT(func(v ClusterKubernetesNetworkConfig) *string { return v.ServiceIpv4Cidr }).(pulumi.StringPtrOutput) } -// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. +// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ipFamily` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. func (o ClusterKubernetesNetworkConfigOutput) ServiceIpv6Cidr() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterKubernetesNetworkConfig) *string { return v.ServiceIpv6Cidr }).(pulumi.StringPtrOutput) } @@ -1263,6 +1449,16 @@ func (o ClusterKubernetesNetworkConfigPtrOutput) Elem() ClusterKubernetesNetwork }).(ClusterKubernetesNetworkConfigOutput) } +// Configuration block with elastic load balancing configuration for the cluster. Detailed below. +func (o ClusterKubernetesNetworkConfigPtrOutput) ElasticLoadBalancing() ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return o.ApplyT(func(v *ClusterKubernetesNetworkConfig) *ClusterKubernetesNetworkConfigElasticLoadBalancing { + if v == nil { + return nil + } + return v.ElasticLoadBalancing + }).(ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) +} + // The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. func (o ClusterKubernetesNetworkConfigPtrOutput) IpFamily() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterKubernetesNetworkConfig) *string { @@ -1289,7 +1485,7 @@ func (o ClusterKubernetesNetworkConfigPtrOutput) ServiceIpv4Cidr() pulumi.String }).(pulumi.StringPtrOutput) } -// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. +// The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ipFamily` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. func (o ClusterKubernetesNetworkConfigPtrOutput) ServiceIpv6Cidr() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterKubernetesNetworkConfig) *string { if v == nil { @@ -1299,6 +1495,143 @@ func (o ClusterKubernetesNetworkConfigPtrOutput) ServiceIpv6Cidr() pulumi.String }).(pulumi.StringPtrOutput) } +type ClusterKubernetesNetworkConfigElasticLoadBalancing struct { + // Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + Enabled *bool `pulumi:"enabled"` +} + +// ClusterKubernetesNetworkConfigElasticLoadBalancingInput is an input type that accepts ClusterKubernetesNetworkConfigElasticLoadBalancingArgs and ClusterKubernetesNetworkConfigElasticLoadBalancingOutput values. +// You can construct a concrete instance of `ClusterKubernetesNetworkConfigElasticLoadBalancingInput` via: +// +// ClusterKubernetesNetworkConfigElasticLoadBalancingArgs{...} +type ClusterKubernetesNetworkConfigElasticLoadBalancingInput interface { + pulumi.Input + + ToClusterKubernetesNetworkConfigElasticLoadBalancingOutput() ClusterKubernetesNetworkConfigElasticLoadBalancingOutput + ToClusterKubernetesNetworkConfigElasticLoadBalancingOutputWithContext(context.Context) ClusterKubernetesNetworkConfigElasticLoadBalancingOutput +} + +type ClusterKubernetesNetworkConfigElasticLoadBalancingArgs struct { + // Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (ClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterKubernetesNetworkConfigElasticLoadBalancing)(nil)).Elem() +} + +func (i ClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ToClusterKubernetesNetworkConfigElasticLoadBalancingOutput() ClusterKubernetesNetworkConfigElasticLoadBalancingOutput { + return i.ToClusterKubernetesNetworkConfigElasticLoadBalancingOutputWithContext(context.Background()) +} + +func (i ClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ToClusterKubernetesNetworkConfigElasticLoadBalancingOutputWithContext(ctx context.Context) ClusterKubernetesNetworkConfigElasticLoadBalancingOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterKubernetesNetworkConfigElasticLoadBalancingOutput) +} + +func (i ClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput() ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return i.ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(context.Background()) +} + +func (i ClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(ctx context.Context) ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterKubernetesNetworkConfigElasticLoadBalancingOutput).ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(ctx) +} + +// ClusterKubernetesNetworkConfigElasticLoadBalancingPtrInput is an input type that accepts ClusterKubernetesNetworkConfigElasticLoadBalancingArgs, ClusterKubernetesNetworkConfigElasticLoadBalancingPtr and ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput values. +// You can construct a concrete instance of `ClusterKubernetesNetworkConfigElasticLoadBalancingPtrInput` via: +// +// ClusterKubernetesNetworkConfigElasticLoadBalancingArgs{...} +// +// or: +// +// nil +type ClusterKubernetesNetworkConfigElasticLoadBalancingPtrInput interface { + pulumi.Input + + ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput() ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput + ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(context.Context) ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput +} + +type clusterKubernetesNetworkConfigElasticLoadBalancingPtrType ClusterKubernetesNetworkConfigElasticLoadBalancingArgs + +func ClusterKubernetesNetworkConfigElasticLoadBalancingPtr(v *ClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ClusterKubernetesNetworkConfigElasticLoadBalancingPtrInput { + return (*clusterKubernetesNetworkConfigElasticLoadBalancingPtrType)(v) +} + +func (*clusterKubernetesNetworkConfigElasticLoadBalancingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterKubernetesNetworkConfigElasticLoadBalancing)(nil)).Elem() +} + +func (i *clusterKubernetesNetworkConfigElasticLoadBalancingPtrType) ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput() ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return i.ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(context.Background()) +} + +func (i *clusterKubernetesNetworkConfigElasticLoadBalancingPtrType) ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(ctx context.Context) ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) +} + +type ClusterKubernetesNetworkConfigElasticLoadBalancingOutput struct{ *pulumi.OutputState } + +func (ClusterKubernetesNetworkConfigElasticLoadBalancingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterKubernetesNetworkConfigElasticLoadBalancing)(nil)).Elem() +} + +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingOutput) ToClusterKubernetesNetworkConfigElasticLoadBalancingOutput() ClusterKubernetesNetworkConfigElasticLoadBalancingOutput { + return o +} + +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingOutput) ToClusterKubernetesNetworkConfigElasticLoadBalancingOutputWithContext(ctx context.Context) ClusterKubernetesNetworkConfigElasticLoadBalancingOutput { + return o +} + +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingOutput) ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput() ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return o.ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(context.Background()) +} + +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingOutput) ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(ctx context.Context) ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterKubernetesNetworkConfigElasticLoadBalancing) *ClusterKubernetesNetworkConfigElasticLoadBalancing { + return &v + }).(ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) +} + +// Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterKubernetesNetworkConfigElasticLoadBalancing) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput struct{ *pulumi.OutputState } + +func (ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterKubernetesNetworkConfigElasticLoadBalancing)(nil)).Elem() +} + +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput() ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return o +} + +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) ToClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutputWithContext(ctx context.Context) ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput { + return o +} + +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) Elem() ClusterKubernetesNetworkConfigElasticLoadBalancingOutput { + return o.ApplyT(func(v *ClusterKubernetesNetworkConfigElasticLoadBalancing) ClusterKubernetesNetworkConfigElasticLoadBalancing { + if v != nil { + return *v + } + var ret ClusterKubernetesNetworkConfigElasticLoadBalancing + return ret + }).(ClusterKubernetesNetworkConfigElasticLoadBalancingOutput) +} + +// Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. +func (o ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterKubernetesNetworkConfigElasticLoadBalancing) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + type ClusterOutpostConfig struct { // The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts. The instance type that you specify is used for all Kubernetes control plane instances. The instance type can't be changed after cluster creation. Choose an instance type based on the number of nodes that your cluster will have. If your cluster will have: // @@ -1649,2727 +1982,4148 @@ func (o ClusterOutpostConfigControlPlanePlacementPtrOutput) GroupName() pulumi.S }).(pulumi.StringPtrOutput) } -type ClusterUpgradePolicy struct { - // Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` - SupportType *string `pulumi:"supportType"` +type ClusterRemoteNetworkConfig struct { + // Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + RemoteNodeNetworks ClusterRemoteNetworkConfigRemoteNodeNetworks `pulumi:"remoteNodeNetworks"` + // Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + RemotePodNetworks *ClusterRemoteNetworkConfigRemotePodNetworks `pulumi:"remotePodNetworks"` } -// ClusterUpgradePolicyInput is an input type that accepts ClusterUpgradePolicyArgs and ClusterUpgradePolicyOutput values. -// You can construct a concrete instance of `ClusterUpgradePolicyInput` via: +// ClusterRemoteNetworkConfigInput is an input type that accepts ClusterRemoteNetworkConfigArgs and ClusterRemoteNetworkConfigOutput values. +// You can construct a concrete instance of `ClusterRemoteNetworkConfigInput` via: // -// ClusterUpgradePolicyArgs{...} -type ClusterUpgradePolicyInput interface { +// ClusterRemoteNetworkConfigArgs{...} +type ClusterRemoteNetworkConfigInput interface { pulumi.Input - ToClusterUpgradePolicyOutput() ClusterUpgradePolicyOutput - ToClusterUpgradePolicyOutputWithContext(context.Context) ClusterUpgradePolicyOutput + ToClusterRemoteNetworkConfigOutput() ClusterRemoteNetworkConfigOutput + ToClusterRemoteNetworkConfigOutputWithContext(context.Context) ClusterRemoteNetworkConfigOutput } -type ClusterUpgradePolicyArgs struct { - // Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` - SupportType pulumi.StringPtrInput `pulumi:"supportType"` +type ClusterRemoteNetworkConfigArgs struct { + // Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + RemoteNodeNetworks ClusterRemoteNetworkConfigRemoteNodeNetworksInput `pulumi:"remoteNodeNetworks"` + // Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + RemotePodNetworks ClusterRemoteNetworkConfigRemotePodNetworksPtrInput `pulumi:"remotePodNetworks"` } -func (ClusterUpgradePolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterUpgradePolicy)(nil)).Elem() +func (ClusterRemoteNetworkConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterRemoteNetworkConfig)(nil)).Elem() } -func (i ClusterUpgradePolicyArgs) ToClusterUpgradePolicyOutput() ClusterUpgradePolicyOutput { - return i.ToClusterUpgradePolicyOutputWithContext(context.Background()) +func (i ClusterRemoteNetworkConfigArgs) ToClusterRemoteNetworkConfigOutput() ClusterRemoteNetworkConfigOutput { + return i.ToClusterRemoteNetworkConfigOutputWithContext(context.Background()) } -func (i ClusterUpgradePolicyArgs) ToClusterUpgradePolicyOutputWithContext(ctx context.Context) ClusterUpgradePolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradePolicyOutput) +func (i ClusterRemoteNetworkConfigArgs) ToClusterRemoteNetworkConfigOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigOutput) } -func (i ClusterUpgradePolicyArgs) ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput { - return i.ToClusterUpgradePolicyPtrOutputWithContext(context.Background()) +func (i ClusterRemoteNetworkConfigArgs) ToClusterRemoteNetworkConfigPtrOutput() ClusterRemoteNetworkConfigPtrOutput { + return i.ToClusterRemoteNetworkConfigPtrOutputWithContext(context.Background()) } -func (i ClusterUpgradePolicyArgs) ToClusterUpgradePolicyPtrOutputWithContext(ctx context.Context) ClusterUpgradePolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradePolicyOutput).ToClusterUpgradePolicyPtrOutputWithContext(ctx) +func (i ClusterRemoteNetworkConfigArgs) ToClusterRemoteNetworkConfigPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigOutput).ToClusterRemoteNetworkConfigPtrOutputWithContext(ctx) } -// ClusterUpgradePolicyPtrInput is an input type that accepts ClusterUpgradePolicyArgs, ClusterUpgradePolicyPtr and ClusterUpgradePolicyPtrOutput values. -// You can construct a concrete instance of `ClusterUpgradePolicyPtrInput` via: +// ClusterRemoteNetworkConfigPtrInput is an input type that accepts ClusterRemoteNetworkConfigArgs, ClusterRemoteNetworkConfigPtr and ClusterRemoteNetworkConfigPtrOutput values. +// You can construct a concrete instance of `ClusterRemoteNetworkConfigPtrInput` via: // -// ClusterUpgradePolicyArgs{...} +// ClusterRemoteNetworkConfigArgs{...} // // or: // // nil -type ClusterUpgradePolicyPtrInput interface { +type ClusterRemoteNetworkConfigPtrInput interface { pulumi.Input - ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput - ToClusterUpgradePolicyPtrOutputWithContext(context.Context) ClusterUpgradePolicyPtrOutput + ToClusterRemoteNetworkConfigPtrOutput() ClusterRemoteNetworkConfigPtrOutput + ToClusterRemoteNetworkConfigPtrOutputWithContext(context.Context) ClusterRemoteNetworkConfigPtrOutput } -type clusterUpgradePolicyPtrType ClusterUpgradePolicyArgs +type clusterRemoteNetworkConfigPtrType ClusterRemoteNetworkConfigArgs -func ClusterUpgradePolicyPtr(v *ClusterUpgradePolicyArgs) ClusterUpgradePolicyPtrInput { - return (*clusterUpgradePolicyPtrType)(v) +func ClusterRemoteNetworkConfigPtr(v *ClusterRemoteNetworkConfigArgs) ClusterRemoteNetworkConfigPtrInput { + return (*clusterRemoteNetworkConfigPtrType)(v) } -func (*clusterUpgradePolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterUpgradePolicy)(nil)).Elem() +func (*clusterRemoteNetworkConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterRemoteNetworkConfig)(nil)).Elem() } -func (i *clusterUpgradePolicyPtrType) ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput { - return i.ToClusterUpgradePolicyPtrOutputWithContext(context.Background()) +func (i *clusterRemoteNetworkConfigPtrType) ToClusterRemoteNetworkConfigPtrOutput() ClusterRemoteNetworkConfigPtrOutput { + return i.ToClusterRemoteNetworkConfigPtrOutputWithContext(context.Background()) } -func (i *clusterUpgradePolicyPtrType) ToClusterUpgradePolicyPtrOutputWithContext(ctx context.Context) ClusterUpgradePolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradePolicyPtrOutput) +func (i *clusterRemoteNetworkConfigPtrType) ToClusterRemoteNetworkConfigPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigPtrOutput) } -type ClusterUpgradePolicyOutput struct{ *pulumi.OutputState } +type ClusterRemoteNetworkConfigOutput struct{ *pulumi.OutputState } -func (ClusterUpgradePolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterUpgradePolicy)(nil)).Elem() +func (ClusterRemoteNetworkConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterRemoteNetworkConfig)(nil)).Elem() } -func (o ClusterUpgradePolicyOutput) ToClusterUpgradePolicyOutput() ClusterUpgradePolicyOutput { +func (o ClusterRemoteNetworkConfigOutput) ToClusterRemoteNetworkConfigOutput() ClusterRemoteNetworkConfigOutput { return o } -func (o ClusterUpgradePolicyOutput) ToClusterUpgradePolicyOutputWithContext(ctx context.Context) ClusterUpgradePolicyOutput { +func (o ClusterRemoteNetworkConfigOutput) ToClusterRemoteNetworkConfigOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigOutput { return o } -func (o ClusterUpgradePolicyOutput) ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput { - return o.ToClusterUpgradePolicyPtrOutputWithContext(context.Background()) +func (o ClusterRemoteNetworkConfigOutput) ToClusterRemoteNetworkConfigPtrOutput() ClusterRemoteNetworkConfigPtrOutput { + return o.ToClusterRemoteNetworkConfigPtrOutputWithContext(context.Background()) } -func (o ClusterUpgradePolicyOutput) ToClusterUpgradePolicyPtrOutputWithContext(ctx context.Context) ClusterUpgradePolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterUpgradePolicy) *ClusterUpgradePolicy { +func (o ClusterRemoteNetworkConfigOutput) ToClusterRemoteNetworkConfigPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterRemoteNetworkConfig) *ClusterRemoteNetworkConfig { return &v - }).(ClusterUpgradePolicyPtrOutput) + }).(ClusterRemoteNetworkConfigPtrOutput) } -// Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` -func (o ClusterUpgradePolicyOutput) SupportType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterUpgradePolicy) *string { return v.SupportType }).(pulumi.StringPtrOutput) +// Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. +func (o ClusterRemoteNetworkConfigOutput) RemoteNodeNetworks() ClusterRemoteNetworkConfigRemoteNodeNetworksOutput { + return o.ApplyT(func(v ClusterRemoteNetworkConfig) ClusterRemoteNetworkConfigRemoteNodeNetworks { + return v.RemoteNodeNetworks + }).(ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) } -type ClusterUpgradePolicyPtrOutput struct{ *pulumi.OutputState } +// Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. +func (o ClusterRemoteNetworkConfigOutput) RemotePodNetworks() ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { + return o.ApplyT(func(v ClusterRemoteNetworkConfig) *ClusterRemoteNetworkConfigRemotePodNetworks { + return v.RemotePodNetworks + }).(ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) +} -func (ClusterUpgradePolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterUpgradePolicy)(nil)).Elem() +type ClusterRemoteNetworkConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterRemoteNetworkConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterRemoteNetworkConfig)(nil)).Elem() } -func (o ClusterUpgradePolicyPtrOutput) ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput { +func (o ClusterRemoteNetworkConfigPtrOutput) ToClusterRemoteNetworkConfigPtrOutput() ClusterRemoteNetworkConfigPtrOutput { return o } -func (o ClusterUpgradePolicyPtrOutput) ToClusterUpgradePolicyPtrOutputWithContext(ctx context.Context) ClusterUpgradePolicyPtrOutput { +func (o ClusterRemoteNetworkConfigPtrOutput) ToClusterRemoteNetworkConfigPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigPtrOutput { return o } -func (o ClusterUpgradePolicyPtrOutput) Elem() ClusterUpgradePolicyOutput { - return o.ApplyT(func(v *ClusterUpgradePolicy) ClusterUpgradePolicy { +func (o ClusterRemoteNetworkConfigPtrOutput) Elem() ClusterRemoteNetworkConfigOutput { + return o.ApplyT(func(v *ClusterRemoteNetworkConfig) ClusterRemoteNetworkConfig { if v != nil { return *v } - var ret ClusterUpgradePolicy + var ret ClusterRemoteNetworkConfig return ret - }).(ClusterUpgradePolicyOutput) + }).(ClusterRemoteNetworkConfigOutput) } -// Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` -func (o ClusterUpgradePolicyPtrOutput) SupportType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterUpgradePolicy) *string { +// Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. +func (o ClusterRemoteNetworkConfigPtrOutput) RemoteNodeNetworks() ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { + return o.ApplyT(func(v *ClusterRemoteNetworkConfig) *ClusterRemoteNetworkConfigRemoteNodeNetworks { if v == nil { return nil } - return v.SupportType - }).(pulumi.StringPtrOutput) + return &v.RemoteNodeNetworks + }).(ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput) } -type ClusterVpcConfig struct { - // Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. - ClusterSecurityGroupId *string `pulumi:"clusterSecurityGroupId"` - // Whether the Amazon EKS private API server endpoint is enabled. Default is `false`. - EndpointPrivateAccess *bool `pulumi:"endpointPrivateAccess"` - // Whether the Amazon EKS public API server endpoint is enabled. Default is `true`. - EndpointPublicAccess *bool `pulumi:"endpointPublicAccess"` - // List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with `0.0.0.0/0`. The provider will only perform drift detection of its value when present in a configuration. - PublicAccessCidrs []string `pulumi:"publicAccessCidrs"` - // List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. - SecurityGroupIds []string `pulumi:"securityGroupIds"` - // List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. - SubnetIds []string `pulumi:"subnetIds"` - // ID of the VPC associated with your cluster. - VpcId *string `pulumi:"vpcId"` +// Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. +func (o ClusterRemoteNetworkConfigPtrOutput) RemotePodNetworks() ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { + return o.ApplyT(func(v *ClusterRemoteNetworkConfig) *ClusterRemoteNetworkConfigRemotePodNetworks { + if v == nil { + return nil + } + return v.RemotePodNetworks + }).(ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) } -// ClusterVpcConfigInput is an input type that accepts ClusterVpcConfigArgs and ClusterVpcConfigOutput values. -// You can construct a concrete instance of `ClusterVpcConfigInput` via: +type ClusterRemoteNetworkConfigRemoteNodeNetworks struct { + // List of network CIDRs that can contain hybrid nodes. + Cidrs []string `pulumi:"cidrs"` +} + +// ClusterRemoteNetworkConfigRemoteNodeNetworksInput is an input type that accepts ClusterRemoteNetworkConfigRemoteNodeNetworksArgs and ClusterRemoteNetworkConfigRemoteNodeNetworksOutput values. +// You can construct a concrete instance of `ClusterRemoteNetworkConfigRemoteNodeNetworksInput` via: // -// ClusterVpcConfigArgs{...} -type ClusterVpcConfigInput interface { +// ClusterRemoteNetworkConfigRemoteNodeNetworksArgs{...} +type ClusterRemoteNetworkConfigRemoteNodeNetworksInput interface { pulumi.Input - ToClusterVpcConfigOutput() ClusterVpcConfigOutput - ToClusterVpcConfigOutputWithContext(context.Context) ClusterVpcConfigOutput + ToClusterRemoteNetworkConfigRemoteNodeNetworksOutput() ClusterRemoteNetworkConfigRemoteNodeNetworksOutput + ToClusterRemoteNetworkConfigRemoteNodeNetworksOutputWithContext(context.Context) ClusterRemoteNetworkConfigRemoteNodeNetworksOutput } -type ClusterVpcConfigArgs struct { - // Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. - ClusterSecurityGroupId pulumi.StringPtrInput `pulumi:"clusterSecurityGroupId"` - // Whether the Amazon EKS private API server endpoint is enabled. Default is `false`. - EndpointPrivateAccess pulumi.BoolPtrInput `pulumi:"endpointPrivateAccess"` - // Whether the Amazon EKS public API server endpoint is enabled. Default is `true`. - EndpointPublicAccess pulumi.BoolPtrInput `pulumi:"endpointPublicAccess"` - // List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with `0.0.0.0/0`. The provider will only perform drift detection of its value when present in a configuration. - PublicAccessCidrs pulumi.StringArrayInput `pulumi:"publicAccessCidrs"` - // List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. - SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` - // List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. - SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` - // ID of the VPC associated with your cluster. - VpcId pulumi.StringPtrInput `pulumi:"vpcId"` +type ClusterRemoteNetworkConfigRemoteNodeNetworksArgs struct { + // List of network CIDRs that can contain hybrid nodes. + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` } -func (ClusterVpcConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterVpcConfig)(nil)).Elem() +func (ClusterRemoteNetworkConfigRemoteNodeNetworksArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterRemoteNetworkConfigRemoteNodeNetworks)(nil)).Elem() } -func (i ClusterVpcConfigArgs) ToClusterVpcConfigOutput() ClusterVpcConfigOutput { - return i.ToClusterVpcConfigOutputWithContext(context.Background()) +func (i ClusterRemoteNetworkConfigRemoteNodeNetworksArgs) ToClusterRemoteNetworkConfigRemoteNodeNetworksOutput() ClusterRemoteNetworkConfigRemoteNodeNetworksOutput { + return i.ToClusterRemoteNetworkConfigRemoteNodeNetworksOutputWithContext(context.Background()) } -func (i ClusterVpcConfigArgs) ToClusterVpcConfigOutputWithContext(ctx context.Context) ClusterVpcConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigOutput) +func (i ClusterRemoteNetworkConfigRemoteNodeNetworksArgs) ToClusterRemoteNetworkConfigRemoteNodeNetworksOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemoteNodeNetworksOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) } -func (i ClusterVpcConfigArgs) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { - return i.ToClusterVpcConfigPtrOutputWithContext(context.Background()) +func (i ClusterRemoteNetworkConfigRemoteNodeNetworksArgs) ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput() ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { + return i.ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(context.Background()) } -func (i ClusterVpcConfigArgs) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigOutput).ToClusterVpcConfigPtrOutputWithContext(ctx) +func (i ClusterRemoteNetworkConfigRemoteNodeNetworksArgs) ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigRemoteNodeNetworksOutput).ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(ctx) } -// ClusterVpcConfigPtrInput is an input type that accepts ClusterVpcConfigArgs, ClusterVpcConfigPtr and ClusterVpcConfigPtrOutput values. -// You can construct a concrete instance of `ClusterVpcConfigPtrInput` via: +// ClusterRemoteNetworkConfigRemoteNodeNetworksPtrInput is an input type that accepts ClusterRemoteNetworkConfigRemoteNodeNetworksArgs, ClusterRemoteNetworkConfigRemoteNodeNetworksPtr and ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput values. +// You can construct a concrete instance of `ClusterRemoteNetworkConfigRemoteNodeNetworksPtrInput` via: // -// ClusterVpcConfigArgs{...} +// ClusterRemoteNetworkConfigRemoteNodeNetworksArgs{...} // // or: // // nil -type ClusterVpcConfigPtrInput interface { +type ClusterRemoteNetworkConfigRemoteNodeNetworksPtrInput interface { pulumi.Input - ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput - ToClusterVpcConfigPtrOutputWithContext(context.Context) ClusterVpcConfigPtrOutput + ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput() ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput + ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(context.Context) ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput } -type clusterVpcConfigPtrType ClusterVpcConfigArgs +type clusterRemoteNetworkConfigRemoteNodeNetworksPtrType ClusterRemoteNetworkConfigRemoteNodeNetworksArgs -func ClusterVpcConfigPtr(v *ClusterVpcConfigArgs) ClusterVpcConfigPtrInput { - return (*clusterVpcConfigPtrType)(v) +func ClusterRemoteNetworkConfigRemoteNodeNetworksPtr(v *ClusterRemoteNetworkConfigRemoteNodeNetworksArgs) ClusterRemoteNetworkConfigRemoteNodeNetworksPtrInput { + return (*clusterRemoteNetworkConfigRemoteNodeNetworksPtrType)(v) } -func (*clusterVpcConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterVpcConfig)(nil)).Elem() +func (*clusterRemoteNetworkConfigRemoteNodeNetworksPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterRemoteNetworkConfigRemoteNodeNetworks)(nil)).Elem() } -func (i *clusterVpcConfigPtrType) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { - return i.ToClusterVpcConfigPtrOutputWithContext(context.Background()) +func (i *clusterRemoteNetworkConfigRemoteNodeNetworksPtrType) ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput() ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { + return i.ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(context.Background()) } -func (i *clusterVpcConfigPtrType) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigPtrOutput) +func (i *clusterRemoteNetworkConfigRemoteNodeNetworksPtrType) ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput) } -type ClusterVpcConfigOutput struct{ *pulumi.OutputState } +type ClusterRemoteNetworkConfigRemoteNodeNetworksOutput struct{ *pulumi.OutputState } -func (ClusterVpcConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterVpcConfig)(nil)).Elem() +func (ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterRemoteNetworkConfigRemoteNodeNetworks)(nil)).Elem() } -func (o ClusterVpcConfigOutput) ToClusterVpcConfigOutput() ClusterVpcConfigOutput { +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) ToClusterRemoteNetworkConfigRemoteNodeNetworksOutput() ClusterRemoteNetworkConfigRemoteNodeNetworksOutput { return o } -func (o ClusterVpcConfigOutput) ToClusterVpcConfigOutputWithContext(ctx context.Context) ClusterVpcConfigOutput { +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) ToClusterRemoteNetworkConfigRemoteNodeNetworksOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemoteNodeNetworksOutput { return o } -func (o ClusterVpcConfigOutput) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { - return o.ToClusterVpcConfigPtrOutputWithContext(context.Background()) +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput() ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { + return o.ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(context.Background()) } -func (o ClusterVpcConfigOutput) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterVpcConfig) *ClusterVpcConfig { +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterRemoteNetworkConfigRemoteNodeNetworks) *ClusterRemoteNetworkConfigRemoteNodeNetworks { return &v - }).(ClusterVpcConfigPtrOutput) -} - -// Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. -func (o ClusterVpcConfigOutput) ClusterSecurityGroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterVpcConfig) *string { return v.ClusterSecurityGroupId }).(pulumi.StringPtrOutput) -} - -// Whether the Amazon EKS private API server endpoint is enabled. Default is `false`. -func (o ClusterVpcConfigOutput) EndpointPrivateAccess() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterVpcConfig) *bool { return v.EndpointPrivateAccess }).(pulumi.BoolPtrOutput) -} - -// Whether the Amazon EKS public API server endpoint is enabled. Default is `true`. -func (o ClusterVpcConfigOutput) EndpointPublicAccess() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterVpcConfig) *bool { return v.EndpointPublicAccess }).(pulumi.BoolPtrOutput) -} - -// List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with `0.0.0.0/0`. The provider will only perform drift detection of its value when present in a configuration. -func (o ClusterVpcConfigOutput) PublicAccessCidrs() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterVpcConfig) []string { return v.PublicAccessCidrs }).(pulumi.StringArrayOutput) -} - -// List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. -func (o ClusterVpcConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterVpcConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) + }).(ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput) } -// List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. -func (o ClusterVpcConfigOutput) SubnetIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v ClusterVpcConfig) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) -} - -// ID of the VPC associated with your cluster. -func (o ClusterVpcConfigOutput) VpcId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterVpcConfig) *string { return v.VpcId }).(pulumi.StringPtrOutput) +// List of network CIDRs that can contain hybrid nodes. +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterRemoteNetworkConfigRemoteNodeNetworks) []string { return v.Cidrs }).(pulumi.StringArrayOutput) } -type ClusterVpcConfigPtrOutput struct{ *pulumi.OutputState } +type ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput struct{ *pulumi.OutputState } -func (ClusterVpcConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterVpcConfig)(nil)).Elem() +func (ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterRemoteNetworkConfigRemoteNodeNetworks)(nil)).Elem() } -func (o ClusterVpcConfigPtrOutput) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput) ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput() ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { return o } -func (o ClusterVpcConfigPtrOutput) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput) ToClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput { return o } -func (o ClusterVpcConfigPtrOutput) Elem() ClusterVpcConfigOutput { - return o.ApplyT(func(v *ClusterVpcConfig) ClusterVpcConfig { +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput) Elem() ClusterRemoteNetworkConfigRemoteNodeNetworksOutput { + return o.ApplyT(func(v *ClusterRemoteNetworkConfigRemoteNodeNetworks) ClusterRemoteNetworkConfigRemoteNodeNetworks { if v != nil { return *v } - var ret ClusterVpcConfig + var ret ClusterRemoteNetworkConfigRemoteNodeNetworks return ret - }).(ClusterVpcConfigOutput) -} - -// Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. -func (o ClusterVpcConfigPtrOutput) ClusterSecurityGroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterVpcConfig) *string { - if v == nil { - return nil - } - return v.ClusterSecurityGroupId - }).(pulumi.StringPtrOutput) -} - -// Whether the Amazon EKS private API server endpoint is enabled. Default is `false`. -func (o ClusterVpcConfigPtrOutput) EndpointPrivateAccess() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterVpcConfig) *bool { - if v == nil { - return nil - } - return v.EndpointPrivateAccess - }).(pulumi.BoolPtrOutput) -} - -// Whether the Amazon EKS public API server endpoint is enabled. Default is `true`. -func (o ClusterVpcConfigPtrOutput) EndpointPublicAccess() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterVpcConfig) *bool { - if v == nil { - return nil - } - return v.EndpointPublicAccess - }).(pulumi.BoolPtrOutput) -} - -// List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with `0.0.0.0/0`. The provider will only perform drift detection of its value when present in a configuration. -func (o ClusterVpcConfigPtrOutput) PublicAccessCidrs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ClusterVpcConfig) []string { - if v == nil { - return nil - } - return v.PublicAccessCidrs - }).(pulumi.StringArrayOutput) -} - -// List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. -func (o ClusterVpcConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ClusterVpcConfig) []string { - if v == nil { - return nil - } - return v.SecurityGroupIds - }).(pulumi.StringArrayOutput) + }).(ClusterRemoteNetworkConfigRemoteNodeNetworksOutput) } -// List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. -func (o ClusterVpcConfigPtrOutput) SubnetIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ClusterVpcConfig) []string { +// List of network CIDRs that can contain hybrid nodes. +func (o ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterRemoteNetworkConfigRemoteNodeNetworks) []string { if v == nil { return nil } - return v.SubnetIds + return v.Cidrs }).(pulumi.StringArrayOutput) } -// ID of the VPC associated with your cluster. -func (o ClusterVpcConfigPtrOutput) VpcId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterVpcConfig) *string { - if v == nil { - return nil - } - return v.VpcId - }).(pulumi.StringPtrOutput) -} - -type ClusterZonalShiftConfig struct { - // Whether zonal shift is enabled for the cluster. - Enabled *bool `pulumi:"enabled"` +type ClusterRemoteNetworkConfigRemotePodNetworks struct { + // List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + Cidrs []string `pulumi:"cidrs"` } -// ClusterZonalShiftConfigInput is an input type that accepts ClusterZonalShiftConfigArgs and ClusterZonalShiftConfigOutput values. -// You can construct a concrete instance of `ClusterZonalShiftConfigInput` via: +// ClusterRemoteNetworkConfigRemotePodNetworksInput is an input type that accepts ClusterRemoteNetworkConfigRemotePodNetworksArgs and ClusterRemoteNetworkConfigRemotePodNetworksOutput values. +// You can construct a concrete instance of `ClusterRemoteNetworkConfigRemotePodNetworksInput` via: // -// ClusterZonalShiftConfigArgs{...} -type ClusterZonalShiftConfigInput interface { +// ClusterRemoteNetworkConfigRemotePodNetworksArgs{...} +type ClusterRemoteNetworkConfigRemotePodNetworksInput interface { pulumi.Input - ToClusterZonalShiftConfigOutput() ClusterZonalShiftConfigOutput - ToClusterZonalShiftConfigOutputWithContext(context.Context) ClusterZonalShiftConfigOutput + ToClusterRemoteNetworkConfigRemotePodNetworksOutput() ClusterRemoteNetworkConfigRemotePodNetworksOutput + ToClusterRemoteNetworkConfigRemotePodNetworksOutputWithContext(context.Context) ClusterRemoteNetworkConfigRemotePodNetworksOutput } -type ClusterZonalShiftConfigArgs struct { - // Whether zonal shift is enabled for the cluster. - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +type ClusterRemoteNetworkConfigRemotePodNetworksArgs struct { + // List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` } -func (ClusterZonalShiftConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterZonalShiftConfig)(nil)).Elem() +func (ClusterRemoteNetworkConfigRemotePodNetworksArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterRemoteNetworkConfigRemotePodNetworks)(nil)).Elem() } -func (i ClusterZonalShiftConfigArgs) ToClusterZonalShiftConfigOutput() ClusterZonalShiftConfigOutput { - return i.ToClusterZonalShiftConfigOutputWithContext(context.Background()) +func (i ClusterRemoteNetworkConfigRemotePodNetworksArgs) ToClusterRemoteNetworkConfigRemotePodNetworksOutput() ClusterRemoteNetworkConfigRemotePodNetworksOutput { + return i.ToClusterRemoteNetworkConfigRemotePodNetworksOutputWithContext(context.Background()) } -func (i ClusterZonalShiftConfigArgs) ToClusterZonalShiftConfigOutputWithContext(ctx context.Context) ClusterZonalShiftConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterZonalShiftConfigOutput) +func (i ClusterRemoteNetworkConfigRemotePodNetworksArgs) ToClusterRemoteNetworkConfigRemotePodNetworksOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemotePodNetworksOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigRemotePodNetworksOutput) } -func (i ClusterZonalShiftConfigArgs) ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput { - return i.ToClusterZonalShiftConfigPtrOutputWithContext(context.Background()) +func (i ClusterRemoteNetworkConfigRemotePodNetworksArgs) ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutput() ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { + return i.ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(context.Background()) } -func (i ClusterZonalShiftConfigArgs) ToClusterZonalShiftConfigPtrOutputWithContext(ctx context.Context) ClusterZonalShiftConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterZonalShiftConfigOutput).ToClusterZonalShiftConfigPtrOutputWithContext(ctx) +func (i ClusterRemoteNetworkConfigRemotePodNetworksArgs) ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigRemotePodNetworksOutput).ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(ctx) } -// ClusterZonalShiftConfigPtrInput is an input type that accepts ClusterZonalShiftConfigArgs, ClusterZonalShiftConfigPtr and ClusterZonalShiftConfigPtrOutput values. -// You can construct a concrete instance of `ClusterZonalShiftConfigPtrInput` via: +// ClusterRemoteNetworkConfigRemotePodNetworksPtrInput is an input type that accepts ClusterRemoteNetworkConfigRemotePodNetworksArgs, ClusterRemoteNetworkConfigRemotePodNetworksPtr and ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput values. +// You can construct a concrete instance of `ClusterRemoteNetworkConfigRemotePodNetworksPtrInput` via: // -// ClusterZonalShiftConfigArgs{...} +// ClusterRemoteNetworkConfigRemotePodNetworksArgs{...} // // or: // // nil -type ClusterZonalShiftConfigPtrInput interface { +type ClusterRemoteNetworkConfigRemotePodNetworksPtrInput interface { pulumi.Input - ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput - ToClusterZonalShiftConfigPtrOutputWithContext(context.Context) ClusterZonalShiftConfigPtrOutput + ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutput() ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput + ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(context.Context) ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput } -type clusterZonalShiftConfigPtrType ClusterZonalShiftConfigArgs +type clusterRemoteNetworkConfigRemotePodNetworksPtrType ClusterRemoteNetworkConfigRemotePodNetworksArgs -func ClusterZonalShiftConfigPtr(v *ClusterZonalShiftConfigArgs) ClusterZonalShiftConfigPtrInput { - return (*clusterZonalShiftConfigPtrType)(v) +func ClusterRemoteNetworkConfigRemotePodNetworksPtr(v *ClusterRemoteNetworkConfigRemotePodNetworksArgs) ClusterRemoteNetworkConfigRemotePodNetworksPtrInput { + return (*clusterRemoteNetworkConfigRemotePodNetworksPtrType)(v) } -func (*clusterZonalShiftConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterZonalShiftConfig)(nil)).Elem() +func (*clusterRemoteNetworkConfigRemotePodNetworksPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterRemoteNetworkConfigRemotePodNetworks)(nil)).Elem() } -func (i *clusterZonalShiftConfigPtrType) ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput { - return i.ToClusterZonalShiftConfigPtrOutputWithContext(context.Background()) +func (i *clusterRemoteNetworkConfigRemotePodNetworksPtrType) ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutput() ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { + return i.ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(context.Background()) } -func (i *clusterZonalShiftConfigPtrType) ToClusterZonalShiftConfigPtrOutputWithContext(ctx context.Context) ClusterZonalShiftConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterZonalShiftConfigPtrOutput) +func (i *clusterRemoteNetworkConfigRemotePodNetworksPtrType) ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) } -type ClusterZonalShiftConfigOutput struct{ *pulumi.OutputState } +type ClusterRemoteNetworkConfigRemotePodNetworksOutput struct{ *pulumi.OutputState } -func (ClusterZonalShiftConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterZonalShiftConfig)(nil)).Elem() +func (ClusterRemoteNetworkConfigRemotePodNetworksOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterRemoteNetworkConfigRemotePodNetworks)(nil)).Elem() } -func (o ClusterZonalShiftConfigOutput) ToClusterZonalShiftConfigOutput() ClusterZonalShiftConfigOutput { +func (o ClusterRemoteNetworkConfigRemotePodNetworksOutput) ToClusterRemoteNetworkConfigRemotePodNetworksOutput() ClusterRemoteNetworkConfigRemotePodNetworksOutput { return o } -func (o ClusterZonalShiftConfigOutput) ToClusterZonalShiftConfigOutputWithContext(ctx context.Context) ClusterZonalShiftConfigOutput { +func (o ClusterRemoteNetworkConfigRemotePodNetworksOutput) ToClusterRemoteNetworkConfigRemotePodNetworksOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemotePodNetworksOutput { return o } -func (o ClusterZonalShiftConfigOutput) ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput { - return o.ToClusterZonalShiftConfigPtrOutputWithContext(context.Background()) +func (o ClusterRemoteNetworkConfigRemotePodNetworksOutput) ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutput() ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { + return o.ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(context.Background()) } -func (o ClusterZonalShiftConfigOutput) ToClusterZonalShiftConfigPtrOutputWithContext(ctx context.Context) ClusterZonalShiftConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterZonalShiftConfig) *ClusterZonalShiftConfig { +func (o ClusterRemoteNetworkConfigRemotePodNetworksOutput) ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterRemoteNetworkConfigRemotePodNetworks) *ClusterRemoteNetworkConfigRemotePodNetworks { return &v - }).(ClusterZonalShiftConfigPtrOutput) + }).(ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) } -// Whether zonal shift is enabled for the cluster. -func (o ClusterZonalShiftConfigOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterZonalShiftConfig) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. +func (o ClusterRemoteNetworkConfigRemotePodNetworksOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterRemoteNetworkConfigRemotePodNetworks) []string { return v.Cidrs }).(pulumi.StringArrayOutput) } -type ClusterZonalShiftConfigPtrOutput struct{ *pulumi.OutputState } +type ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput struct{ *pulumi.OutputState } -func (ClusterZonalShiftConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterZonalShiftConfig)(nil)).Elem() +func (ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterRemoteNetworkConfigRemotePodNetworks)(nil)).Elem() } -func (o ClusterZonalShiftConfigPtrOutput) ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput { +func (o ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutput() ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { return o } -func (o ClusterZonalShiftConfigPtrOutput) ToClusterZonalShiftConfigPtrOutputWithContext(ctx context.Context) ClusterZonalShiftConfigPtrOutput { +func (o ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) ToClusterRemoteNetworkConfigRemotePodNetworksPtrOutputWithContext(ctx context.Context) ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput { return o } -func (o ClusterZonalShiftConfigPtrOutput) Elem() ClusterZonalShiftConfigOutput { - return o.ApplyT(func(v *ClusterZonalShiftConfig) ClusterZonalShiftConfig { +func (o ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) Elem() ClusterRemoteNetworkConfigRemotePodNetworksOutput { + return o.ApplyT(func(v *ClusterRemoteNetworkConfigRemotePodNetworks) ClusterRemoteNetworkConfigRemotePodNetworks { if v != nil { return *v } - var ret ClusterZonalShiftConfig + var ret ClusterRemoteNetworkConfigRemotePodNetworks return ret - }).(ClusterZonalShiftConfigOutput) + }).(ClusterRemoteNetworkConfigRemotePodNetworksOutput) } -// Whether zonal shift is enabled for the cluster. -func (o ClusterZonalShiftConfigPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterZonalShiftConfig) *bool { +// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. +func (o ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterRemoteNetworkConfigRemotePodNetworks) []string { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.Cidrs + }).(pulumi.StringArrayOutput) } -type FargateProfileSelector struct { - // Key-value map of Kubernetes labels for selection. - Labels map[string]string `pulumi:"labels"` - // Kubernetes namespace for selection. - // - // The following arguments are optional: - Namespace string `pulumi:"namespace"` +type ClusterStorageConfig struct { + BlockStorage *ClusterStorageConfigBlockStorage `pulumi:"blockStorage"` } -// FargateProfileSelectorInput is an input type that accepts FargateProfileSelectorArgs and FargateProfileSelectorOutput values. -// You can construct a concrete instance of `FargateProfileSelectorInput` via: +// ClusterStorageConfigInput is an input type that accepts ClusterStorageConfigArgs and ClusterStorageConfigOutput values. +// You can construct a concrete instance of `ClusterStorageConfigInput` via: // -// FargateProfileSelectorArgs{...} -type FargateProfileSelectorInput interface { +// ClusterStorageConfigArgs{...} +type ClusterStorageConfigInput interface { pulumi.Input - ToFargateProfileSelectorOutput() FargateProfileSelectorOutput - ToFargateProfileSelectorOutputWithContext(context.Context) FargateProfileSelectorOutput + ToClusterStorageConfigOutput() ClusterStorageConfigOutput + ToClusterStorageConfigOutputWithContext(context.Context) ClusterStorageConfigOutput } -type FargateProfileSelectorArgs struct { - // Key-value map of Kubernetes labels for selection. - Labels pulumi.StringMapInput `pulumi:"labels"` - // Kubernetes namespace for selection. - // - // The following arguments are optional: - Namespace pulumi.StringInput `pulumi:"namespace"` +type ClusterStorageConfigArgs struct { + BlockStorage ClusterStorageConfigBlockStoragePtrInput `pulumi:"blockStorage"` } -func (FargateProfileSelectorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FargateProfileSelector)(nil)).Elem() +func (ClusterStorageConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterStorageConfig)(nil)).Elem() } -func (i FargateProfileSelectorArgs) ToFargateProfileSelectorOutput() FargateProfileSelectorOutput { - return i.ToFargateProfileSelectorOutputWithContext(context.Background()) +func (i ClusterStorageConfigArgs) ToClusterStorageConfigOutput() ClusterStorageConfigOutput { + return i.ToClusterStorageConfigOutputWithContext(context.Background()) } -func (i FargateProfileSelectorArgs) ToFargateProfileSelectorOutputWithContext(ctx context.Context) FargateProfileSelectorOutput { - return pulumi.ToOutputWithContext(ctx, i).(FargateProfileSelectorOutput) +func (i ClusterStorageConfigArgs) ToClusterStorageConfigOutputWithContext(ctx context.Context) ClusterStorageConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterStorageConfigOutput) } -// FargateProfileSelectorArrayInput is an input type that accepts FargateProfileSelectorArray and FargateProfileSelectorArrayOutput values. -// You can construct a concrete instance of `FargateProfileSelectorArrayInput` via: +func (i ClusterStorageConfigArgs) ToClusterStorageConfigPtrOutput() ClusterStorageConfigPtrOutput { + return i.ToClusterStorageConfigPtrOutputWithContext(context.Background()) +} + +func (i ClusterStorageConfigArgs) ToClusterStorageConfigPtrOutputWithContext(ctx context.Context) ClusterStorageConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterStorageConfigOutput).ToClusterStorageConfigPtrOutputWithContext(ctx) +} + +// ClusterStorageConfigPtrInput is an input type that accepts ClusterStorageConfigArgs, ClusterStorageConfigPtr and ClusterStorageConfigPtrOutput values. +// You can construct a concrete instance of `ClusterStorageConfigPtrInput` via: // -// FargateProfileSelectorArray{ FargateProfileSelectorArgs{...} } -type FargateProfileSelectorArrayInput interface { +// ClusterStorageConfigArgs{...} +// +// or: +// +// nil +type ClusterStorageConfigPtrInput interface { pulumi.Input - ToFargateProfileSelectorArrayOutput() FargateProfileSelectorArrayOutput - ToFargateProfileSelectorArrayOutputWithContext(context.Context) FargateProfileSelectorArrayOutput + ToClusterStorageConfigPtrOutput() ClusterStorageConfigPtrOutput + ToClusterStorageConfigPtrOutputWithContext(context.Context) ClusterStorageConfigPtrOutput } -type FargateProfileSelectorArray []FargateProfileSelectorInput +type clusterStorageConfigPtrType ClusterStorageConfigArgs -func (FargateProfileSelectorArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FargateProfileSelector)(nil)).Elem() +func ClusterStorageConfigPtr(v *ClusterStorageConfigArgs) ClusterStorageConfigPtrInput { + return (*clusterStorageConfigPtrType)(v) } -func (i FargateProfileSelectorArray) ToFargateProfileSelectorArrayOutput() FargateProfileSelectorArrayOutput { - return i.ToFargateProfileSelectorArrayOutputWithContext(context.Background()) +func (*clusterStorageConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterStorageConfig)(nil)).Elem() } -func (i FargateProfileSelectorArray) ToFargateProfileSelectorArrayOutputWithContext(ctx context.Context) FargateProfileSelectorArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FargateProfileSelectorArrayOutput) +func (i *clusterStorageConfigPtrType) ToClusterStorageConfigPtrOutput() ClusterStorageConfigPtrOutput { + return i.ToClusterStorageConfigPtrOutputWithContext(context.Background()) } -type FargateProfileSelectorOutput struct{ *pulumi.OutputState } +func (i *clusterStorageConfigPtrType) ToClusterStorageConfigPtrOutputWithContext(ctx context.Context) ClusterStorageConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterStorageConfigPtrOutput) +} -func (FargateProfileSelectorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FargateProfileSelector)(nil)).Elem() +type ClusterStorageConfigOutput struct{ *pulumi.OutputState } + +func (ClusterStorageConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterStorageConfig)(nil)).Elem() } -func (o FargateProfileSelectorOutput) ToFargateProfileSelectorOutput() FargateProfileSelectorOutput { +func (o ClusterStorageConfigOutput) ToClusterStorageConfigOutput() ClusterStorageConfigOutput { return o } -func (o FargateProfileSelectorOutput) ToFargateProfileSelectorOutputWithContext(ctx context.Context) FargateProfileSelectorOutput { +func (o ClusterStorageConfigOutput) ToClusterStorageConfigOutputWithContext(ctx context.Context) ClusterStorageConfigOutput { return o } -// Key-value map of Kubernetes labels for selection. -func (o FargateProfileSelectorOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v FargateProfileSelector) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (o ClusterStorageConfigOutput) ToClusterStorageConfigPtrOutput() ClusterStorageConfigPtrOutput { + return o.ToClusterStorageConfigPtrOutputWithContext(context.Background()) } -// Kubernetes namespace for selection. -// -// The following arguments are optional: -func (o FargateProfileSelectorOutput) Namespace() pulumi.StringOutput { - return o.ApplyT(func(v FargateProfileSelector) string { return v.Namespace }).(pulumi.StringOutput) +func (o ClusterStorageConfigOutput) ToClusterStorageConfigPtrOutputWithContext(ctx context.Context) ClusterStorageConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterStorageConfig) *ClusterStorageConfig { + return &v + }).(ClusterStorageConfigPtrOutput) } -type FargateProfileSelectorArrayOutput struct{ *pulumi.OutputState } +func (o ClusterStorageConfigOutput) BlockStorage() ClusterStorageConfigBlockStoragePtrOutput { + return o.ApplyT(func(v ClusterStorageConfig) *ClusterStorageConfigBlockStorage { return v.BlockStorage }).(ClusterStorageConfigBlockStoragePtrOutput) +} -func (FargateProfileSelectorArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FargateProfileSelector)(nil)).Elem() +type ClusterStorageConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterStorageConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterStorageConfig)(nil)).Elem() } -func (o FargateProfileSelectorArrayOutput) ToFargateProfileSelectorArrayOutput() FargateProfileSelectorArrayOutput { +func (o ClusterStorageConfigPtrOutput) ToClusterStorageConfigPtrOutput() ClusterStorageConfigPtrOutput { return o } -func (o FargateProfileSelectorArrayOutput) ToFargateProfileSelectorArrayOutputWithContext(ctx context.Context) FargateProfileSelectorArrayOutput { +func (o ClusterStorageConfigPtrOutput) ToClusterStorageConfigPtrOutputWithContext(ctx context.Context) ClusterStorageConfigPtrOutput { return o } -func (o FargateProfileSelectorArrayOutput) Index(i pulumi.IntInput) FargateProfileSelectorOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FargateProfileSelector { - return vs[0].([]FargateProfileSelector)[vs[1].(int)] - }).(FargateProfileSelectorOutput) +func (o ClusterStorageConfigPtrOutput) Elem() ClusterStorageConfigOutput { + return o.ApplyT(func(v *ClusterStorageConfig) ClusterStorageConfig { + if v != nil { + return *v + } + var ret ClusterStorageConfig + return ret + }).(ClusterStorageConfigOutput) } -type IdentityProviderConfigOidc struct { - // Client ID for the OpenID Connect identity provider. - ClientId string `pulumi:"clientId"` - // The JWT claim that the provider will use to return groups. - GroupsClaim *string `pulumi:"groupsClaim"` - // A prefix that is prepended to group claims e.g., `oidc:`. - GroupsPrefix *string `pulumi:"groupsPrefix"` - // The name of the identity provider config. - IdentityProviderConfigName string `pulumi:"identityProviderConfigName"` - // Issuer URL for the OpenID Connect identity provider. - IssuerUrl string `pulumi:"issuerUrl"` - // The key value pairs that describe required claims in the identity token. - RequiredClaims map[string]string `pulumi:"requiredClaims"` - // The JWT claim that the provider will use as the username. - UsernameClaim *string `pulumi:"usernameClaim"` - // A prefix that is prepended to username claims. - UsernamePrefix *string `pulumi:"usernamePrefix"` +func (o ClusterStorageConfigPtrOutput) BlockStorage() ClusterStorageConfigBlockStoragePtrOutput { + return o.ApplyT(func(v *ClusterStorageConfig) *ClusterStorageConfigBlockStorage { + if v == nil { + return nil + } + return v.BlockStorage + }).(ClusterStorageConfigBlockStoragePtrOutput) } -// IdentityProviderConfigOidcInput is an input type that accepts IdentityProviderConfigOidcArgs and IdentityProviderConfigOidcOutput values. -// You can construct a concrete instance of `IdentityProviderConfigOidcInput` via: +type ClusterStorageConfigBlockStorage struct { + Enabled *bool `pulumi:"enabled"` +} + +// ClusterStorageConfigBlockStorageInput is an input type that accepts ClusterStorageConfigBlockStorageArgs and ClusterStorageConfigBlockStorageOutput values. +// You can construct a concrete instance of `ClusterStorageConfigBlockStorageInput` via: // -// IdentityProviderConfigOidcArgs{...} -type IdentityProviderConfigOidcInput interface { +// ClusterStorageConfigBlockStorageArgs{...} +type ClusterStorageConfigBlockStorageInput interface { pulumi.Input - ToIdentityProviderConfigOidcOutput() IdentityProviderConfigOidcOutput - ToIdentityProviderConfigOidcOutputWithContext(context.Context) IdentityProviderConfigOidcOutput + ToClusterStorageConfigBlockStorageOutput() ClusterStorageConfigBlockStorageOutput + ToClusterStorageConfigBlockStorageOutputWithContext(context.Context) ClusterStorageConfigBlockStorageOutput } -type IdentityProviderConfigOidcArgs struct { - // Client ID for the OpenID Connect identity provider. - ClientId pulumi.StringInput `pulumi:"clientId"` - // The JWT claim that the provider will use to return groups. - GroupsClaim pulumi.StringPtrInput `pulumi:"groupsClaim"` - // A prefix that is prepended to group claims e.g., `oidc:`. - GroupsPrefix pulumi.StringPtrInput `pulumi:"groupsPrefix"` - // The name of the identity provider config. - IdentityProviderConfigName pulumi.StringInput `pulumi:"identityProviderConfigName"` - // Issuer URL for the OpenID Connect identity provider. - IssuerUrl pulumi.StringInput `pulumi:"issuerUrl"` - // The key value pairs that describe required claims in the identity token. - RequiredClaims pulumi.StringMapInput `pulumi:"requiredClaims"` - // The JWT claim that the provider will use as the username. - UsernameClaim pulumi.StringPtrInput `pulumi:"usernameClaim"` - // A prefix that is prepended to username claims. - UsernamePrefix pulumi.StringPtrInput `pulumi:"usernamePrefix"` +type ClusterStorageConfigBlockStorageArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` } -func (IdentityProviderConfigOidcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*IdentityProviderConfigOidc)(nil)).Elem() +func (ClusterStorageConfigBlockStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterStorageConfigBlockStorage)(nil)).Elem() } -func (i IdentityProviderConfigOidcArgs) ToIdentityProviderConfigOidcOutput() IdentityProviderConfigOidcOutput { - return i.ToIdentityProviderConfigOidcOutputWithContext(context.Background()) +func (i ClusterStorageConfigBlockStorageArgs) ToClusterStorageConfigBlockStorageOutput() ClusterStorageConfigBlockStorageOutput { + return i.ToClusterStorageConfigBlockStorageOutputWithContext(context.Background()) } -func (i IdentityProviderConfigOidcArgs) ToIdentityProviderConfigOidcOutputWithContext(ctx context.Context) IdentityProviderConfigOidcOutput { - return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderConfigOidcOutput) +func (i ClusterStorageConfigBlockStorageArgs) ToClusterStorageConfigBlockStorageOutputWithContext(ctx context.Context) ClusterStorageConfigBlockStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterStorageConfigBlockStorageOutput) } -func (i IdentityProviderConfigOidcArgs) ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput { - return i.ToIdentityProviderConfigOidcPtrOutputWithContext(context.Background()) +func (i ClusterStorageConfigBlockStorageArgs) ToClusterStorageConfigBlockStoragePtrOutput() ClusterStorageConfigBlockStoragePtrOutput { + return i.ToClusterStorageConfigBlockStoragePtrOutputWithContext(context.Background()) } -func (i IdentityProviderConfigOidcArgs) ToIdentityProviderConfigOidcPtrOutputWithContext(ctx context.Context) IdentityProviderConfigOidcPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderConfigOidcOutput).ToIdentityProviderConfigOidcPtrOutputWithContext(ctx) +func (i ClusterStorageConfigBlockStorageArgs) ToClusterStorageConfigBlockStoragePtrOutputWithContext(ctx context.Context) ClusterStorageConfigBlockStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterStorageConfigBlockStorageOutput).ToClusterStorageConfigBlockStoragePtrOutputWithContext(ctx) } -// IdentityProviderConfigOidcPtrInput is an input type that accepts IdentityProviderConfigOidcArgs, IdentityProviderConfigOidcPtr and IdentityProviderConfigOidcPtrOutput values. -// You can construct a concrete instance of `IdentityProviderConfigOidcPtrInput` via: +// ClusterStorageConfigBlockStoragePtrInput is an input type that accepts ClusterStorageConfigBlockStorageArgs, ClusterStorageConfigBlockStoragePtr and ClusterStorageConfigBlockStoragePtrOutput values. +// You can construct a concrete instance of `ClusterStorageConfigBlockStoragePtrInput` via: // -// IdentityProviderConfigOidcArgs{...} +// ClusterStorageConfigBlockStorageArgs{...} // // or: // // nil -type IdentityProviderConfigOidcPtrInput interface { +type ClusterStorageConfigBlockStoragePtrInput interface { pulumi.Input - ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput - ToIdentityProviderConfigOidcPtrOutputWithContext(context.Context) IdentityProviderConfigOidcPtrOutput + ToClusterStorageConfigBlockStoragePtrOutput() ClusterStorageConfigBlockStoragePtrOutput + ToClusterStorageConfigBlockStoragePtrOutputWithContext(context.Context) ClusterStorageConfigBlockStoragePtrOutput } -type identityProviderConfigOidcPtrType IdentityProviderConfigOidcArgs +type clusterStorageConfigBlockStoragePtrType ClusterStorageConfigBlockStorageArgs -func IdentityProviderConfigOidcPtr(v *IdentityProviderConfigOidcArgs) IdentityProviderConfigOidcPtrInput { - return (*identityProviderConfigOidcPtrType)(v) +func ClusterStorageConfigBlockStoragePtr(v *ClusterStorageConfigBlockStorageArgs) ClusterStorageConfigBlockStoragePtrInput { + return (*clusterStorageConfigBlockStoragePtrType)(v) } -func (*identityProviderConfigOidcPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**IdentityProviderConfigOidc)(nil)).Elem() +func (*clusterStorageConfigBlockStoragePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterStorageConfigBlockStorage)(nil)).Elem() } -func (i *identityProviderConfigOidcPtrType) ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput { - return i.ToIdentityProviderConfigOidcPtrOutputWithContext(context.Background()) +func (i *clusterStorageConfigBlockStoragePtrType) ToClusterStorageConfigBlockStoragePtrOutput() ClusterStorageConfigBlockStoragePtrOutput { + return i.ToClusterStorageConfigBlockStoragePtrOutputWithContext(context.Background()) } -func (i *identityProviderConfigOidcPtrType) ToIdentityProviderConfigOidcPtrOutputWithContext(ctx context.Context) IdentityProviderConfigOidcPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderConfigOidcPtrOutput) +func (i *clusterStorageConfigBlockStoragePtrType) ToClusterStorageConfigBlockStoragePtrOutputWithContext(ctx context.Context) ClusterStorageConfigBlockStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterStorageConfigBlockStoragePtrOutput) } -type IdentityProviderConfigOidcOutput struct{ *pulumi.OutputState } +type ClusterStorageConfigBlockStorageOutput struct{ *pulumi.OutputState } -func (IdentityProviderConfigOidcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*IdentityProviderConfigOidc)(nil)).Elem() +func (ClusterStorageConfigBlockStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterStorageConfigBlockStorage)(nil)).Elem() } -func (o IdentityProviderConfigOidcOutput) ToIdentityProviderConfigOidcOutput() IdentityProviderConfigOidcOutput { +func (o ClusterStorageConfigBlockStorageOutput) ToClusterStorageConfigBlockStorageOutput() ClusterStorageConfigBlockStorageOutput { return o } -func (o IdentityProviderConfigOidcOutput) ToIdentityProviderConfigOidcOutputWithContext(ctx context.Context) IdentityProviderConfigOidcOutput { +func (o ClusterStorageConfigBlockStorageOutput) ToClusterStorageConfigBlockStorageOutputWithContext(ctx context.Context) ClusterStorageConfigBlockStorageOutput { return o } -func (o IdentityProviderConfigOidcOutput) ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput { - return o.ToIdentityProviderConfigOidcPtrOutputWithContext(context.Background()) +func (o ClusterStorageConfigBlockStorageOutput) ToClusterStorageConfigBlockStoragePtrOutput() ClusterStorageConfigBlockStoragePtrOutput { + return o.ToClusterStorageConfigBlockStoragePtrOutputWithContext(context.Background()) } -func (o IdentityProviderConfigOidcOutput) ToIdentityProviderConfigOidcPtrOutputWithContext(ctx context.Context) IdentityProviderConfigOidcPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v IdentityProviderConfigOidc) *IdentityProviderConfigOidc { +func (o ClusterStorageConfigBlockStorageOutput) ToClusterStorageConfigBlockStoragePtrOutputWithContext(ctx context.Context) ClusterStorageConfigBlockStoragePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterStorageConfigBlockStorage) *ClusterStorageConfigBlockStorage { return &v - }).(IdentityProviderConfigOidcPtrOutput) -} - -// Client ID for the OpenID Connect identity provider. -func (o IdentityProviderConfigOidcOutput) ClientId() pulumi.StringOutput { - return o.ApplyT(func(v IdentityProviderConfigOidc) string { return v.ClientId }).(pulumi.StringOutput) -} - -// The JWT claim that the provider will use to return groups. -func (o IdentityProviderConfigOidcOutput) GroupsClaim() pulumi.StringPtrOutput { - return o.ApplyT(func(v IdentityProviderConfigOidc) *string { return v.GroupsClaim }).(pulumi.StringPtrOutput) -} - -// A prefix that is prepended to group claims e.g., `oidc:`. -func (o IdentityProviderConfigOidcOutput) GroupsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v IdentityProviderConfigOidc) *string { return v.GroupsPrefix }).(pulumi.StringPtrOutput) -} - -// The name of the identity provider config. -func (o IdentityProviderConfigOidcOutput) IdentityProviderConfigName() pulumi.StringOutput { - return o.ApplyT(func(v IdentityProviderConfigOidc) string { return v.IdentityProviderConfigName }).(pulumi.StringOutput) -} - -// Issuer URL for the OpenID Connect identity provider. -func (o IdentityProviderConfigOidcOutput) IssuerUrl() pulumi.StringOutput { - return o.ApplyT(func(v IdentityProviderConfigOidc) string { return v.IssuerUrl }).(pulumi.StringOutput) -} - -// The key value pairs that describe required claims in the identity token. -func (o IdentityProviderConfigOidcOutput) RequiredClaims() pulumi.StringMapOutput { - return o.ApplyT(func(v IdentityProviderConfigOidc) map[string]string { return v.RequiredClaims }).(pulumi.StringMapOutput) + }).(ClusterStorageConfigBlockStoragePtrOutput) } -// The JWT claim that the provider will use as the username. -func (o IdentityProviderConfigOidcOutput) UsernameClaim() pulumi.StringPtrOutput { - return o.ApplyT(func(v IdentityProviderConfigOidc) *string { return v.UsernameClaim }).(pulumi.StringPtrOutput) -} - -// A prefix that is prepended to username claims. -func (o IdentityProviderConfigOidcOutput) UsernamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v IdentityProviderConfigOidc) *string { return v.UsernamePrefix }).(pulumi.StringPtrOutput) +func (o ClusterStorageConfigBlockStorageOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterStorageConfigBlockStorage) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -type IdentityProviderConfigOidcPtrOutput struct{ *pulumi.OutputState } +type ClusterStorageConfigBlockStoragePtrOutput struct{ *pulumi.OutputState } -func (IdentityProviderConfigOidcPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**IdentityProviderConfigOidc)(nil)).Elem() +func (ClusterStorageConfigBlockStoragePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterStorageConfigBlockStorage)(nil)).Elem() } -func (o IdentityProviderConfigOidcPtrOutput) ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput { +func (o ClusterStorageConfigBlockStoragePtrOutput) ToClusterStorageConfigBlockStoragePtrOutput() ClusterStorageConfigBlockStoragePtrOutput { return o } -func (o IdentityProviderConfigOidcPtrOutput) ToIdentityProviderConfigOidcPtrOutputWithContext(ctx context.Context) IdentityProviderConfigOidcPtrOutput { +func (o ClusterStorageConfigBlockStoragePtrOutput) ToClusterStorageConfigBlockStoragePtrOutputWithContext(ctx context.Context) ClusterStorageConfigBlockStoragePtrOutput { return o } -func (o IdentityProviderConfigOidcPtrOutput) Elem() IdentityProviderConfigOidcOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) IdentityProviderConfigOidc { +func (o ClusterStorageConfigBlockStoragePtrOutput) Elem() ClusterStorageConfigBlockStorageOutput { + return o.ApplyT(func(v *ClusterStorageConfigBlockStorage) ClusterStorageConfigBlockStorage { if v != nil { return *v } - var ret IdentityProviderConfigOidc + var ret ClusterStorageConfigBlockStorage return ret - }).(IdentityProviderConfigOidcOutput) + }).(ClusterStorageConfigBlockStorageOutput) } -// Client ID for the OpenID Connect identity provider. -func (o IdentityProviderConfigOidcPtrOutput) ClientId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { +func (o ClusterStorageConfigBlockStoragePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterStorageConfigBlockStorage) *bool { if v == nil { return nil } - return &v.ClientId - }).(pulumi.StringPtrOutput) + return v.Enabled + }).(pulumi.BoolPtrOutput) } -// The JWT claim that the provider will use to return groups. -func (o IdentityProviderConfigOidcPtrOutput) GroupsClaim() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { - if v == nil { - return nil - } - return v.GroupsClaim - }).(pulumi.StringPtrOutput) +type ClusterUpgradePolicy struct { + // Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` + SupportType *string `pulumi:"supportType"` } -// A prefix that is prepended to group claims e.g., `oidc:`. -func (o IdentityProviderConfigOidcPtrOutput) GroupsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { - if v == nil { - return nil - } - return v.GroupsPrefix - }).(pulumi.StringPtrOutput) +// ClusterUpgradePolicyInput is an input type that accepts ClusterUpgradePolicyArgs and ClusterUpgradePolicyOutput values. +// You can construct a concrete instance of `ClusterUpgradePolicyInput` via: +// +// ClusterUpgradePolicyArgs{...} +type ClusterUpgradePolicyInput interface { + pulumi.Input + + ToClusterUpgradePolicyOutput() ClusterUpgradePolicyOutput + ToClusterUpgradePolicyOutputWithContext(context.Context) ClusterUpgradePolicyOutput } -// The name of the identity provider config. -func (o IdentityProviderConfigOidcPtrOutput) IdentityProviderConfigName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { - if v == nil { - return nil - } - return &v.IdentityProviderConfigName - }).(pulumi.StringPtrOutput) +type ClusterUpgradePolicyArgs struct { + // Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` + SupportType pulumi.StringPtrInput `pulumi:"supportType"` } -// Issuer URL for the OpenID Connect identity provider. -func (o IdentityProviderConfigOidcPtrOutput) IssuerUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { - if v == nil { - return nil - } - return &v.IssuerUrl - }).(pulumi.StringPtrOutput) +func (ClusterUpgradePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradePolicy)(nil)).Elem() } -// The key value pairs that describe required claims in the identity token. -func (o IdentityProviderConfigOidcPtrOutput) RequiredClaims() pulumi.StringMapOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) map[string]string { - if v == nil { - return nil - } - return v.RequiredClaims - }).(pulumi.StringMapOutput) +func (i ClusterUpgradePolicyArgs) ToClusterUpgradePolicyOutput() ClusterUpgradePolicyOutput { + return i.ToClusterUpgradePolicyOutputWithContext(context.Background()) } -// The JWT claim that the provider will use as the username. -func (o IdentityProviderConfigOidcPtrOutput) UsernameClaim() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { - if v == nil { - return nil +func (i ClusterUpgradePolicyArgs) ToClusterUpgradePolicyOutputWithContext(ctx context.Context) ClusterUpgradePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradePolicyOutput) +} + +func (i ClusterUpgradePolicyArgs) ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput { + return i.ToClusterUpgradePolicyPtrOutputWithContext(context.Background()) +} + +func (i ClusterUpgradePolicyArgs) ToClusterUpgradePolicyPtrOutputWithContext(ctx context.Context) ClusterUpgradePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradePolicyOutput).ToClusterUpgradePolicyPtrOutputWithContext(ctx) +} + +// ClusterUpgradePolicyPtrInput is an input type that accepts ClusterUpgradePolicyArgs, ClusterUpgradePolicyPtr and ClusterUpgradePolicyPtrOutput values. +// You can construct a concrete instance of `ClusterUpgradePolicyPtrInput` via: +// +// ClusterUpgradePolicyArgs{...} +// +// or: +// +// nil +type ClusterUpgradePolicyPtrInput interface { + pulumi.Input + + ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput + ToClusterUpgradePolicyPtrOutputWithContext(context.Context) ClusterUpgradePolicyPtrOutput +} + +type clusterUpgradePolicyPtrType ClusterUpgradePolicyArgs + +func ClusterUpgradePolicyPtr(v *ClusterUpgradePolicyArgs) ClusterUpgradePolicyPtrInput { + return (*clusterUpgradePolicyPtrType)(v) +} + +func (*clusterUpgradePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterUpgradePolicy)(nil)).Elem() +} + +func (i *clusterUpgradePolicyPtrType) ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput { + return i.ToClusterUpgradePolicyPtrOutputWithContext(context.Background()) +} + +func (i *clusterUpgradePolicyPtrType) ToClusterUpgradePolicyPtrOutputWithContext(ctx context.Context) ClusterUpgradePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradePolicyPtrOutput) +} + +type ClusterUpgradePolicyOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradePolicy)(nil)).Elem() +} + +func (o ClusterUpgradePolicyOutput) ToClusterUpgradePolicyOutput() ClusterUpgradePolicyOutput { + return o +} + +func (o ClusterUpgradePolicyOutput) ToClusterUpgradePolicyOutputWithContext(ctx context.Context) ClusterUpgradePolicyOutput { + return o +} + +func (o ClusterUpgradePolicyOutput) ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput { + return o.ToClusterUpgradePolicyPtrOutputWithContext(context.Background()) +} + +func (o ClusterUpgradePolicyOutput) ToClusterUpgradePolicyPtrOutputWithContext(ctx context.Context) ClusterUpgradePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterUpgradePolicy) *ClusterUpgradePolicy { + return &v + }).(ClusterUpgradePolicyPtrOutput) +} + +// Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` +func (o ClusterUpgradePolicyOutput) SupportType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterUpgradePolicy) *string { return v.SupportType }).(pulumi.StringPtrOutput) +} + +type ClusterUpgradePolicyPtrOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterUpgradePolicy)(nil)).Elem() +} + +func (o ClusterUpgradePolicyPtrOutput) ToClusterUpgradePolicyPtrOutput() ClusterUpgradePolicyPtrOutput { + return o +} + +func (o ClusterUpgradePolicyPtrOutput) ToClusterUpgradePolicyPtrOutputWithContext(ctx context.Context) ClusterUpgradePolicyPtrOutput { + return o +} + +func (o ClusterUpgradePolicyPtrOutput) Elem() ClusterUpgradePolicyOutput { + return o.ApplyT(func(v *ClusterUpgradePolicy) ClusterUpgradePolicy { + if v != nil { + return *v } - return v.UsernameClaim - }).(pulumi.StringPtrOutput) + var ret ClusterUpgradePolicy + return ret + }).(ClusterUpgradePolicyOutput) } -// A prefix that is prepended to username claims. -func (o IdentityProviderConfigOidcPtrOutput) UsernamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { +// Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` +func (o ClusterUpgradePolicyPtrOutput) SupportType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterUpgradePolicy) *string { if v == nil { return nil } - return v.UsernamePrefix + return v.SupportType }).(pulumi.StringPtrOutput) } -type NodeGroupLaunchTemplate struct { - // Identifier of the EC2 Launch Template. Conflicts with `name`. - Id *string `pulumi:"id"` - // Name of the EC2 Launch Template. Conflicts with `id`. - Name *string `pulumi:"name"` - // EC2 Launch Template version number. While the API accepts values like `$Default` and `$Latest`, the API will convert the value to the associated version number (e.g., `1`) on read and the provider will show a difference on next plan. Using the `defaultVersion` or `latestVersion` attribute of the `ec2.LaunchTemplate` resource or data source is recommended for this argument. - Version string `pulumi:"version"` +type ClusterVpcConfig struct { + // Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. + ClusterSecurityGroupId *string `pulumi:"clusterSecurityGroupId"` + // Whether the Amazon EKS private API server endpoint is enabled. Default is `false`. + EndpointPrivateAccess *bool `pulumi:"endpointPrivateAccess"` + // Whether the Amazon EKS public API server endpoint is enabled. Default is `true`. + EndpointPublicAccess *bool `pulumi:"endpointPublicAccess"` + // List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with `0.0.0.0/0`. The provider will only perform drift detection of its value when present in a configuration. + PublicAccessCidrs []string `pulumi:"publicAccessCidrs"` + // List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. + SubnetIds []string `pulumi:"subnetIds"` + // ID of the VPC associated with your cluster. + VpcId *string `pulumi:"vpcId"` } -// NodeGroupLaunchTemplateInput is an input type that accepts NodeGroupLaunchTemplateArgs and NodeGroupLaunchTemplateOutput values. -// You can construct a concrete instance of `NodeGroupLaunchTemplateInput` via: +// ClusterVpcConfigInput is an input type that accepts ClusterVpcConfigArgs and ClusterVpcConfigOutput values. +// You can construct a concrete instance of `ClusterVpcConfigInput` via: // -// NodeGroupLaunchTemplateArgs{...} -type NodeGroupLaunchTemplateInput interface { +// ClusterVpcConfigArgs{...} +type ClusterVpcConfigInput interface { pulumi.Input - ToNodeGroupLaunchTemplateOutput() NodeGroupLaunchTemplateOutput - ToNodeGroupLaunchTemplateOutputWithContext(context.Context) NodeGroupLaunchTemplateOutput + ToClusterVpcConfigOutput() ClusterVpcConfigOutput + ToClusterVpcConfigOutputWithContext(context.Context) ClusterVpcConfigOutput } -type NodeGroupLaunchTemplateArgs struct { - // Identifier of the EC2 Launch Template. Conflicts with `name`. - Id pulumi.StringPtrInput `pulumi:"id"` - // Name of the EC2 Launch Template. Conflicts with `id`. - Name pulumi.StringPtrInput `pulumi:"name"` - // EC2 Launch Template version number. While the API accepts values like `$Default` and `$Latest`, the API will convert the value to the associated version number (e.g., `1`) on read and the provider will show a difference on next plan. Using the `defaultVersion` or `latestVersion` attribute of the `ec2.LaunchTemplate` resource or data source is recommended for this argument. - Version pulumi.StringInput `pulumi:"version"` +type ClusterVpcConfigArgs struct { + // Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. + ClusterSecurityGroupId pulumi.StringPtrInput `pulumi:"clusterSecurityGroupId"` + // Whether the Amazon EKS private API server endpoint is enabled. Default is `false`. + EndpointPrivateAccess pulumi.BoolPtrInput `pulumi:"endpointPrivateAccess"` + // Whether the Amazon EKS public API server endpoint is enabled. Default is `true`. + EndpointPublicAccess pulumi.BoolPtrInput `pulumi:"endpointPublicAccess"` + // List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with `0.0.0.0/0`. The provider will only perform drift detection of its value when present in a configuration. + PublicAccessCidrs pulumi.StringArrayInput `pulumi:"publicAccessCidrs"` + // List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. + SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` + // ID of the VPC associated with your cluster. + VpcId pulumi.StringPtrInput `pulumi:"vpcId"` } -func (NodeGroupLaunchTemplateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupLaunchTemplate)(nil)).Elem() +func (ClusterVpcConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterVpcConfig)(nil)).Elem() } -func (i NodeGroupLaunchTemplateArgs) ToNodeGroupLaunchTemplateOutput() NodeGroupLaunchTemplateOutput { - return i.ToNodeGroupLaunchTemplateOutputWithContext(context.Background()) +func (i ClusterVpcConfigArgs) ToClusterVpcConfigOutput() ClusterVpcConfigOutput { + return i.ToClusterVpcConfigOutputWithContext(context.Background()) } -func (i NodeGroupLaunchTemplateArgs) ToNodeGroupLaunchTemplateOutputWithContext(ctx context.Context) NodeGroupLaunchTemplateOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupLaunchTemplateOutput) +func (i ClusterVpcConfigArgs) ToClusterVpcConfigOutputWithContext(ctx context.Context) ClusterVpcConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigOutput) } -func (i NodeGroupLaunchTemplateArgs) ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput { - return i.ToNodeGroupLaunchTemplatePtrOutputWithContext(context.Background()) +func (i ClusterVpcConfigArgs) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { + return i.ToClusterVpcConfigPtrOutputWithContext(context.Background()) } -func (i NodeGroupLaunchTemplateArgs) ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) NodeGroupLaunchTemplatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupLaunchTemplateOutput).ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx) +func (i ClusterVpcConfigArgs) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigOutput).ToClusterVpcConfigPtrOutputWithContext(ctx) +} + +// ClusterVpcConfigPtrInput is an input type that accepts ClusterVpcConfigArgs, ClusterVpcConfigPtr and ClusterVpcConfigPtrOutput values. +// You can construct a concrete instance of `ClusterVpcConfigPtrInput` via: +// +// ClusterVpcConfigArgs{...} +// +// or: +// +// nil +type ClusterVpcConfigPtrInput interface { + pulumi.Input + + ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput + ToClusterVpcConfigPtrOutputWithContext(context.Context) ClusterVpcConfigPtrOutput +} + +type clusterVpcConfigPtrType ClusterVpcConfigArgs + +func ClusterVpcConfigPtr(v *ClusterVpcConfigArgs) ClusterVpcConfigPtrInput { + return (*clusterVpcConfigPtrType)(v) +} + +func (*clusterVpcConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterVpcConfig)(nil)).Elem() +} + +func (i *clusterVpcConfigPtrType) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { + return i.ToClusterVpcConfigPtrOutputWithContext(context.Background()) +} + +func (i *clusterVpcConfigPtrType) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigPtrOutput) +} + +type ClusterVpcConfigOutput struct{ *pulumi.OutputState } + +func (ClusterVpcConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterVpcConfig)(nil)).Elem() +} + +func (o ClusterVpcConfigOutput) ToClusterVpcConfigOutput() ClusterVpcConfigOutput { + return o +} + +func (o ClusterVpcConfigOutput) ToClusterVpcConfigOutputWithContext(ctx context.Context) ClusterVpcConfigOutput { + return o +} + +func (o ClusterVpcConfigOutput) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { + return o.ToClusterVpcConfigPtrOutputWithContext(context.Background()) +} + +func (o ClusterVpcConfigOutput) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterVpcConfig) *ClusterVpcConfig { + return &v + }).(ClusterVpcConfigPtrOutput) +} + +// Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. +func (o ClusterVpcConfigOutput) ClusterSecurityGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterVpcConfig) *string { return v.ClusterSecurityGroupId }).(pulumi.StringPtrOutput) +} + +// Whether the Amazon EKS private API server endpoint is enabled. Default is `false`. +func (o ClusterVpcConfigOutput) EndpointPrivateAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterVpcConfig) *bool { return v.EndpointPrivateAccess }).(pulumi.BoolPtrOutput) +} + +// Whether the Amazon EKS public API server endpoint is enabled. Default is `true`. +func (o ClusterVpcConfigOutput) EndpointPublicAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterVpcConfig) *bool { return v.EndpointPublicAccess }).(pulumi.BoolPtrOutput) +} + +// List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with `0.0.0.0/0`. The provider will only perform drift detection of its value when present in a configuration. +func (o ClusterVpcConfigOutput) PublicAccessCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterVpcConfig) []string { return v.PublicAccessCidrs }).(pulumi.StringArrayOutput) +} + +// List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. +func (o ClusterVpcConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterVpcConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. +func (o ClusterVpcConfigOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterVpcConfig) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +// ID of the VPC associated with your cluster. +func (o ClusterVpcConfigOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterVpcConfig) *string { return v.VpcId }).(pulumi.StringPtrOutput) +} + +type ClusterVpcConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterVpcConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterVpcConfig)(nil)).Elem() +} + +func (o ClusterVpcConfigPtrOutput) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { + return o +} + +func (o ClusterVpcConfigPtrOutput) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { + return o +} + +func (o ClusterVpcConfigPtrOutput) Elem() ClusterVpcConfigOutput { + return o.ApplyT(func(v *ClusterVpcConfig) ClusterVpcConfig { + if v != nil { + return *v + } + var ret ClusterVpcConfig + return ret + }).(ClusterVpcConfigOutput) +} + +// Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication. +func (o ClusterVpcConfigPtrOutput) ClusterSecurityGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterVpcConfig) *string { + if v == nil { + return nil + } + return v.ClusterSecurityGroupId + }).(pulumi.StringPtrOutput) +} + +// Whether the Amazon EKS private API server endpoint is enabled. Default is `false`. +func (o ClusterVpcConfigPtrOutput) EndpointPrivateAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterVpcConfig) *bool { + if v == nil { + return nil + } + return v.EndpointPrivateAccess + }).(pulumi.BoolPtrOutput) +} + +// Whether the Amazon EKS public API server endpoint is enabled. Default is `true`. +func (o ClusterVpcConfigPtrOutput) EndpointPublicAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterVpcConfig) *bool { + if v == nil { + return nil + } + return v.EndpointPublicAccess + }).(pulumi.BoolPtrOutput) +} + +// List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with `0.0.0.0/0`. The provider will only perform drift detection of its value when present in a configuration. +func (o ClusterVpcConfigPtrOutput) PublicAccessCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterVpcConfig) []string { + if v == nil { + return nil + } + return v.PublicAccessCidrs + }).(pulumi.StringArrayOutput) +} + +// List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. +func (o ClusterVpcConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterVpcConfig) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. +func (o ClusterVpcConfigPtrOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterVpcConfig) []string { + if v == nil { + return nil + } + return v.SubnetIds + }).(pulumi.StringArrayOutput) +} + +// ID of the VPC associated with your cluster. +func (o ClusterVpcConfigPtrOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterVpcConfig) *string { + if v == nil { + return nil + } + return v.VpcId + }).(pulumi.StringPtrOutput) +} + +type ClusterZonalShiftConfig struct { + // Whether zonal shift is enabled for the cluster. + Enabled *bool `pulumi:"enabled"` +} + +// ClusterZonalShiftConfigInput is an input type that accepts ClusterZonalShiftConfigArgs and ClusterZonalShiftConfigOutput values. +// You can construct a concrete instance of `ClusterZonalShiftConfigInput` via: +// +// ClusterZonalShiftConfigArgs{...} +type ClusterZonalShiftConfigInput interface { + pulumi.Input + + ToClusterZonalShiftConfigOutput() ClusterZonalShiftConfigOutput + ToClusterZonalShiftConfigOutputWithContext(context.Context) ClusterZonalShiftConfigOutput +} + +type ClusterZonalShiftConfigArgs struct { + // Whether zonal shift is enabled for the cluster. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (ClusterZonalShiftConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterZonalShiftConfig)(nil)).Elem() +} + +func (i ClusterZonalShiftConfigArgs) ToClusterZonalShiftConfigOutput() ClusterZonalShiftConfigOutput { + return i.ToClusterZonalShiftConfigOutputWithContext(context.Background()) +} + +func (i ClusterZonalShiftConfigArgs) ToClusterZonalShiftConfigOutputWithContext(ctx context.Context) ClusterZonalShiftConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterZonalShiftConfigOutput) +} + +func (i ClusterZonalShiftConfigArgs) ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput { + return i.ToClusterZonalShiftConfigPtrOutputWithContext(context.Background()) +} + +func (i ClusterZonalShiftConfigArgs) ToClusterZonalShiftConfigPtrOutputWithContext(ctx context.Context) ClusterZonalShiftConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterZonalShiftConfigOutput).ToClusterZonalShiftConfigPtrOutputWithContext(ctx) +} + +// ClusterZonalShiftConfigPtrInput is an input type that accepts ClusterZonalShiftConfigArgs, ClusterZonalShiftConfigPtr and ClusterZonalShiftConfigPtrOutput values. +// You can construct a concrete instance of `ClusterZonalShiftConfigPtrInput` via: +// +// ClusterZonalShiftConfigArgs{...} +// +// or: +// +// nil +type ClusterZonalShiftConfigPtrInput interface { + pulumi.Input + + ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput + ToClusterZonalShiftConfigPtrOutputWithContext(context.Context) ClusterZonalShiftConfigPtrOutput +} + +type clusterZonalShiftConfigPtrType ClusterZonalShiftConfigArgs + +func ClusterZonalShiftConfigPtr(v *ClusterZonalShiftConfigArgs) ClusterZonalShiftConfigPtrInput { + return (*clusterZonalShiftConfigPtrType)(v) +} + +func (*clusterZonalShiftConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterZonalShiftConfig)(nil)).Elem() +} + +func (i *clusterZonalShiftConfigPtrType) ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput { + return i.ToClusterZonalShiftConfigPtrOutputWithContext(context.Background()) +} + +func (i *clusterZonalShiftConfigPtrType) ToClusterZonalShiftConfigPtrOutputWithContext(ctx context.Context) ClusterZonalShiftConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterZonalShiftConfigPtrOutput) +} + +type ClusterZonalShiftConfigOutput struct{ *pulumi.OutputState } + +func (ClusterZonalShiftConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterZonalShiftConfig)(nil)).Elem() +} + +func (o ClusterZonalShiftConfigOutput) ToClusterZonalShiftConfigOutput() ClusterZonalShiftConfigOutput { + return o +} + +func (o ClusterZonalShiftConfigOutput) ToClusterZonalShiftConfigOutputWithContext(ctx context.Context) ClusterZonalShiftConfigOutput { + return o +} + +func (o ClusterZonalShiftConfigOutput) ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput { + return o.ToClusterZonalShiftConfigPtrOutputWithContext(context.Background()) +} + +func (o ClusterZonalShiftConfigOutput) ToClusterZonalShiftConfigPtrOutputWithContext(ctx context.Context) ClusterZonalShiftConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterZonalShiftConfig) *ClusterZonalShiftConfig { + return &v + }).(ClusterZonalShiftConfigPtrOutput) +} + +// Whether zonal shift is enabled for the cluster. +func (o ClusterZonalShiftConfigOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterZonalShiftConfig) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type ClusterZonalShiftConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterZonalShiftConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterZonalShiftConfig)(nil)).Elem() +} + +func (o ClusterZonalShiftConfigPtrOutput) ToClusterZonalShiftConfigPtrOutput() ClusterZonalShiftConfigPtrOutput { + return o +} + +func (o ClusterZonalShiftConfigPtrOutput) ToClusterZonalShiftConfigPtrOutputWithContext(ctx context.Context) ClusterZonalShiftConfigPtrOutput { + return o +} + +func (o ClusterZonalShiftConfigPtrOutput) Elem() ClusterZonalShiftConfigOutput { + return o.ApplyT(func(v *ClusterZonalShiftConfig) ClusterZonalShiftConfig { + if v != nil { + return *v + } + var ret ClusterZonalShiftConfig + return ret + }).(ClusterZonalShiftConfigOutput) +} + +// Whether zonal shift is enabled for the cluster. +func (o ClusterZonalShiftConfigPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterZonalShiftConfig) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type FargateProfileSelector struct { + // Key-value map of Kubernetes labels for selection. + Labels map[string]string `pulumi:"labels"` + // Kubernetes namespace for selection. + // + // The following arguments are optional: + Namespace string `pulumi:"namespace"` +} + +// FargateProfileSelectorInput is an input type that accepts FargateProfileSelectorArgs and FargateProfileSelectorOutput values. +// You can construct a concrete instance of `FargateProfileSelectorInput` via: +// +// FargateProfileSelectorArgs{...} +type FargateProfileSelectorInput interface { + pulumi.Input + + ToFargateProfileSelectorOutput() FargateProfileSelectorOutput + ToFargateProfileSelectorOutputWithContext(context.Context) FargateProfileSelectorOutput +} + +type FargateProfileSelectorArgs struct { + // Key-value map of Kubernetes labels for selection. + Labels pulumi.StringMapInput `pulumi:"labels"` + // Kubernetes namespace for selection. + // + // The following arguments are optional: + Namespace pulumi.StringInput `pulumi:"namespace"` +} + +func (FargateProfileSelectorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FargateProfileSelector)(nil)).Elem() +} + +func (i FargateProfileSelectorArgs) ToFargateProfileSelectorOutput() FargateProfileSelectorOutput { + return i.ToFargateProfileSelectorOutputWithContext(context.Background()) +} + +func (i FargateProfileSelectorArgs) ToFargateProfileSelectorOutputWithContext(ctx context.Context) FargateProfileSelectorOutput { + return pulumi.ToOutputWithContext(ctx, i).(FargateProfileSelectorOutput) +} + +// FargateProfileSelectorArrayInput is an input type that accepts FargateProfileSelectorArray and FargateProfileSelectorArrayOutput values. +// You can construct a concrete instance of `FargateProfileSelectorArrayInput` via: +// +// FargateProfileSelectorArray{ FargateProfileSelectorArgs{...} } +type FargateProfileSelectorArrayInput interface { + pulumi.Input + + ToFargateProfileSelectorArrayOutput() FargateProfileSelectorArrayOutput + ToFargateProfileSelectorArrayOutputWithContext(context.Context) FargateProfileSelectorArrayOutput +} + +type FargateProfileSelectorArray []FargateProfileSelectorInput + +func (FargateProfileSelectorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FargateProfileSelector)(nil)).Elem() +} + +func (i FargateProfileSelectorArray) ToFargateProfileSelectorArrayOutput() FargateProfileSelectorArrayOutput { + return i.ToFargateProfileSelectorArrayOutputWithContext(context.Background()) +} + +func (i FargateProfileSelectorArray) ToFargateProfileSelectorArrayOutputWithContext(ctx context.Context) FargateProfileSelectorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FargateProfileSelectorArrayOutput) +} + +type FargateProfileSelectorOutput struct{ *pulumi.OutputState } + +func (FargateProfileSelectorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FargateProfileSelector)(nil)).Elem() +} + +func (o FargateProfileSelectorOutput) ToFargateProfileSelectorOutput() FargateProfileSelectorOutput { + return o +} + +func (o FargateProfileSelectorOutput) ToFargateProfileSelectorOutputWithContext(ctx context.Context) FargateProfileSelectorOutput { + return o +} + +// Key-value map of Kubernetes labels for selection. +func (o FargateProfileSelectorOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v FargateProfileSelector) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Kubernetes namespace for selection. +// +// The following arguments are optional: +func (o FargateProfileSelectorOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v FargateProfileSelector) string { return v.Namespace }).(pulumi.StringOutput) +} + +type FargateProfileSelectorArrayOutput struct{ *pulumi.OutputState } + +func (FargateProfileSelectorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FargateProfileSelector)(nil)).Elem() +} + +func (o FargateProfileSelectorArrayOutput) ToFargateProfileSelectorArrayOutput() FargateProfileSelectorArrayOutput { + return o +} + +func (o FargateProfileSelectorArrayOutput) ToFargateProfileSelectorArrayOutputWithContext(ctx context.Context) FargateProfileSelectorArrayOutput { + return o +} + +func (o FargateProfileSelectorArrayOutput) Index(i pulumi.IntInput) FargateProfileSelectorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FargateProfileSelector { + return vs[0].([]FargateProfileSelector)[vs[1].(int)] + }).(FargateProfileSelectorOutput) +} + +type IdentityProviderConfigOidc struct { + // Client ID for the OpenID Connect identity provider. + ClientId string `pulumi:"clientId"` + // The JWT claim that the provider will use to return groups. + GroupsClaim *string `pulumi:"groupsClaim"` + // A prefix that is prepended to group claims e.g., `oidc:`. + GroupsPrefix *string `pulumi:"groupsPrefix"` + // The name of the identity provider config. + IdentityProviderConfigName string `pulumi:"identityProviderConfigName"` + // Issuer URL for the OpenID Connect identity provider. + IssuerUrl string `pulumi:"issuerUrl"` + // The key value pairs that describe required claims in the identity token. + RequiredClaims map[string]string `pulumi:"requiredClaims"` + // The JWT claim that the provider will use as the username. + UsernameClaim *string `pulumi:"usernameClaim"` + // A prefix that is prepended to username claims. + UsernamePrefix *string `pulumi:"usernamePrefix"` +} + +// IdentityProviderConfigOidcInput is an input type that accepts IdentityProviderConfigOidcArgs and IdentityProviderConfigOidcOutput values. +// You can construct a concrete instance of `IdentityProviderConfigOidcInput` via: +// +// IdentityProviderConfigOidcArgs{...} +type IdentityProviderConfigOidcInput interface { + pulumi.Input + + ToIdentityProviderConfigOidcOutput() IdentityProviderConfigOidcOutput + ToIdentityProviderConfigOidcOutputWithContext(context.Context) IdentityProviderConfigOidcOutput +} + +type IdentityProviderConfigOidcArgs struct { + // Client ID for the OpenID Connect identity provider. + ClientId pulumi.StringInput `pulumi:"clientId"` + // The JWT claim that the provider will use to return groups. + GroupsClaim pulumi.StringPtrInput `pulumi:"groupsClaim"` + // A prefix that is prepended to group claims e.g., `oidc:`. + GroupsPrefix pulumi.StringPtrInput `pulumi:"groupsPrefix"` + // The name of the identity provider config. + IdentityProviderConfigName pulumi.StringInput `pulumi:"identityProviderConfigName"` + // Issuer URL for the OpenID Connect identity provider. + IssuerUrl pulumi.StringInput `pulumi:"issuerUrl"` + // The key value pairs that describe required claims in the identity token. + RequiredClaims pulumi.StringMapInput `pulumi:"requiredClaims"` + // The JWT claim that the provider will use as the username. + UsernameClaim pulumi.StringPtrInput `pulumi:"usernameClaim"` + // A prefix that is prepended to username claims. + UsernamePrefix pulumi.StringPtrInput `pulumi:"usernamePrefix"` +} + +func (IdentityProviderConfigOidcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IdentityProviderConfigOidc)(nil)).Elem() +} + +func (i IdentityProviderConfigOidcArgs) ToIdentityProviderConfigOidcOutput() IdentityProviderConfigOidcOutput { + return i.ToIdentityProviderConfigOidcOutputWithContext(context.Background()) +} + +func (i IdentityProviderConfigOidcArgs) ToIdentityProviderConfigOidcOutputWithContext(ctx context.Context) IdentityProviderConfigOidcOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderConfigOidcOutput) +} + +func (i IdentityProviderConfigOidcArgs) ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput { + return i.ToIdentityProviderConfigOidcPtrOutputWithContext(context.Background()) +} + +func (i IdentityProviderConfigOidcArgs) ToIdentityProviderConfigOidcPtrOutputWithContext(ctx context.Context) IdentityProviderConfigOidcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderConfigOidcOutput).ToIdentityProviderConfigOidcPtrOutputWithContext(ctx) +} + +// IdentityProviderConfigOidcPtrInput is an input type that accepts IdentityProviderConfigOidcArgs, IdentityProviderConfigOidcPtr and IdentityProviderConfigOidcPtrOutput values. +// You can construct a concrete instance of `IdentityProviderConfigOidcPtrInput` via: +// +// IdentityProviderConfigOidcArgs{...} +// +// or: +// +// nil +type IdentityProviderConfigOidcPtrInput interface { + pulumi.Input + + ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput + ToIdentityProviderConfigOidcPtrOutputWithContext(context.Context) IdentityProviderConfigOidcPtrOutput +} + +type identityProviderConfigOidcPtrType IdentityProviderConfigOidcArgs + +func IdentityProviderConfigOidcPtr(v *IdentityProviderConfigOidcArgs) IdentityProviderConfigOidcPtrInput { + return (*identityProviderConfigOidcPtrType)(v) +} + +func (*identityProviderConfigOidcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityProviderConfigOidc)(nil)).Elem() +} + +func (i *identityProviderConfigOidcPtrType) ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput { + return i.ToIdentityProviderConfigOidcPtrOutputWithContext(context.Background()) +} + +func (i *identityProviderConfigOidcPtrType) ToIdentityProviderConfigOidcPtrOutputWithContext(ctx context.Context) IdentityProviderConfigOidcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderConfigOidcPtrOutput) +} + +type IdentityProviderConfigOidcOutput struct{ *pulumi.OutputState } + +func (IdentityProviderConfigOidcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IdentityProviderConfigOidc)(nil)).Elem() +} + +func (o IdentityProviderConfigOidcOutput) ToIdentityProviderConfigOidcOutput() IdentityProviderConfigOidcOutput { + return o +} + +func (o IdentityProviderConfigOidcOutput) ToIdentityProviderConfigOidcOutputWithContext(ctx context.Context) IdentityProviderConfigOidcOutput { + return o +} + +func (o IdentityProviderConfigOidcOutput) ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput { + return o.ToIdentityProviderConfigOidcPtrOutputWithContext(context.Background()) +} + +func (o IdentityProviderConfigOidcOutput) ToIdentityProviderConfigOidcPtrOutputWithContext(ctx context.Context) IdentityProviderConfigOidcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IdentityProviderConfigOidc) *IdentityProviderConfigOidc { + return &v + }).(IdentityProviderConfigOidcPtrOutput) +} + +// Client ID for the OpenID Connect identity provider. +func (o IdentityProviderConfigOidcOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v IdentityProviderConfigOidc) string { return v.ClientId }).(pulumi.StringOutput) +} + +// The JWT claim that the provider will use to return groups. +func (o IdentityProviderConfigOidcOutput) GroupsClaim() pulumi.StringPtrOutput { + return o.ApplyT(func(v IdentityProviderConfigOidc) *string { return v.GroupsClaim }).(pulumi.StringPtrOutput) +} + +// A prefix that is prepended to group claims e.g., `oidc:`. +func (o IdentityProviderConfigOidcOutput) GroupsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v IdentityProviderConfigOidc) *string { return v.GroupsPrefix }).(pulumi.StringPtrOutput) +} + +// The name of the identity provider config. +func (o IdentityProviderConfigOidcOutput) IdentityProviderConfigName() pulumi.StringOutput { + return o.ApplyT(func(v IdentityProviderConfigOidc) string { return v.IdentityProviderConfigName }).(pulumi.StringOutput) +} + +// Issuer URL for the OpenID Connect identity provider. +func (o IdentityProviderConfigOidcOutput) IssuerUrl() pulumi.StringOutput { + return o.ApplyT(func(v IdentityProviderConfigOidc) string { return v.IssuerUrl }).(pulumi.StringOutput) +} + +// The key value pairs that describe required claims in the identity token. +func (o IdentityProviderConfigOidcOutput) RequiredClaims() pulumi.StringMapOutput { + return o.ApplyT(func(v IdentityProviderConfigOidc) map[string]string { return v.RequiredClaims }).(pulumi.StringMapOutput) +} + +// The JWT claim that the provider will use as the username. +func (o IdentityProviderConfigOidcOutput) UsernameClaim() pulumi.StringPtrOutput { + return o.ApplyT(func(v IdentityProviderConfigOidc) *string { return v.UsernameClaim }).(pulumi.StringPtrOutput) +} + +// A prefix that is prepended to username claims. +func (o IdentityProviderConfigOidcOutput) UsernamePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v IdentityProviderConfigOidc) *string { return v.UsernamePrefix }).(pulumi.StringPtrOutput) +} + +type IdentityProviderConfigOidcPtrOutput struct{ *pulumi.OutputState } + +func (IdentityProviderConfigOidcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityProviderConfigOidc)(nil)).Elem() +} + +func (o IdentityProviderConfigOidcPtrOutput) ToIdentityProviderConfigOidcPtrOutput() IdentityProviderConfigOidcPtrOutput { + return o +} + +func (o IdentityProviderConfigOidcPtrOutput) ToIdentityProviderConfigOidcPtrOutputWithContext(ctx context.Context) IdentityProviderConfigOidcPtrOutput { + return o +} + +func (o IdentityProviderConfigOidcPtrOutput) Elem() IdentityProviderConfigOidcOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) IdentityProviderConfigOidc { + if v != nil { + return *v + } + var ret IdentityProviderConfigOidc + return ret + }).(IdentityProviderConfigOidcOutput) +} + +// Client ID for the OpenID Connect identity provider. +func (o IdentityProviderConfigOidcPtrOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { + if v == nil { + return nil + } + return &v.ClientId + }).(pulumi.StringPtrOutput) +} + +// The JWT claim that the provider will use to return groups. +func (o IdentityProviderConfigOidcPtrOutput) GroupsClaim() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { + if v == nil { + return nil + } + return v.GroupsClaim + }).(pulumi.StringPtrOutput) +} + +// A prefix that is prepended to group claims e.g., `oidc:`. +func (o IdentityProviderConfigOidcPtrOutput) GroupsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { + if v == nil { + return nil + } + return v.GroupsPrefix + }).(pulumi.StringPtrOutput) +} + +// The name of the identity provider config. +func (o IdentityProviderConfigOidcPtrOutput) IdentityProviderConfigName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { + if v == nil { + return nil + } + return &v.IdentityProviderConfigName + }).(pulumi.StringPtrOutput) +} + +// Issuer URL for the OpenID Connect identity provider. +func (o IdentityProviderConfigOidcPtrOutput) IssuerUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { + if v == nil { + return nil + } + return &v.IssuerUrl + }).(pulumi.StringPtrOutput) +} + +// The key value pairs that describe required claims in the identity token. +func (o IdentityProviderConfigOidcPtrOutput) RequiredClaims() pulumi.StringMapOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) map[string]string { + if v == nil { + return nil + } + return v.RequiredClaims + }).(pulumi.StringMapOutput) +} + +// The JWT claim that the provider will use as the username. +func (o IdentityProviderConfigOidcPtrOutput) UsernameClaim() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { + if v == nil { + return nil + } + return v.UsernameClaim + }).(pulumi.StringPtrOutput) +} + +// A prefix that is prepended to username claims. +func (o IdentityProviderConfigOidcPtrOutput) UsernamePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdentityProviderConfigOidc) *string { + if v == nil { + return nil + } + return v.UsernamePrefix + }).(pulumi.StringPtrOutput) +} + +type NodeGroupLaunchTemplate struct { + // Identifier of the EC2 Launch Template. Conflicts with `name`. + Id *string `pulumi:"id"` + // Name of the EC2 Launch Template. Conflicts with `id`. + Name *string `pulumi:"name"` + // EC2 Launch Template version number. While the API accepts values like `$Default` and `$Latest`, the API will convert the value to the associated version number (e.g., `1`) on read and the provider will show a difference on next plan. Using the `defaultVersion` or `latestVersion` attribute of the `ec2.LaunchTemplate` resource or data source is recommended for this argument. + Version string `pulumi:"version"` +} + +// NodeGroupLaunchTemplateInput is an input type that accepts NodeGroupLaunchTemplateArgs and NodeGroupLaunchTemplateOutput values. +// You can construct a concrete instance of `NodeGroupLaunchTemplateInput` via: +// +// NodeGroupLaunchTemplateArgs{...} +type NodeGroupLaunchTemplateInput interface { + pulumi.Input + + ToNodeGroupLaunchTemplateOutput() NodeGroupLaunchTemplateOutput + ToNodeGroupLaunchTemplateOutputWithContext(context.Context) NodeGroupLaunchTemplateOutput +} + +type NodeGroupLaunchTemplateArgs struct { + // Identifier of the EC2 Launch Template. Conflicts with `name`. + Id pulumi.StringPtrInput `pulumi:"id"` + // Name of the EC2 Launch Template. Conflicts with `id`. + Name pulumi.StringPtrInput `pulumi:"name"` + // EC2 Launch Template version number. While the API accepts values like `$Default` and `$Latest`, the API will convert the value to the associated version number (e.g., `1`) on read and the provider will show a difference on next plan. Using the `defaultVersion` or `latestVersion` attribute of the `ec2.LaunchTemplate` resource or data source is recommended for this argument. + Version pulumi.StringInput `pulumi:"version"` +} + +func (NodeGroupLaunchTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupLaunchTemplate)(nil)).Elem() +} + +func (i NodeGroupLaunchTemplateArgs) ToNodeGroupLaunchTemplateOutput() NodeGroupLaunchTemplateOutput { + return i.ToNodeGroupLaunchTemplateOutputWithContext(context.Background()) +} + +func (i NodeGroupLaunchTemplateArgs) ToNodeGroupLaunchTemplateOutputWithContext(ctx context.Context) NodeGroupLaunchTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupLaunchTemplateOutput) +} + +func (i NodeGroupLaunchTemplateArgs) ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput { + return i.ToNodeGroupLaunchTemplatePtrOutputWithContext(context.Background()) +} + +func (i NodeGroupLaunchTemplateArgs) ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) NodeGroupLaunchTemplatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupLaunchTemplateOutput).ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx) +} + +// NodeGroupLaunchTemplatePtrInput is an input type that accepts NodeGroupLaunchTemplateArgs, NodeGroupLaunchTemplatePtr and NodeGroupLaunchTemplatePtrOutput values. +// You can construct a concrete instance of `NodeGroupLaunchTemplatePtrInput` via: +// +// NodeGroupLaunchTemplateArgs{...} +// +// or: +// +// nil +type NodeGroupLaunchTemplatePtrInput interface { + pulumi.Input + + ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput + ToNodeGroupLaunchTemplatePtrOutputWithContext(context.Context) NodeGroupLaunchTemplatePtrOutput +} + +type nodeGroupLaunchTemplatePtrType NodeGroupLaunchTemplateArgs + +func NodeGroupLaunchTemplatePtr(v *NodeGroupLaunchTemplateArgs) NodeGroupLaunchTemplatePtrInput { + return (*nodeGroupLaunchTemplatePtrType)(v) +} + +func (*nodeGroupLaunchTemplatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodeGroupLaunchTemplate)(nil)).Elem() +} + +func (i *nodeGroupLaunchTemplatePtrType) ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput { + return i.ToNodeGroupLaunchTemplatePtrOutputWithContext(context.Background()) +} + +func (i *nodeGroupLaunchTemplatePtrType) ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) NodeGroupLaunchTemplatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupLaunchTemplatePtrOutput) +} + +type NodeGroupLaunchTemplateOutput struct{ *pulumi.OutputState } + +func (NodeGroupLaunchTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupLaunchTemplate)(nil)).Elem() +} + +func (o NodeGroupLaunchTemplateOutput) ToNodeGroupLaunchTemplateOutput() NodeGroupLaunchTemplateOutput { + return o +} + +func (o NodeGroupLaunchTemplateOutput) ToNodeGroupLaunchTemplateOutputWithContext(ctx context.Context) NodeGroupLaunchTemplateOutput { + return o +} + +func (o NodeGroupLaunchTemplateOutput) ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput { + return o.ToNodeGroupLaunchTemplatePtrOutputWithContext(context.Background()) +} + +func (o NodeGroupLaunchTemplateOutput) ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) NodeGroupLaunchTemplatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeGroupLaunchTemplate) *NodeGroupLaunchTemplate { + return &v + }).(NodeGroupLaunchTemplatePtrOutput) +} + +// Identifier of the EC2 Launch Template. Conflicts with `name`. +func (o NodeGroupLaunchTemplateOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeGroupLaunchTemplate) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Name of the EC2 Launch Template. Conflicts with `id`. +func (o NodeGroupLaunchTemplateOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeGroupLaunchTemplate) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// EC2 Launch Template version number. While the API accepts values like `$Default` and `$Latest`, the API will convert the value to the associated version number (e.g., `1`) on read and the provider will show a difference on next plan. Using the `defaultVersion` or `latestVersion` attribute of the `ec2.LaunchTemplate` resource or data source is recommended for this argument. +func (o NodeGroupLaunchTemplateOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v NodeGroupLaunchTemplate) string { return v.Version }).(pulumi.StringOutput) +} + +type NodeGroupLaunchTemplatePtrOutput struct{ *pulumi.OutputState } + +func (NodeGroupLaunchTemplatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodeGroupLaunchTemplate)(nil)).Elem() +} + +func (o NodeGroupLaunchTemplatePtrOutput) ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput { + return o +} + +func (o NodeGroupLaunchTemplatePtrOutput) ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) NodeGroupLaunchTemplatePtrOutput { + return o +} + +func (o NodeGroupLaunchTemplatePtrOutput) Elem() NodeGroupLaunchTemplateOutput { + return o.ApplyT(func(v *NodeGroupLaunchTemplate) NodeGroupLaunchTemplate { + if v != nil { + return *v + } + var ret NodeGroupLaunchTemplate + return ret + }).(NodeGroupLaunchTemplateOutput) +} + +// Identifier of the EC2 Launch Template. Conflicts with `name`. +func (o NodeGroupLaunchTemplatePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodeGroupLaunchTemplate) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// Name of the EC2 Launch Template. Conflicts with `id`. +func (o NodeGroupLaunchTemplatePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodeGroupLaunchTemplate) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// EC2 Launch Template version number. While the API accepts values like `$Default` and `$Latest`, the API will convert the value to the associated version number (e.g., `1`) on read and the provider will show a difference on next plan. Using the `defaultVersion` or `latestVersion` attribute of the `ec2.LaunchTemplate` resource or data source is recommended for this argument. +func (o NodeGroupLaunchTemplatePtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodeGroupLaunchTemplate) *string { + if v == nil { + return nil + } + return &v.Version + }).(pulumi.StringPtrOutput) +} + +type NodeGroupRemoteAccess struct { + // EC2 Key Pair name that provides access for remote communication with the worker nodes in the EKS Node Group. If you specify this configuration, but do not specify `sourceSecurityGroupIds` when you create an EKS Node Group, either port 3389 for Windows, or port 22 for all other operating systems is opened on the worker nodes to the Internet (0.0.0.0/0). For Windows nodes, this will allow you to use RDP, for all others this allows you to SSH into the worker nodes. + Ec2SshKey *string `pulumi:"ec2SshKey"` + // Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2SshKey`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0). + SourceSecurityGroupIds []string `pulumi:"sourceSecurityGroupIds"` +} + +// NodeGroupRemoteAccessInput is an input type that accepts NodeGroupRemoteAccessArgs and NodeGroupRemoteAccessOutput values. +// You can construct a concrete instance of `NodeGroupRemoteAccessInput` via: +// +// NodeGroupRemoteAccessArgs{...} +type NodeGroupRemoteAccessInput interface { + pulumi.Input + + ToNodeGroupRemoteAccessOutput() NodeGroupRemoteAccessOutput + ToNodeGroupRemoteAccessOutputWithContext(context.Context) NodeGroupRemoteAccessOutput +} + +type NodeGroupRemoteAccessArgs struct { + // EC2 Key Pair name that provides access for remote communication with the worker nodes in the EKS Node Group. If you specify this configuration, but do not specify `sourceSecurityGroupIds` when you create an EKS Node Group, either port 3389 for Windows, or port 22 for all other operating systems is opened on the worker nodes to the Internet (0.0.0.0/0). For Windows nodes, this will allow you to use RDP, for all others this allows you to SSH into the worker nodes. + Ec2SshKey pulumi.StringPtrInput `pulumi:"ec2SshKey"` + // Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2SshKey`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0). + SourceSecurityGroupIds pulumi.StringArrayInput `pulumi:"sourceSecurityGroupIds"` +} + +func (NodeGroupRemoteAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupRemoteAccess)(nil)).Elem() +} + +func (i NodeGroupRemoteAccessArgs) ToNodeGroupRemoteAccessOutput() NodeGroupRemoteAccessOutput { + return i.ToNodeGroupRemoteAccessOutputWithContext(context.Background()) +} + +func (i NodeGroupRemoteAccessArgs) ToNodeGroupRemoteAccessOutputWithContext(ctx context.Context) NodeGroupRemoteAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupRemoteAccessOutput) +} + +func (i NodeGroupRemoteAccessArgs) ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput { + return i.ToNodeGroupRemoteAccessPtrOutputWithContext(context.Background()) +} + +func (i NodeGroupRemoteAccessArgs) ToNodeGroupRemoteAccessPtrOutputWithContext(ctx context.Context) NodeGroupRemoteAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupRemoteAccessOutput).ToNodeGroupRemoteAccessPtrOutputWithContext(ctx) +} + +// NodeGroupRemoteAccessPtrInput is an input type that accepts NodeGroupRemoteAccessArgs, NodeGroupRemoteAccessPtr and NodeGroupRemoteAccessPtrOutput values. +// You can construct a concrete instance of `NodeGroupRemoteAccessPtrInput` via: +// +// NodeGroupRemoteAccessArgs{...} +// +// or: +// +// nil +type NodeGroupRemoteAccessPtrInput interface { + pulumi.Input + + ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput + ToNodeGroupRemoteAccessPtrOutputWithContext(context.Context) NodeGroupRemoteAccessPtrOutput +} + +type nodeGroupRemoteAccessPtrType NodeGroupRemoteAccessArgs + +func NodeGroupRemoteAccessPtr(v *NodeGroupRemoteAccessArgs) NodeGroupRemoteAccessPtrInput { + return (*nodeGroupRemoteAccessPtrType)(v) +} + +func (*nodeGroupRemoteAccessPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodeGroupRemoteAccess)(nil)).Elem() +} + +func (i *nodeGroupRemoteAccessPtrType) ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput { + return i.ToNodeGroupRemoteAccessPtrOutputWithContext(context.Background()) +} + +func (i *nodeGroupRemoteAccessPtrType) ToNodeGroupRemoteAccessPtrOutputWithContext(ctx context.Context) NodeGroupRemoteAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupRemoteAccessPtrOutput) +} + +type NodeGroupRemoteAccessOutput struct{ *pulumi.OutputState } + +func (NodeGroupRemoteAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupRemoteAccess)(nil)).Elem() +} + +func (o NodeGroupRemoteAccessOutput) ToNodeGroupRemoteAccessOutput() NodeGroupRemoteAccessOutput { + return o +} + +func (o NodeGroupRemoteAccessOutput) ToNodeGroupRemoteAccessOutputWithContext(ctx context.Context) NodeGroupRemoteAccessOutput { + return o +} + +func (o NodeGroupRemoteAccessOutput) ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput { + return o.ToNodeGroupRemoteAccessPtrOutputWithContext(context.Background()) +} + +func (o NodeGroupRemoteAccessOutput) ToNodeGroupRemoteAccessPtrOutputWithContext(ctx context.Context) NodeGroupRemoteAccessPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeGroupRemoteAccess) *NodeGroupRemoteAccess { + return &v + }).(NodeGroupRemoteAccessPtrOutput) +} + +// EC2 Key Pair name that provides access for remote communication with the worker nodes in the EKS Node Group. If you specify this configuration, but do not specify `sourceSecurityGroupIds` when you create an EKS Node Group, either port 3389 for Windows, or port 22 for all other operating systems is opened on the worker nodes to the Internet (0.0.0.0/0). For Windows nodes, this will allow you to use RDP, for all others this allows you to SSH into the worker nodes. +func (o NodeGroupRemoteAccessOutput) Ec2SshKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeGroupRemoteAccess) *string { return v.Ec2SshKey }).(pulumi.StringPtrOutput) +} + +// Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2SshKey`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0). +func (o NodeGroupRemoteAccessOutput) SourceSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodeGroupRemoteAccess) []string { return v.SourceSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +type NodeGroupRemoteAccessPtrOutput struct{ *pulumi.OutputState } + +func (NodeGroupRemoteAccessPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodeGroupRemoteAccess)(nil)).Elem() +} + +func (o NodeGroupRemoteAccessPtrOutput) ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput { + return o +} + +func (o NodeGroupRemoteAccessPtrOutput) ToNodeGroupRemoteAccessPtrOutputWithContext(ctx context.Context) NodeGroupRemoteAccessPtrOutput { + return o +} + +func (o NodeGroupRemoteAccessPtrOutput) Elem() NodeGroupRemoteAccessOutput { + return o.ApplyT(func(v *NodeGroupRemoteAccess) NodeGroupRemoteAccess { + if v != nil { + return *v + } + var ret NodeGroupRemoteAccess + return ret + }).(NodeGroupRemoteAccessOutput) +} + +// EC2 Key Pair name that provides access for remote communication with the worker nodes in the EKS Node Group. If you specify this configuration, but do not specify `sourceSecurityGroupIds` when you create an EKS Node Group, either port 3389 for Windows, or port 22 for all other operating systems is opened on the worker nodes to the Internet (0.0.0.0/0). For Windows nodes, this will allow you to use RDP, for all others this allows you to SSH into the worker nodes. +func (o NodeGroupRemoteAccessPtrOutput) Ec2SshKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodeGroupRemoteAccess) *string { + if v == nil { + return nil + } + return v.Ec2SshKey + }).(pulumi.StringPtrOutput) +} + +// Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2SshKey`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0). +func (o NodeGroupRemoteAccessPtrOutput) SourceSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NodeGroupRemoteAccess) []string { + if v == nil { + return nil + } + return v.SourceSecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +type NodeGroupResource struct { + // List of objects containing information about AutoScaling Groups. + AutoscalingGroups []NodeGroupResourceAutoscalingGroup `pulumi:"autoscalingGroups"` + // Identifier of the remote access EC2 Security Group. + RemoteAccessSecurityGroupId *string `pulumi:"remoteAccessSecurityGroupId"` +} + +// NodeGroupResourceInput is an input type that accepts NodeGroupResourceArgs and NodeGroupResourceOutput values. +// You can construct a concrete instance of `NodeGroupResourceInput` via: +// +// NodeGroupResourceArgs{...} +type NodeGroupResourceInput interface { + pulumi.Input + + ToNodeGroupResourceOutput() NodeGroupResourceOutput + ToNodeGroupResourceOutputWithContext(context.Context) NodeGroupResourceOutput +} + +type NodeGroupResourceArgs struct { + // List of objects containing information about AutoScaling Groups. + AutoscalingGroups NodeGroupResourceAutoscalingGroupArrayInput `pulumi:"autoscalingGroups"` + // Identifier of the remote access EC2 Security Group. + RemoteAccessSecurityGroupId pulumi.StringPtrInput `pulumi:"remoteAccessSecurityGroupId"` +} + +func (NodeGroupResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupResource)(nil)).Elem() +} + +func (i NodeGroupResourceArgs) ToNodeGroupResourceOutput() NodeGroupResourceOutput { + return i.ToNodeGroupResourceOutputWithContext(context.Background()) +} + +func (i NodeGroupResourceArgs) ToNodeGroupResourceOutputWithContext(ctx context.Context) NodeGroupResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupResourceOutput) +} + +// NodeGroupResourceArrayInput is an input type that accepts NodeGroupResourceArray and NodeGroupResourceArrayOutput values. +// You can construct a concrete instance of `NodeGroupResourceArrayInput` via: +// +// NodeGroupResourceArray{ NodeGroupResourceArgs{...} } +type NodeGroupResourceArrayInput interface { + pulumi.Input + + ToNodeGroupResourceArrayOutput() NodeGroupResourceArrayOutput + ToNodeGroupResourceArrayOutputWithContext(context.Context) NodeGroupResourceArrayOutput +} + +type NodeGroupResourceArray []NodeGroupResourceInput + +func (NodeGroupResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeGroupResource)(nil)).Elem() +} + +func (i NodeGroupResourceArray) ToNodeGroupResourceArrayOutput() NodeGroupResourceArrayOutput { + return i.ToNodeGroupResourceArrayOutputWithContext(context.Background()) +} + +func (i NodeGroupResourceArray) ToNodeGroupResourceArrayOutputWithContext(ctx context.Context) NodeGroupResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupResourceArrayOutput) +} + +type NodeGroupResourceOutput struct{ *pulumi.OutputState } + +func (NodeGroupResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupResource)(nil)).Elem() +} + +func (o NodeGroupResourceOutput) ToNodeGroupResourceOutput() NodeGroupResourceOutput { + return o +} + +func (o NodeGroupResourceOutput) ToNodeGroupResourceOutputWithContext(ctx context.Context) NodeGroupResourceOutput { + return o +} + +// List of objects containing information about AutoScaling Groups. +func (o NodeGroupResourceOutput) AutoscalingGroups() NodeGroupResourceAutoscalingGroupArrayOutput { + return o.ApplyT(func(v NodeGroupResource) []NodeGroupResourceAutoscalingGroup { return v.AutoscalingGroups }).(NodeGroupResourceAutoscalingGroupArrayOutput) +} + +// Identifier of the remote access EC2 Security Group. +func (o NodeGroupResourceOutput) RemoteAccessSecurityGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeGroupResource) *string { return v.RemoteAccessSecurityGroupId }).(pulumi.StringPtrOutput) +} + +type NodeGroupResourceArrayOutput struct{ *pulumi.OutputState } + +func (NodeGroupResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeGroupResource)(nil)).Elem() +} + +func (o NodeGroupResourceArrayOutput) ToNodeGroupResourceArrayOutput() NodeGroupResourceArrayOutput { + return o +} + +func (o NodeGroupResourceArrayOutput) ToNodeGroupResourceArrayOutputWithContext(ctx context.Context) NodeGroupResourceArrayOutput { + return o +} + +func (o NodeGroupResourceArrayOutput) Index(i pulumi.IntInput) NodeGroupResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeGroupResource { + return vs[0].([]NodeGroupResource)[vs[1].(int)] + }).(NodeGroupResourceOutput) +} + +type NodeGroupResourceAutoscalingGroup struct { + // Name of the AutoScaling Group. + Name *string `pulumi:"name"` +} + +// NodeGroupResourceAutoscalingGroupInput is an input type that accepts NodeGroupResourceAutoscalingGroupArgs and NodeGroupResourceAutoscalingGroupOutput values. +// You can construct a concrete instance of `NodeGroupResourceAutoscalingGroupInput` via: +// +// NodeGroupResourceAutoscalingGroupArgs{...} +type NodeGroupResourceAutoscalingGroupInput interface { + pulumi.Input + + ToNodeGroupResourceAutoscalingGroupOutput() NodeGroupResourceAutoscalingGroupOutput + ToNodeGroupResourceAutoscalingGroupOutputWithContext(context.Context) NodeGroupResourceAutoscalingGroupOutput +} + +type NodeGroupResourceAutoscalingGroupArgs struct { + // Name of the AutoScaling Group. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (NodeGroupResourceAutoscalingGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupResourceAutoscalingGroup)(nil)).Elem() +} + +func (i NodeGroupResourceAutoscalingGroupArgs) ToNodeGroupResourceAutoscalingGroupOutput() NodeGroupResourceAutoscalingGroupOutput { + return i.ToNodeGroupResourceAutoscalingGroupOutputWithContext(context.Background()) +} + +func (i NodeGroupResourceAutoscalingGroupArgs) ToNodeGroupResourceAutoscalingGroupOutputWithContext(ctx context.Context) NodeGroupResourceAutoscalingGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupResourceAutoscalingGroupOutput) +} + +// NodeGroupResourceAutoscalingGroupArrayInput is an input type that accepts NodeGroupResourceAutoscalingGroupArray and NodeGroupResourceAutoscalingGroupArrayOutput values. +// You can construct a concrete instance of `NodeGroupResourceAutoscalingGroupArrayInput` via: +// +// NodeGroupResourceAutoscalingGroupArray{ NodeGroupResourceAutoscalingGroupArgs{...} } +type NodeGroupResourceAutoscalingGroupArrayInput interface { + pulumi.Input + + ToNodeGroupResourceAutoscalingGroupArrayOutput() NodeGroupResourceAutoscalingGroupArrayOutput + ToNodeGroupResourceAutoscalingGroupArrayOutputWithContext(context.Context) NodeGroupResourceAutoscalingGroupArrayOutput +} + +type NodeGroupResourceAutoscalingGroupArray []NodeGroupResourceAutoscalingGroupInput + +func (NodeGroupResourceAutoscalingGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeGroupResourceAutoscalingGroup)(nil)).Elem() +} + +func (i NodeGroupResourceAutoscalingGroupArray) ToNodeGroupResourceAutoscalingGroupArrayOutput() NodeGroupResourceAutoscalingGroupArrayOutput { + return i.ToNodeGroupResourceAutoscalingGroupArrayOutputWithContext(context.Background()) +} + +func (i NodeGroupResourceAutoscalingGroupArray) ToNodeGroupResourceAutoscalingGroupArrayOutputWithContext(ctx context.Context) NodeGroupResourceAutoscalingGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupResourceAutoscalingGroupArrayOutput) +} + +type NodeGroupResourceAutoscalingGroupOutput struct{ *pulumi.OutputState } + +func (NodeGroupResourceAutoscalingGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupResourceAutoscalingGroup)(nil)).Elem() +} + +func (o NodeGroupResourceAutoscalingGroupOutput) ToNodeGroupResourceAutoscalingGroupOutput() NodeGroupResourceAutoscalingGroupOutput { + return o +} + +func (o NodeGroupResourceAutoscalingGroupOutput) ToNodeGroupResourceAutoscalingGroupOutputWithContext(ctx context.Context) NodeGroupResourceAutoscalingGroupOutput { + return o +} + +// Name of the AutoScaling Group. +func (o NodeGroupResourceAutoscalingGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeGroupResourceAutoscalingGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type NodeGroupResourceAutoscalingGroupArrayOutput struct{ *pulumi.OutputState } + +func (NodeGroupResourceAutoscalingGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeGroupResourceAutoscalingGroup)(nil)).Elem() +} + +func (o NodeGroupResourceAutoscalingGroupArrayOutput) ToNodeGroupResourceAutoscalingGroupArrayOutput() NodeGroupResourceAutoscalingGroupArrayOutput { + return o +} + +func (o NodeGroupResourceAutoscalingGroupArrayOutput) ToNodeGroupResourceAutoscalingGroupArrayOutputWithContext(ctx context.Context) NodeGroupResourceAutoscalingGroupArrayOutput { + return o +} + +func (o NodeGroupResourceAutoscalingGroupArrayOutput) Index(i pulumi.IntInput) NodeGroupResourceAutoscalingGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeGroupResourceAutoscalingGroup { + return vs[0].([]NodeGroupResourceAutoscalingGroup)[vs[1].(int)] + }).(NodeGroupResourceAutoscalingGroupOutput) +} + +type NodeGroupScalingConfig struct { + // Desired number of worker nodes. + DesiredSize int `pulumi:"desiredSize"` + // Maximum number of worker nodes. + MaxSize int `pulumi:"maxSize"` + // Minimum number of worker nodes. + MinSize int `pulumi:"minSize"` +} + +// NodeGroupScalingConfigInput is an input type that accepts NodeGroupScalingConfigArgs and NodeGroupScalingConfigOutput values. +// You can construct a concrete instance of `NodeGroupScalingConfigInput` via: +// +// NodeGroupScalingConfigArgs{...} +type NodeGroupScalingConfigInput interface { + pulumi.Input + + ToNodeGroupScalingConfigOutput() NodeGroupScalingConfigOutput + ToNodeGroupScalingConfigOutputWithContext(context.Context) NodeGroupScalingConfigOutput +} + +type NodeGroupScalingConfigArgs struct { + // Desired number of worker nodes. + DesiredSize pulumi.IntInput `pulumi:"desiredSize"` + // Maximum number of worker nodes. + MaxSize pulumi.IntInput `pulumi:"maxSize"` + // Minimum number of worker nodes. + MinSize pulumi.IntInput `pulumi:"minSize"` +} + +func (NodeGroupScalingConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupScalingConfig)(nil)).Elem() +} + +func (i NodeGroupScalingConfigArgs) ToNodeGroupScalingConfigOutput() NodeGroupScalingConfigOutput { + return i.ToNodeGroupScalingConfigOutputWithContext(context.Background()) +} + +func (i NodeGroupScalingConfigArgs) ToNodeGroupScalingConfigOutputWithContext(ctx context.Context) NodeGroupScalingConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupScalingConfigOutput) +} + +func (i NodeGroupScalingConfigArgs) ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput { + return i.ToNodeGroupScalingConfigPtrOutputWithContext(context.Background()) +} + +func (i NodeGroupScalingConfigArgs) ToNodeGroupScalingConfigPtrOutputWithContext(ctx context.Context) NodeGroupScalingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupScalingConfigOutput).ToNodeGroupScalingConfigPtrOutputWithContext(ctx) +} + +// NodeGroupScalingConfigPtrInput is an input type that accepts NodeGroupScalingConfigArgs, NodeGroupScalingConfigPtr and NodeGroupScalingConfigPtrOutput values. +// You can construct a concrete instance of `NodeGroupScalingConfigPtrInput` via: +// +// NodeGroupScalingConfigArgs{...} +// +// or: +// +// nil +type NodeGroupScalingConfigPtrInput interface { + pulumi.Input + + ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput + ToNodeGroupScalingConfigPtrOutputWithContext(context.Context) NodeGroupScalingConfigPtrOutput +} + +type nodeGroupScalingConfigPtrType NodeGroupScalingConfigArgs + +func NodeGroupScalingConfigPtr(v *NodeGroupScalingConfigArgs) NodeGroupScalingConfigPtrInput { + return (*nodeGroupScalingConfigPtrType)(v) +} + +func (*nodeGroupScalingConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodeGroupScalingConfig)(nil)).Elem() +} + +func (i *nodeGroupScalingConfigPtrType) ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput { + return i.ToNodeGroupScalingConfigPtrOutputWithContext(context.Background()) +} + +func (i *nodeGroupScalingConfigPtrType) ToNodeGroupScalingConfigPtrOutputWithContext(ctx context.Context) NodeGroupScalingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupScalingConfigPtrOutput) +} + +type NodeGroupScalingConfigOutput struct{ *pulumi.OutputState } + +func (NodeGroupScalingConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupScalingConfig)(nil)).Elem() +} + +func (o NodeGroupScalingConfigOutput) ToNodeGroupScalingConfigOutput() NodeGroupScalingConfigOutput { + return o +} + +func (o NodeGroupScalingConfigOutput) ToNodeGroupScalingConfigOutputWithContext(ctx context.Context) NodeGroupScalingConfigOutput { + return o +} + +func (o NodeGroupScalingConfigOutput) ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput { + return o.ToNodeGroupScalingConfigPtrOutputWithContext(context.Background()) +} + +func (o NodeGroupScalingConfigOutput) ToNodeGroupScalingConfigPtrOutputWithContext(ctx context.Context) NodeGroupScalingConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeGroupScalingConfig) *NodeGroupScalingConfig { + return &v + }).(NodeGroupScalingConfigPtrOutput) +} + +// Desired number of worker nodes. +func (o NodeGroupScalingConfigOutput) DesiredSize() pulumi.IntOutput { + return o.ApplyT(func(v NodeGroupScalingConfig) int { return v.DesiredSize }).(pulumi.IntOutput) +} + +// Maximum number of worker nodes. +func (o NodeGroupScalingConfigOutput) MaxSize() pulumi.IntOutput { + return o.ApplyT(func(v NodeGroupScalingConfig) int { return v.MaxSize }).(pulumi.IntOutput) +} + +// Minimum number of worker nodes. +func (o NodeGroupScalingConfigOutput) MinSize() pulumi.IntOutput { + return o.ApplyT(func(v NodeGroupScalingConfig) int { return v.MinSize }).(pulumi.IntOutput) +} + +type NodeGroupScalingConfigPtrOutput struct{ *pulumi.OutputState } + +func (NodeGroupScalingConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodeGroupScalingConfig)(nil)).Elem() +} + +func (o NodeGroupScalingConfigPtrOutput) ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput { + return o +} + +func (o NodeGroupScalingConfigPtrOutput) ToNodeGroupScalingConfigPtrOutputWithContext(ctx context.Context) NodeGroupScalingConfigPtrOutput { + return o +} + +func (o NodeGroupScalingConfigPtrOutput) Elem() NodeGroupScalingConfigOutput { + return o.ApplyT(func(v *NodeGroupScalingConfig) NodeGroupScalingConfig { + if v != nil { + return *v + } + var ret NodeGroupScalingConfig + return ret + }).(NodeGroupScalingConfigOutput) +} + +// Desired number of worker nodes. +func (o NodeGroupScalingConfigPtrOutput) DesiredSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodeGroupScalingConfig) *int { + if v == nil { + return nil + } + return &v.DesiredSize + }).(pulumi.IntPtrOutput) +} + +// Maximum number of worker nodes. +func (o NodeGroupScalingConfigPtrOutput) MaxSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodeGroupScalingConfig) *int { + if v == nil { + return nil + } + return &v.MaxSize + }).(pulumi.IntPtrOutput) +} + +// Minimum number of worker nodes. +func (o NodeGroupScalingConfigPtrOutput) MinSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodeGroupScalingConfig) *int { + if v == nil { + return nil + } + return &v.MinSize + }).(pulumi.IntPtrOutput) +} + +type NodeGroupTaint struct { + // The effect of the taint. Valid values: `NO_SCHEDULE`, `NO_EXECUTE`, `PREFER_NO_SCHEDULE`. + Effect string `pulumi:"effect"` + // The key of the taint. Maximum length of 63. + Key string `pulumi:"key"` + // The value of the taint. Maximum length of 63. + Value *string `pulumi:"value"` +} + +// NodeGroupTaintInput is an input type that accepts NodeGroupTaintArgs and NodeGroupTaintOutput values. +// You can construct a concrete instance of `NodeGroupTaintInput` via: +// +// NodeGroupTaintArgs{...} +type NodeGroupTaintInput interface { + pulumi.Input + + ToNodeGroupTaintOutput() NodeGroupTaintOutput + ToNodeGroupTaintOutputWithContext(context.Context) NodeGroupTaintOutput +} + +type NodeGroupTaintArgs struct { + // The effect of the taint. Valid values: `NO_SCHEDULE`, `NO_EXECUTE`, `PREFER_NO_SCHEDULE`. + Effect pulumi.StringInput `pulumi:"effect"` + // The key of the taint. Maximum length of 63. + Key pulumi.StringInput `pulumi:"key"` + // The value of the taint. Maximum length of 63. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (NodeGroupTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupTaint)(nil)).Elem() +} + +func (i NodeGroupTaintArgs) ToNodeGroupTaintOutput() NodeGroupTaintOutput { + return i.ToNodeGroupTaintOutputWithContext(context.Background()) +} + +func (i NodeGroupTaintArgs) ToNodeGroupTaintOutputWithContext(ctx context.Context) NodeGroupTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupTaintOutput) +} + +// NodeGroupTaintArrayInput is an input type that accepts NodeGroupTaintArray and NodeGroupTaintArrayOutput values. +// You can construct a concrete instance of `NodeGroupTaintArrayInput` via: +// +// NodeGroupTaintArray{ NodeGroupTaintArgs{...} } +type NodeGroupTaintArrayInput interface { + pulumi.Input + + ToNodeGroupTaintArrayOutput() NodeGroupTaintArrayOutput + ToNodeGroupTaintArrayOutputWithContext(context.Context) NodeGroupTaintArrayOutput +} + +type NodeGroupTaintArray []NodeGroupTaintInput + +func (NodeGroupTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeGroupTaint)(nil)).Elem() +} + +func (i NodeGroupTaintArray) ToNodeGroupTaintArrayOutput() NodeGroupTaintArrayOutput { + return i.ToNodeGroupTaintArrayOutputWithContext(context.Background()) +} + +func (i NodeGroupTaintArray) ToNodeGroupTaintArrayOutputWithContext(ctx context.Context) NodeGroupTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupTaintArrayOutput) +} + +type NodeGroupTaintOutput struct{ *pulumi.OutputState } + +func (NodeGroupTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupTaint)(nil)).Elem() +} + +func (o NodeGroupTaintOutput) ToNodeGroupTaintOutput() NodeGroupTaintOutput { + return o +} + +func (o NodeGroupTaintOutput) ToNodeGroupTaintOutputWithContext(ctx context.Context) NodeGroupTaintOutput { + return o +} + +// The effect of the taint. Valid values: `NO_SCHEDULE`, `NO_EXECUTE`, `PREFER_NO_SCHEDULE`. +func (o NodeGroupTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v NodeGroupTaint) string { return v.Effect }).(pulumi.StringOutput) +} + +// The key of the taint. Maximum length of 63. +func (o NodeGroupTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v NodeGroupTaint) string { return v.Key }).(pulumi.StringOutput) +} + +// The value of the taint. Maximum length of 63. +func (o NodeGroupTaintOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeGroupTaint) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type NodeGroupTaintArrayOutput struct{ *pulumi.OutputState } + +func (NodeGroupTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeGroupTaint)(nil)).Elem() +} + +func (o NodeGroupTaintArrayOutput) ToNodeGroupTaintArrayOutput() NodeGroupTaintArrayOutput { + return o +} + +func (o NodeGroupTaintArrayOutput) ToNodeGroupTaintArrayOutputWithContext(ctx context.Context) NodeGroupTaintArrayOutput { + return o +} + +func (o NodeGroupTaintArrayOutput) Index(i pulumi.IntInput) NodeGroupTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeGroupTaint { + return vs[0].([]NodeGroupTaint)[vs[1].(int)] + }).(NodeGroupTaintOutput) +} + +type NodeGroupUpdateConfig struct { + // Desired max number of unavailable worker nodes during node group update. + MaxUnavailable *int `pulumi:"maxUnavailable"` + // Desired max percentage of unavailable worker nodes during node group update. + MaxUnavailablePercentage *int `pulumi:"maxUnavailablePercentage"` +} + +// NodeGroupUpdateConfigInput is an input type that accepts NodeGroupUpdateConfigArgs and NodeGroupUpdateConfigOutput values. +// You can construct a concrete instance of `NodeGroupUpdateConfigInput` via: +// +// NodeGroupUpdateConfigArgs{...} +type NodeGroupUpdateConfigInput interface { + pulumi.Input + + ToNodeGroupUpdateConfigOutput() NodeGroupUpdateConfigOutput + ToNodeGroupUpdateConfigOutputWithContext(context.Context) NodeGroupUpdateConfigOutput +} + +type NodeGroupUpdateConfigArgs struct { + // Desired max number of unavailable worker nodes during node group update. + MaxUnavailable pulumi.IntPtrInput `pulumi:"maxUnavailable"` + // Desired max percentage of unavailable worker nodes during node group update. + MaxUnavailablePercentage pulumi.IntPtrInput `pulumi:"maxUnavailablePercentage"` +} + +func (NodeGroupUpdateConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupUpdateConfig)(nil)).Elem() +} + +func (i NodeGroupUpdateConfigArgs) ToNodeGroupUpdateConfigOutput() NodeGroupUpdateConfigOutput { + return i.ToNodeGroupUpdateConfigOutputWithContext(context.Background()) +} + +func (i NodeGroupUpdateConfigArgs) ToNodeGroupUpdateConfigOutputWithContext(ctx context.Context) NodeGroupUpdateConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupUpdateConfigOutput) +} + +func (i NodeGroupUpdateConfigArgs) ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput { + return i.ToNodeGroupUpdateConfigPtrOutputWithContext(context.Background()) +} + +func (i NodeGroupUpdateConfigArgs) ToNodeGroupUpdateConfigPtrOutputWithContext(ctx context.Context) NodeGroupUpdateConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupUpdateConfigOutput).ToNodeGroupUpdateConfigPtrOutputWithContext(ctx) } -// NodeGroupLaunchTemplatePtrInput is an input type that accepts NodeGroupLaunchTemplateArgs, NodeGroupLaunchTemplatePtr and NodeGroupLaunchTemplatePtrOutput values. -// You can construct a concrete instance of `NodeGroupLaunchTemplatePtrInput` via: +// NodeGroupUpdateConfigPtrInput is an input type that accepts NodeGroupUpdateConfigArgs, NodeGroupUpdateConfigPtr and NodeGroupUpdateConfigPtrOutput values. +// You can construct a concrete instance of `NodeGroupUpdateConfigPtrInput` via: // -// NodeGroupLaunchTemplateArgs{...} +// NodeGroupUpdateConfigArgs{...} // // or: // // nil -type NodeGroupLaunchTemplatePtrInput interface { +type NodeGroupUpdateConfigPtrInput interface { pulumi.Input - ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput - ToNodeGroupLaunchTemplatePtrOutputWithContext(context.Context) NodeGroupLaunchTemplatePtrOutput + ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput + ToNodeGroupUpdateConfigPtrOutputWithContext(context.Context) NodeGroupUpdateConfigPtrOutput } -type nodeGroupLaunchTemplatePtrType NodeGroupLaunchTemplateArgs +type nodeGroupUpdateConfigPtrType NodeGroupUpdateConfigArgs -func NodeGroupLaunchTemplatePtr(v *NodeGroupLaunchTemplateArgs) NodeGroupLaunchTemplatePtrInput { - return (*nodeGroupLaunchTemplatePtrType)(v) +func NodeGroupUpdateConfigPtr(v *NodeGroupUpdateConfigArgs) NodeGroupUpdateConfigPtrInput { + return (*nodeGroupUpdateConfigPtrType)(v) } -func (*nodeGroupLaunchTemplatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NodeGroupLaunchTemplate)(nil)).Elem() +func (*nodeGroupUpdateConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodeGroupUpdateConfig)(nil)).Elem() } -func (i *nodeGroupLaunchTemplatePtrType) ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput { - return i.ToNodeGroupLaunchTemplatePtrOutputWithContext(context.Background()) +func (i *nodeGroupUpdateConfigPtrType) ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput { + return i.ToNodeGroupUpdateConfigPtrOutputWithContext(context.Background()) } -func (i *nodeGroupLaunchTemplatePtrType) ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) NodeGroupLaunchTemplatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupLaunchTemplatePtrOutput) +func (i *nodeGroupUpdateConfigPtrType) ToNodeGroupUpdateConfigPtrOutputWithContext(ctx context.Context) NodeGroupUpdateConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeGroupUpdateConfigPtrOutput) } -type NodeGroupLaunchTemplateOutput struct{ *pulumi.OutputState } +type NodeGroupUpdateConfigOutput struct{ *pulumi.OutputState } -func (NodeGroupLaunchTemplateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupLaunchTemplate)(nil)).Elem() +func (NodeGroupUpdateConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeGroupUpdateConfig)(nil)).Elem() } -func (o NodeGroupLaunchTemplateOutput) ToNodeGroupLaunchTemplateOutput() NodeGroupLaunchTemplateOutput { +func (o NodeGroupUpdateConfigOutput) ToNodeGroupUpdateConfigOutput() NodeGroupUpdateConfigOutput { return o } -func (o NodeGroupLaunchTemplateOutput) ToNodeGroupLaunchTemplateOutputWithContext(ctx context.Context) NodeGroupLaunchTemplateOutput { +func (o NodeGroupUpdateConfigOutput) ToNodeGroupUpdateConfigOutputWithContext(ctx context.Context) NodeGroupUpdateConfigOutput { return o } -func (o NodeGroupLaunchTemplateOutput) ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput { - return o.ToNodeGroupLaunchTemplatePtrOutputWithContext(context.Background()) +func (o NodeGroupUpdateConfigOutput) ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput { + return o.ToNodeGroupUpdateConfigPtrOutputWithContext(context.Background()) } -func (o NodeGroupLaunchTemplateOutput) ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) NodeGroupLaunchTemplatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeGroupLaunchTemplate) *NodeGroupLaunchTemplate { +func (o NodeGroupUpdateConfigOutput) ToNodeGroupUpdateConfigPtrOutputWithContext(ctx context.Context) NodeGroupUpdateConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeGroupUpdateConfig) *NodeGroupUpdateConfig { return &v - }).(NodeGroupLaunchTemplatePtrOutput) -} - -// Identifier of the EC2 Launch Template. Conflicts with `name`. -func (o NodeGroupLaunchTemplateOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodeGroupLaunchTemplate) *string { return v.Id }).(pulumi.StringPtrOutput) + }).(NodeGroupUpdateConfigPtrOutput) } -// Name of the EC2 Launch Template. Conflicts with `id`. -func (o NodeGroupLaunchTemplateOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodeGroupLaunchTemplate) *string { return v.Name }).(pulumi.StringPtrOutput) +// Desired max number of unavailable worker nodes during node group update. +func (o NodeGroupUpdateConfigOutput) MaxUnavailable() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodeGroupUpdateConfig) *int { return v.MaxUnavailable }).(pulumi.IntPtrOutput) } -// EC2 Launch Template version number. While the API accepts values like `$Default` and `$Latest`, the API will convert the value to the associated version number (e.g., `1`) on read and the provider will show a difference on next plan. Using the `defaultVersion` or `latestVersion` attribute of the `ec2.LaunchTemplate` resource or data source is recommended for this argument. -func (o NodeGroupLaunchTemplateOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v NodeGroupLaunchTemplate) string { return v.Version }).(pulumi.StringOutput) +// Desired max percentage of unavailable worker nodes during node group update. +func (o NodeGroupUpdateConfigOutput) MaxUnavailablePercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodeGroupUpdateConfig) *int { return v.MaxUnavailablePercentage }).(pulumi.IntPtrOutput) } -type NodeGroupLaunchTemplatePtrOutput struct{ *pulumi.OutputState } +type NodeGroupUpdateConfigPtrOutput struct{ *pulumi.OutputState } -func (NodeGroupLaunchTemplatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NodeGroupLaunchTemplate)(nil)).Elem() +func (NodeGroupUpdateConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodeGroupUpdateConfig)(nil)).Elem() } -func (o NodeGroupLaunchTemplatePtrOutput) ToNodeGroupLaunchTemplatePtrOutput() NodeGroupLaunchTemplatePtrOutput { +func (o NodeGroupUpdateConfigPtrOutput) ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput { return o } -func (o NodeGroupLaunchTemplatePtrOutput) ToNodeGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) NodeGroupLaunchTemplatePtrOutput { +func (o NodeGroupUpdateConfigPtrOutput) ToNodeGroupUpdateConfigPtrOutputWithContext(ctx context.Context) NodeGroupUpdateConfigPtrOutput { return o } -func (o NodeGroupLaunchTemplatePtrOutput) Elem() NodeGroupLaunchTemplateOutput { - return o.ApplyT(func(v *NodeGroupLaunchTemplate) NodeGroupLaunchTemplate { +func (o NodeGroupUpdateConfigPtrOutput) Elem() NodeGroupUpdateConfigOutput { + return o.ApplyT(func(v *NodeGroupUpdateConfig) NodeGroupUpdateConfig { if v != nil { return *v } - var ret NodeGroupLaunchTemplate + var ret NodeGroupUpdateConfig return ret - }).(NodeGroupLaunchTemplateOutput) -} - -// Identifier of the EC2 Launch Template. Conflicts with `name`. -func (o NodeGroupLaunchTemplatePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodeGroupLaunchTemplate) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) + }).(NodeGroupUpdateConfigOutput) } -// Name of the EC2 Launch Template. Conflicts with `id`. -func (o NodeGroupLaunchTemplatePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodeGroupLaunchTemplate) *string { +// Desired max number of unavailable worker nodes during node group update. +func (o NodeGroupUpdateConfigPtrOutput) MaxUnavailable() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodeGroupUpdateConfig) *int { if v == nil { return nil } - return v.Name - }).(pulumi.StringPtrOutput) + return v.MaxUnavailable + }).(pulumi.IntPtrOutput) } -// EC2 Launch Template version number. While the API accepts values like `$Default` and `$Latest`, the API will convert the value to the associated version number (e.g., `1`) on read and the provider will show a difference on next plan. Using the `defaultVersion` or `latestVersion` attribute of the `ec2.LaunchTemplate` resource or data source is recommended for this argument. -func (o NodeGroupLaunchTemplatePtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodeGroupLaunchTemplate) *string { +// Desired max percentage of unavailable worker nodes during node group update. +func (o NodeGroupUpdateConfigPtrOutput) MaxUnavailablePercentage() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodeGroupUpdateConfig) *int { if v == nil { return nil } - return &v.Version - }).(pulumi.StringPtrOutput) + return v.MaxUnavailablePercentage + }).(pulumi.IntPtrOutput) } -type NodeGroupRemoteAccess struct { - // EC2 Key Pair name that provides access for remote communication with the worker nodes in the EKS Node Group. If you specify this configuration, but do not specify `sourceSecurityGroupIds` when you create an EKS Node Group, either port 3389 for Windows, or port 22 for all other operating systems is opened on the worker nodes to the Internet (0.0.0.0/0). For Windows nodes, this will allow you to use RDP, for all others this allows you to SSH into the worker nodes. - Ec2SshKey *string `pulumi:"ec2SshKey"` - // Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2SshKey`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0). - SourceSecurityGroupIds []string `pulumi:"sourceSecurityGroupIds"` +type GetAddonPodIdentityAssociation struct { + // ARN of the IAM role associated with the EKS add-on. + RoleArn string `pulumi:"roleArn"` + // Service account associated with the EKS add-on. + ServiceAccount string `pulumi:"serviceAccount"` } -// NodeGroupRemoteAccessInput is an input type that accepts NodeGroupRemoteAccessArgs and NodeGroupRemoteAccessOutput values. -// You can construct a concrete instance of `NodeGroupRemoteAccessInput` via: +// GetAddonPodIdentityAssociationInput is an input type that accepts GetAddonPodIdentityAssociationArgs and GetAddonPodIdentityAssociationOutput values. +// You can construct a concrete instance of `GetAddonPodIdentityAssociationInput` via: // -// NodeGroupRemoteAccessArgs{...} -type NodeGroupRemoteAccessInput interface { +// GetAddonPodIdentityAssociationArgs{...} +type GetAddonPodIdentityAssociationInput interface { pulumi.Input - ToNodeGroupRemoteAccessOutput() NodeGroupRemoteAccessOutput - ToNodeGroupRemoteAccessOutputWithContext(context.Context) NodeGroupRemoteAccessOutput -} - -type NodeGroupRemoteAccessArgs struct { - // EC2 Key Pair name that provides access for remote communication with the worker nodes in the EKS Node Group. If you specify this configuration, but do not specify `sourceSecurityGroupIds` when you create an EKS Node Group, either port 3389 for Windows, or port 22 for all other operating systems is opened on the worker nodes to the Internet (0.0.0.0/0). For Windows nodes, this will allow you to use RDP, for all others this allows you to SSH into the worker nodes. - Ec2SshKey pulumi.StringPtrInput `pulumi:"ec2SshKey"` - // Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2SshKey`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0). - SourceSecurityGroupIds pulumi.StringArrayInput `pulumi:"sourceSecurityGroupIds"` -} - -func (NodeGroupRemoteAccessArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupRemoteAccess)(nil)).Elem() + ToGetAddonPodIdentityAssociationOutput() GetAddonPodIdentityAssociationOutput + ToGetAddonPodIdentityAssociationOutputWithContext(context.Context) GetAddonPodIdentityAssociationOutput } -func (i NodeGroupRemoteAccessArgs) ToNodeGroupRemoteAccessOutput() NodeGroupRemoteAccessOutput { - return i.ToNodeGroupRemoteAccessOutputWithContext(context.Background()) +type GetAddonPodIdentityAssociationArgs struct { + // ARN of the IAM role associated with the EKS add-on. + RoleArn pulumi.StringInput `pulumi:"roleArn"` + // Service account associated with the EKS add-on. + ServiceAccount pulumi.StringInput `pulumi:"serviceAccount"` } -func (i NodeGroupRemoteAccessArgs) ToNodeGroupRemoteAccessOutputWithContext(ctx context.Context) NodeGroupRemoteAccessOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupRemoteAccessOutput) +func (GetAddonPodIdentityAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAddonPodIdentityAssociation)(nil)).Elem() } -func (i NodeGroupRemoteAccessArgs) ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput { - return i.ToNodeGroupRemoteAccessPtrOutputWithContext(context.Background()) +func (i GetAddonPodIdentityAssociationArgs) ToGetAddonPodIdentityAssociationOutput() GetAddonPodIdentityAssociationOutput { + return i.ToGetAddonPodIdentityAssociationOutputWithContext(context.Background()) } -func (i NodeGroupRemoteAccessArgs) ToNodeGroupRemoteAccessPtrOutputWithContext(ctx context.Context) NodeGroupRemoteAccessPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupRemoteAccessOutput).ToNodeGroupRemoteAccessPtrOutputWithContext(ctx) +func (i GetAddonPodIdentityAssociationArgs) ToGetAddonPodIdentityAssociationOutputWithContext(ctx context.Context) GetAddonPodIdentityAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAddonPodIdentityAssociationOutput) } -// NodeGroupRemoteAccessPtrInput is an input type that accepts NodeGroupRemoteAccessArgs, NodeGroupRemoteAccessPtr and NodeGroupRemoteAccessPtrOutput values. -// You can construct a concrete instance of `NodeGroupRemoteAccessPtrInput` via: -// -// NodeGroupRemoteAccessArgs{...} -// -// or: +// GetAddonPodIdentityAssociationArrayInput is an input type that accepts GetAddonPodIdentityAssociationArray and GetAddonPodIdentityAssociationArrayOutput values. +// You can construct a concrete instance of `GetAddonPodIdentityAssociationArrayInput` via: // -// nil -type NodeGroupRemoteAccessPtrInput interface { +// GetAddonPodIdentityAssociationArray{ GetAddonPodIdentityAssociationArgs{...} } +type GetAddonPodIdentityAssociationArrayInput interface { pulumi.Input - ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput - ToNodeGroupRemoteAccessPtrOutputWithContext(context.Context) NodeGroupRemoteAccessPtrOutput + ToGetAddonPodIdentityAssociationArrayOutput() GetAddonPodIdentityAssociationArrayOutput + ToGetAddonPodIdentityAssociationArrayOutputWithContext(context.Context) GetAddonPodIdentityAssociationArrayOutput } -type nodeGroupRemoteAccessPtrType NodeGroupRemoteAccessArgs - -func NodeGroupRemoteAccessPtr(v *NodeGroupRemoteAccessArgs) NodeGroupRemoteAccessPtrInput { - return (*nodeGroupRemoteAccessPtrType)(v) -} +type GetAddonPodIdentityAssociationArray []GetAddonPodIdentityAssociationInput -func (*nodeGroupRemoteAccessPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NodeGroupRemoteAccess)(nil)).Elem() +func (GetAddonPodIdentityAssociationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAddonPodIdentityAssociation)(nil)).Elem() } -func (i *nodeGroupRemoteAccessPtrType) ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput { - return i.ToNodeGroupRemoteAccessPtrOutputWithContext(context.Background()) +func (i GetAddonPodIdentityAssociationArray) ToGetAddonPodIdentityAssociationArrayOutput() GetAddonPodIdentityAssociationArrayOutput { + return i.ToGetAddonPodIdentityAssociationArrayOutputWithContext(context.Background()) } -func (i *nodeGroupRemoteAccessPtrType) ToNodeGroupRemoteAccessPtrOutputWithContext(ctx context.Context) NodeGroupRemoteAccessPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupRemoteAccessPtrOutput) +func (i GetAddonPodIdentityAssociationArray) ToGetAddonPodIdentityAssociationArrayOutputWithContext(ctx context.Context) GetAddonPodIdentityAssociationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAddonPodIdentityAssociationArrayOutput) } -type NodeGroupRemoteAccessOutput struct{ *pulumi.OutputState } +type GetAddonPodIdentityAssociationOutput struct{ *pulumi.OutputState } -func (NodeGroupRemoteAccessOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupRemoteAccess)(nil)).Elem() +func (GetAddonPodIdentityAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAddonPodIdentityAssociation)(nil)).Elem() } -func (o NodeGroupRemoteAccessOutput) ToNodeGroupRemoteAccessOutput() NodeGroupRemoteAccessOutput { +func (o GetAddonPodIdentityAssociationOutput) ToGetAddonPodIdentityAssociationOutput() GetAddonPodIdentityAssociationOutput { return o } -func (o NodeGroupRemoteAccessOutput) ToNodeGroupRemoteAccessOutputWithContext(ctx context.Context) NodeGroupRemoteAccessOutput { +func (o GetAddonPodIdentityAssociationOutput) ToGetAddonPodIdentityAssociationOutputWithContext(ctx context.Context) GetAddonPodIdentityAssociationOutput { return o } -func (o NodeGroupRemoteAccessOutput) ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput { - return o.ToNodeGroupRemoteAccessPtrOutputWithContext(context.Background()) -} - -func (o NodeGroupRemoteAccessOutput) ToNodeGroupRemoteAccessPtrOutputWithContext(ctx context.Context) NodeGroupRemoteAccessPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeGroupRemoteAccess) *NodeGroupRemoteAccess { - return &v - }).(NodeGroupRemoteAccessPtrOutput) -} - -// EC2 Key Pair name that provides access for remote communication with the worker nodes in the EKS Node Group. If you specify this configuration, but do not specify `sourceSecurityGroupIds` when you create an EKS Node Group, either port 3389 for Windows, or port 22 for all other operating systems is opened on the worker nodes to the Internet (0.0.0.0/0). For Windows nodes, this will allow you to use RDP, for all others this allows you to SSH into the worker nodes. -func (o NodeGroupRemoteAccessOutput) Ec2SshKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodeGroupRemoteAccess) *string { return v.Ec2SshKey }).(pulumi.StringPtrOutput) -} - -// Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2SshKey`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0). -func (o NodeGroupRemoteAccessOutput) SourceSecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v NodeGroupRemoteAccess) []string { return v.SourceSecurityGroupIds }).(pulumi.StringArrayOutput) -} - -type NodeGroupRemoteAccessPtrOutput struct{ *pulumi.OutputState } - -func (NodeGroupRemoteAccessPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NodeGroupRemoteAccess)(nil)).Elem() +// ARN of the IAM role associated with the EKS add-on. +func (o GetAddonPodIdentityAssociationOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v GetAddonPodIdentityAssociation) string { return v.RoleArn }).(pulumi.StringOutput) } -func (o NodeGroupRemoteAccessPtrOutput) ToNodeGroupRemoteAccessPtrOutput() NodeGroupRemoteAccessPtrOutput { - return o +// Service account associated with the EKS add-on. +func (o GetAddonPodIdentityAssociationOutput) ServiceAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetAddonPodIdentityAssociation) string { return v.ServiceAccount }).(pulumi.StringOutput) } -func (o NodeGroupRemoteAccessPtrOutput) ToNodeGroupRemoteAccessPtrOutputWithContext(ctx context.Context) NodeGroupRemoteAccessPtrOutput { - return o -} +type GetAddonPodIdentityAssociationArrayOutput struct{ *pulumi.OutputState } -func (o NodeGroupRemoteAccessPtrOutput) Elem() NodeGroupRemoteAccessOutput { - return o.ApplyT(func(v *NodeGroupRemoteAccess) NodeGroupRemoteAccess { - if v != nil { - return *v - } - var ret NodeGroupRemoteAccess - return ret - }).(NodeGroupRemoteAccessOutput) +func (GetAddonPodIdentityAssociationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAddonPodIdentityAssociation)(nil)).Elem() } -// EC2 Key Pair name that provides access for remote communication with the worker nodes in the EKS Node Group. If you specify this configuration, but do not specify `sourceSecurityGroupIds` when you create an EKS Node Group, either port 3389 for Windows, or port 22 for all other operating systems is opened on the worker nodes to the Internet (0.0.0.0/0). For Windows nodes, this will allow you to use RDP, for all others this allows you to SSH into the worker nodes. -func (o NodeGroupRemoteAccessPtrOutput) Ec2SshKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodeGroupRemoteAccess) *string { - if v == nil { - return nil - } - return v.Ec2SshKey - }).(pulumi.StringPtrOutput) +func (o GetAddonPodIdentityAssociationArrayOutput) ToGetAddonPodIdentityAssociationArrayOutput() GetAddonPodIdentityAssociationArrayOutput { + return o } -// Set of EC2 Security Group IDs to allow SSH access (port 22) from on the worker nodes. If you specify `ec2SshKey`, but do not specify this configuration when you create an EKS Node Group, port 22 on the worker nodes is opened to the Internet (0.0.0.0/0). -func (o NodeGroupRemoteAccessPtrOutput) SourceSecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NodeGroupRemoteAccess) []string { - if v == nil { - return nil - } - return v.SourceSecurityGroupIds - }).(pulumi.StringArrayOutput) +func (o GetAddonPodIdentityAssociationArrayOutput) ToGetAddonPodIdentityAssociationArrayOutputWithContext(ctx context.Context) GetAddonPodIdentityAssociationArrayOutput { + return o } -type NodeGroupResource struct { - // List of objects containing information about AutoScaling Groups. - AutoscalingGroups []NodeGroupResourceAutoscalingGroup `pulumi:"autoscalingGroups"` - // Identifier of the remote access EC2 Security Group. - RemoteAccessSecurityGroupId *string `pulumi:"remoteAccessSecurityGroupId"` +func (o GetAddonPodIdentityAssociationArrayOutput) Index(i pulumi.IntInput) GetAddonPodIdentityAssociationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAddonPodIdentityAssociation { + return vs[0].([]GetAddonPodIdentityAssociation)[vs[1].(int)] + }).(GetAddonPodIdentityAssociationOutput) } -// NodeGroupResourceInput is an input type that accepts NodeGroupResourceArgs and NodeGroupResourceOutput values. -// You can construct a concrete instance of `NodeGroupResourceInput` via: +type GetClusterAccessConfig struct { + // Values returned are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP` + AuthenticationMode string `pulumi:"authenticationMode"` + // Default to `true`. + BootstrapClusterCreatorAdminPermissions bool `pulumi:"bootstrapClusterCreatorAdminPermissions"` +} + +// GetClusterAccessConfigInput is an input type that accepts GetClusterAccessConfigArgs and GetClusterAccessConfigOutput values. +// You can construct a concrete instance of `GetClusterAccessConfigInput` via: // -// NodeGroupResourceArgs{...} -type NodeGroupResourceInput interface { +// GetClusterAccessConfigArgs{...} +type GetClusterAccessConfigInput interface { pulumi.Input - ToNodeGroupResourceOutput() NodeGroupResourceOutput - ToNodeGroupResourceOutputWithContext(context.Context) NodeGroupResourceOutput + ToGetClusterAccessConfigOutput() GetClusterAccessConfigOutput + ToGetClusterAccessConfigOutputWithContext(context.Context) GetClusterAccessConfigOutput } -type NodeGroupResourceArgs struct { - // List of objects containing information about AutoScaling Groups. - AutoscalingGroups NodeGroupResourceAutoscalingGroupArrayInput `pulumi:"autoscalingGroups"` - // Identifier of the remote access EC2 Security Group. - RemoteAccessSecurityGroupId pulumi.StringPtrInput `pulumi:"remoteAccessSecurityGroupId"` +type GetClusterAccessConfigArgs struct { + // Values returned are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP` + AuthenticationMode pulumi.StringInput `pulumi:"authenticationMode"` + // Default to `true`. + BootstrapClusterCreatorAdminPermissions pulumi.BoolInput `pulumi:"bootstrapClusterCreatorAdminPermissions"` } -func (NodeGroupResourceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupResource)(nil)).Elem() +func (GetClusterAccessConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterAccessConfig)(nil)).Elem() } -func (i NodeGroupResourceArgs) ToNodeGroupResourceOutput() NodeGroupResourceOutput { - return i.ToNodeGroupResourceOutputWithContext(context.Background()) +func (i GetClusterAccessConfigArgs) ToGetClusterAccessConfigOutput() GetClusterAccessConfigOutput { + return i.ToGetClusterAccessConfigOutputWithContext(context.Background()) } -func (i NodeGroupResourceArgs) ToNodeGroupResourceOutputWithContext(ctx context.Context) NodeGroupResourceOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupResourceOutput) +func (i GetClusterAccessConfigArgs) ToGetClusterAccessConfigOutputWithContext(ctx context.Context) GetClusterAccessConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterAccessConfigOutput) } -// NodeGroupResourceArrayInput is an input type that accepts NodeGroupResourceArray and NodeGroupResourceArrayOutput values. -// You can construct a concrete instance of `NodeGroupResourceArrayInput` via: +// GetClusterAccessConfigArrayInput is an input type that accepts GetClusterAccessConfigArray and GetClusterAccessConfigArrayOutput values. +// You can construct a concrete instance of `GetClusterAccessConfigArrayInput` via: // -// NodeGroupResourceArray{ NodeGroupResourceArgs{...} } -type NodeGroupResourceArrayInput interface { +// GetClusterAccessConfigArray{ GetClusterAccessConfigArgs{...} } +type GetClusterAccessConfigArrayInput interface { pulumi.Input - ToNodeGroupResourceArrayOutput() NodeGroupResourceArrayOutput - ToNodeGroupResourceArrayOutputWithContext(context.Context) NodeGroupResourceArrayOutput + ToGetClusterAccessConfigArrayOutput() GetClusterAccessConfigArrayOutput + ToGetClusterAccessConfigArrayOutputWithContext(context.Context) GetClusterAccessConfigArrayOutput } -type NodeGroupResourceArray []NodeGroupResourceInput +type GetClusterAccessConfigArray []GetClusterAccessConfigInput -func (NodeGroupResourceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodeGroupResource)(nil)).Elem() +func (GetClusterAccessConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterAccessConfig)(nil)).Elem() } -func (i NodeGroupResourceArray) ToNodeGroupResourceArrayOutput() NodeGroupResourceArrayOutput { - return i.ToNodeGroupResourceArrayOutputWithContext(context.Background()) +func (i GetClusterAccessConfigArray) ToGetClusterAccessConfigArrayOutput() GetClusterAccessConfigArrayOutput { + return i.ToGetClusterAccessConfigArrayOutputWithContext(context.Background()) } -func (i NodeGroupResourceArray) ToNodeGroupResourceArrayOutputWithContext(ctx context.Context) NodeGroupResourceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupResourceArrayOutput) +func (i GetClusterAccessConfigArray) ToGetClusterAccessConfigArrayOutputWithContext(ctx context.Context) GetClusterAccessConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterAccessConfigArrayOutput) } -type NodeGroupResourceOutput struct{ *pulumi.OutputState } +type GetClusterAccessConfigOutput struct{ *pulumi.OutputState } -func (NodeGroupResourceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupResource)(nil)).Elem() +func (GetClusterAccessConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterAccessConfig)(nil)).Elem() } -func (o NodeGroupResourceOutput) ToNodeGroupResourceOutput() NodeGroupResourceOutput { +func (o GetClusterAccessConfigOutput) ToGetClusterAccessConfigOutput() GetClusterAccessConfigOutput { return o } -func (o NodeGroupResourceOutput) ToNodeGroupResourceOutputWithContext(ctx context.Context) NodeGroupResourceOutput { +func (o GetClusterAccessConfigOutput) ToGetClusterAccessConfigOutputWithContext(ctx context.Context) GetClusterAccessConfigOutput { return o } -// List of objects containing information about AutoScaling Groups. -func (o NodeGroupResourceOutput) AutoscalingGroups() NodeGroupResourceAutoscalingGroupArrayOutput { - return o.ApplyT(func(v NodeGroupResource) []NodeGroupResourceAutoscalingGroup { return v.AutoscalingGroups }).(NodeGroupResourceAutoscalingGroupArrayOutput) +// Values returned are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP` +func (o GetClusterAccessConfigOutput) AuthenticationMode() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterAccessConfig) string { return v.AuthenticationMode }).(pulumi.StringOutput) } -// Identifier of the remote access EC2 Security Group. -func (o NodeGroupResourceOutput) RemoteAccessSecurityGroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodeGroupResource) *string { return v.RemoteAccessSecurityGroupId }).(pulumi.StringPtrOutput) +// Default to `true`. +func (o GetClusterAccessConfigOutput) BootstrapClusterCreatorAdminPermissions() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterAccessConfig) bool { return v.BootstrapClusterCreatorAdminPermissions }).(pulumi.BoolOutput) } -type NodeGroupResourceArrayOutput struct{ *pulumi.OutputState } +type GetClusterAccessConfigArrayOutput struct{ *pulumi.OutputState } -func (NodeGroupResourceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodeGroupResource)(nil)).Elem() +func (GetClusterAccessConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterAccessConfig)(nil)).Elem() } -func (o NodeGroupResourceArrayOutput) ToNodeGroupResourceArrayOutput() NodeGroupResourceArrayOutput { +func (o GetClusterAccessConfigArrayOutput) ToGetClusterAccessConfigArrayOutput() GetClusterAccessConfigArrayOutput { return o } -func (o NodeGroupResourceArrayOutput) ToNodeGroupResourceArrayOutputWithContext(ctx context.Context) NodeGroupResourceArrayOutput { +func (o GetClusterAccessConfigArrayOutput) ToGetClusterAccessConfigArrayOutputWithContext(ctx context.Context) GetClusterAccessConfigArrayOutput { return o } -func (o NodeGroupResourceArrayOutput) Index(i pulumi.IntInput) NodeGroupResourceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeGroupResource { - return vs[0].([]NodeGroupResource)[vs[1].(int)] - }).(NodeGroupResourceOutput) +func (o GetClusterAccessConfigArrayOutput) Index(i pulumi.IntInput) GetClusterAccessConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterAccessConfig { + return vs[0].([]GetClusterAccessConfig)[vs[1].(int)] + }).(GetClusterAccessConfigOutput) } -type NodeGroupResourceAutoscalingGroup struct { - // Name of the AutoScaling Group. - Name *string `pulumi:"name"` +type GetClusterCertificateAuthority struct { + // The base64 encoded certificate data required to communicate with your cluster. Add this to the `certificate-authority-data` section of the `kubeconfig` file for your cluster. + Data string `pulumi:"data"` } -// NodeGroupResourceAutoscalingGroupInput is an input type that accepts NodeGroupResourceAutoscalingGroupArgs and NodeGroupResourceAutoscalingGroupOutput values. -// You can construct a concrete instance of `NodeGroupResourceAutoscalingGroupInput` via: +// GetClusterCertificateAuthorityInput is an input type that accepts GetClusterCertificateAuthorityArgs and GetClusterCertificateAuthorityOutput values. +// You can construct a concrete instance of `GetClusterCertificateAuthorityInput` via: // -// NodeGroupResourceAutoscalingGroupArgs{...} -type NodeGroupResourceAutoscalingGroupInput interface { +// GetClusterCertificateAuthorityArgs{...} +type GetClusterCertificateAuthorityInput interface { pulumi.Input - ToNodeGroupResourceAutoscalingGroupOutput() NodeGroupResourceAutoscalingGroupOutput - ToNodeGroupResourceAutoscalingGroupOutputWithContext(context.Context) NodeGroupResourceAutoscalingGroupOutput + ToGetClusterCertificateAuthorityOutput() GetClusterCertificateAuthorityOutput + ToGetClusterCertificateAuthorityOutputWithContext(context.Context) GetClusterCertificateAuthorityOutput } -type NodeGroupResourceAutoscalingGroupArgs struct { - // Name of the AutoScaling Group. - Name pulumi.StringPtrInput `pulumi:"name"` +type GetClusterCertificateAuthorityArgs struct { + // The base64 encoded certificate data required to communicate with your cluster. Add this to the `certificate-authority-data` section of the `kubeconfig` file for your cluster. + Data pulumi.StringInput `pulumi:"data"` } -func (NodeGroupResourceAutoscalingGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupResourceAutoscalingGroup)(nil)).Elem() +func (GetClusterCertificateAuthorityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterCertificateAuthority)(nil)).Elem() } -func (i NodeGroupResourceAutoscalingGroupArgs) ToNodeGroupResourceAutoscalingGroupOutput() NodeGroupResourceAutoscalingGroupOutput { - return i.ToNodeGroupResourceAutoscalingGroupOutputWithContext(context.Background()) +func (i GetClusterCertificateAuthorityArgs) ToGetClusterCertificateAuthorityOutput() GetClusterCertificateAuthorityOutput { + return i.ToGetClusterCertificateAuthorityOutputWithContext(context.Background()) } -func (i NodeGroupResourceAutoscalingGroupArgs) ToNodeGroupResourceAutoscalingGroupOutputWithContext(ctx context.Context) NodeGroupResourceAutoscalingGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupResourceAutoscalingGroupOutput) +func (i GetClusterCertificateAuthorityArgs) ToGetClusterCertificateAuthorityOutputWithContext(ctx context.Context) GetClusterCertificateAuthorityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterCertificateAuthorityOutput) } -// NodeGroupResourceAutoscalingGroupArrayInput is an input type that accepts NodeGroupResourceAutoscalingGroupArray and NodeGroupResourceAutoscalingGroupArrayOutput values. -// You can construct a concrete instance of `NodeGroupResourceAutoscalingGroupArrayInput` via: +// GetClusterCertificateAuthorityArrayInput is an input type that accepts GetClusterCertificateAuthorityArray and GetClusterCertificateAuthorityArrayOutput values. +// You can construct a concrete instance of `GetClusterCertificateAuthorityArrayInput` via: // -// NodeGroupResourceAutoscalingGroupArray{ NodeGroupResourceAutoscalingGroupArgs{...} } -type NodeGroupResourceAutoscalingGroupArrayInput interface { +// GetClusterCertificateAuthorityArray{ GetClusterCertificateAuthorityArgs{...} } +type GetClusterCertificateAuthorityArrayInput interface { pulumi.Input - ToNodeGroupResourceAutoscalingGroupArrayOutput() NodeGroupResourceAutoscalingGroupArrayOutput - ToNodeGroupResourceAutoscalingGroupArrayOutputWithContext(context.Context) NodeGroupResourceAutoscalingGroupArrayOutput + ToGetClusterCertificateAuthorityArrayOutput() GetClusterCertificateAuthorityArrayOutput + ToGetClusterCertificateAuthorityArrayOutputWithContext(context.Context) GetClusterCertificateAuthorityArrayOutput } -type NodeGroupResourceAutoscalingGroupArray []NodeGroupResourceAutoscalingGroupInput +type GetClusterCertificateAuthorityArray []GetClusterCertificateAuthorityInput -func (NodeGroupResourceAutoscalingGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodeGroupResourceAutoscalingGroup)(nil)).Elem() +func (GetClusterCertificateAuthorityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterCertificateAuthority)(nil)).Elem() } -func (i NodeGroupResourceAutoscalingGroupArray) ToNodeGroupResourceAutoscalingGroupArrayOutput() NodeGroupResourceAutoscalingGroupArrayOutput { - return i.ToNodeGroupResourceAutoscalingGroupArrayOutputWithContext(context.Background()) +func (i GetClusterCertificateAuthorityArray) ToGetClusterCertificateAuthorityArrayOutput() GetClusterCertificateAuthorityArrayOutput { + return i.ToGetClusterCertificateAuthorityArrayOutputWithContext(context.Background()) } -func (i NodeGroupResourceAutoscalingGroupArray) ToNodeGroupResourceAutoscalingGroupArrayOutputWithContext(ctx context.Context) NodeGroupResourceAutoscalingGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupResourceAutoscalingGroupArrayOutput) +func (i GetClusterCertificateAuthorityArray) ToGetClusterCertificateAuthorityArrayOutputWithContext(ctx context.Context) GetClusterCertificateAuthorityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterCertificateAuthorityArrayOutput) } -type NodeGroupResourceAutoscalingGroupOutput struct{ *pulumi.OutputState } +type GetClusterCertificateAuthorityOutput struct{ *pulumi.OutputState } -func (NodeGroupResourceAutoscalingGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupResourceAutoscalingGroup)(nil)).Elem() +func (GetClusterCertificateAuthorityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterCertificateAuthority)(nil)).Elem() } -func (o NodeGroupResourceAutoscalingGroupOutput) ToNodeGroupResourceAutoscalingGroupOutput() NodeGroupResourceAutoscalingGroupOutput { +func (o GetClusterCertificateAuthorityOutput) ToGetClusterCertificateAuthorityOutput() GetClusterCertificateAuthorityOutput { return o } -func (o NodeGroupResourceAutoscalingGroupOutput) ToNodeGroupResourceAutoscalingGroupOutputWithContext(ctx context.Context) NodeGroupResourceAutoscalingGroupOutput { +func (o GetClusterCertificateAuthorityOutput) ToGetClusterCertificateAuthorityOutputWithContext(ctx context.Context) GetClusterCertificateAuthorityOutput { return o } -// Name of the AutoScaling Group. -func (o NodeGroupResourceAutoscalingGroupOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodeGroupResourceAutoscalingGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +// The base64 encoded certificate data required to communicate with your cluster. Add this to the `certificate-authority-data` section of the `kubeconfig` file for your cluster. +func (o GetClusterCertificateAuthorityOutput) Data() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterCertificateAuthority) string { return v.Data }).(pulumi.StringOutput) } -type NodeGroupResourceAutoscalingGroupArrayOutput struct{ *pulumi.OutputState } +type GetClusterCertificateAuthorityArrayOutput struct{ *pulumi.OutputState } -func (NodeGroupResourceAutoscalingGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodeGroupResourceAutoscalingGroup)(nil)).Elem() +func (GetClusterCertificateAuthorityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterCertificateAuthority)(nil)).Elem() } -func (o NodeGroupResourceAutoscalingGroupArrayOutput) ToNodeGroupResourceAutoscalingGroupArrayOutput() NodeGroupResourceAutoscalingGroupArrayOutput { +func (o GetClusterCertificateAuthorityArrayOutput) ToGetClusterCertificateAuthorityArrayOutput() GetClusterCertificateAuthorityArrayOutput { return o } -func (o NodeGroupResourceAutoscalingGroupArrayOutput) ToNodeGroupResourceAutoscalingGroupArrayOutputWithContext(ctx context.Context) NodeGroupResourceAutoscalingGroupArrayOutput { +func (o GetClusterCertificateAuthorityArrayOutput) ToGetClusterCertificateAuthorityArrayOutputWithContext(ctx context.Context) GetClusterCertificateAuthorityArrayOutput { return o } -func (o NodeGroupResourceAutoscalingGroupArrayOutput) Index(i pulumi.IntInput) NodeGroupResourceAutoscalingGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeGroupResourceAutoscalingGroup { - return vs[0].([]NodeGroupResourceAutoscalingGroup)[vs[1].(int)] - }).(NodeGroupResourceAutoscalingGroupOutput) +func (o GetClusterCertificateAuthorityArrayOutput) Index(i pulumi.IntInput) GetClusterCertificateAuthorityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterCertificateAuthority { + return vs[0].([]GetClusterCertificateAuthority)[vs[1].(int)] + }).(GetClusterCertificateAuthorityOutput) } -type NodeGroupScalingConfig struct { - // Desired number of worker nodes. - DesiredSize int `pulumi:"desiredSize"` - // Maximum number of worker nodes. - MaxSize int `pulumi:"maxSize"` - // Minimum number of worker nodes. - MinSize int `pulumi:"minSize"` +type GetClusterComputeConfig struct { + // Whether zonal shift is enabled. + Enabled bool `pulumi:"enabled"` + // List of node pools for the EKS Auto Mode compute capability. + NodePools []string `pulumi:"nodePools"` + // The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. + NodeRoleArn string `pulumi:"nodeRoleArn"` +} + +// GetClusterComputeConfigInput is an input type that accepts GetClusterComputeConfigArgs and GetClusterComputeConfigOutput values. +// You can construct a concrete instance of `GetClusterComputeConfigInput` via: +// +// GetClusterComputeConfigArgs{...} +type GetClusterComputeConfigInput interface { + pulumi.Input + + ToGetClusterComputeConfigOutput() GetClusterComputeConfigOutput + ToGetClusterComputeConfigOutputWithContext(context.Context) GetClusterComputeConfigOutput +} + +type GetClusterComputeConfigArgs struct { + // Whether zonal shift is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // List of node pools for the EKS Auto Mode compute capability. + NodePools pulumi.StringArrayInput `pulumi:"nodePools"` + // The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. + NodeRoleArn pulumi.StringInput `pulumi:"nodeRoleArn"` +} + +func (GetClusterComputeConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterComputeConfig)(nil)).Elem() +} + +func (i GetClusterComputeConfigArgs) ToGetClusterComputeConfigOutput() GetClusterComputeConfigOutput { + return i.ToGetClusterComputeConfigOutputWithContext(context.Background()) +} + +func (i GetClusterComputeConfigArgs) ToGetClusterComputeConfigOutputWithContext(ctx context.Context) GetClusterComputeConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterComputeConfigOutput) } -// NodeGroupScalingConfigInput is an input type that accepts NodeGroupScalingConfigArgs and NodeGroupScalingConfigOutput values. -// You can construct a concrete instance of `NodeGroupScalingConfigInput` via: +// GetClusterComputeConfigArrayInput is an input type that accepts GetClusterComputeConfigArray and GetClusterComputeConfigArrayOutput values. +// You can construct a concrete instance of `GetClusterComputeConfigArrayInput` via: // -// NodeGroupScalingConfigArgs{...} -type NodeGroupScalingConfigInput interface { +// GetClusterComputeConfigArray{ GetClusterComputeConfigArgs{...} } +type GetClusterComputeConfigArrayInput interface { pulumi.Input - ToNodeGroupScalingConfigOutput() NodeGroupScalingConfigOutput - ToNodeGroupScalingConfigOutputWithContext(context.Context) NodeGroupScalingConfigOutput + ToGetClusterComputeConfigArrayOutput() GetClusterComputeConfigArrayOutput + ToGetClusterComputeConfigArrayOutputWithContext(context.Context) GetClusterComputeConfigArrayOutput } -type NodeGroupScalingConfigArgs struct { - // Desired number of worker nodes. - DesiredSize pulumi.IntInput `pulumi:"desiredSize"` - // Maximum number of worker nodes. - MaxSize pulumi.IntInput `pulumi:"maxSize"` - // Minimum number of worker nodes. - MinSize pulumi.IntInput `pulumi:"minSize"` +type GetClusterComputeConfigArray []GetClusterComputeConfigInput + +func (GetClusterComputeConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterComputeConfig)(nil)).Elem() } -func (NodeGroupScalingConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupScalingConfig)(nil)).Elem() +func (i GetClusterComputeConfigArray) ToGetClusterComputeConfigArrayOutput() GetClusterComputeConfigArrayOutput { + return i.ToGetClusterComputeConfigArrayOutputWithContext(context.Background()) } -func (i NodeGroupScalingConfigArgs) ToNodeGroupScalingConfigOutput() NodeGroupScalingConfigOutput { - return i.ToNodeGroupScalingConfigOutputWithContext(context.Background()) +func (i GetClusterComputeConfigArray) ToGetClusterComputeConfigArrayOutputWithContext(ctx context.Context) GetClusterComputeConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterComputeConfigArrayOutput) } -func (i NodeGroupScalingConfigArgs) ToNodeGroupScalingConfigOutputWithContext(ctx context.Context) NodeGroupScalingConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupScalingConfigOutput) +type GetClusterComputeConfigOutput struct{ *pulumi.OutputState } + +func (GetClusterComputeConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterComputeConfig)(nil)).Elem() } -func (i NodeGroupScalingConfigArgs) ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput { - return i.ToNodeGroupScalingConfigPtrOutputWithContext(context.Background()) +func (o GetClusterComputeConfigOutput) ToGetClusterComputeConfigOutput() GetClusterComputeConfigOutput { + return o } -func (i NodeGroupScalingConfigArgs) ToNodeGroupScalingConfigPtrOutputWithContext(ctx context.Context) NodeGroupScalingConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupScalingConfigOutput).ToNodeGroupScalingConfigPtrOutputWithContext(ctx) +func (o GetClusterComputeConfigOutput) ToGetClusterComputeConfigOutputWithContext(ctx context.Context) GetClusterComputeConfigOutput { + return o } -// NodeGroupScalingConfigPtrInput is an input type that accepts NodeGroupScalingConfigArgs, NodeGroupScalingConfigPtr and NodeGroupScalingConfigPtrOutput values. -// You can construct a concrete instance of `NodeGroupScalingConfigPtrInput` via: -// -// NodeGroupScalingConfigArgs{...} -// -// or: -// -// nil -type NodeGroupScalingConfigPtrInput interface { - pulumi.Input +// Whether zonal shift is enabled. +func (o GetClusterComputeConfigOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterComputeConfig) bool { return v.Enabled }).(pulumi.BoolOutput) +} - ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput - ToNodeGroupScalingConfigPtrOutputWithContext(context.Context) NodeGroupScalingConfigPtrOutput +// List of node pools for the EKS Auto Mode compute capability. +func (o GetClusterComputeConfigOutput) NodePools() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterComputeConfig) []string { return v.NodePools }).(pulumi.StringArrayOutput) } -type nodeGroupScalingConfigPtrType NodeGroupScalingConfigArgs +// The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. +func (o GetClusterComputeConfigOutput) NodeRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterComputeConfig) string { return v.NodeRoleArn }).(pulumi.StringOutput) +} -func NodeGroupScalingConfigPtr(v *NodeGroupScalingConfigArgs) NodeGroupScalingConfigPtrInput { - return (*nodeGroupScalingConfigPtrType)(v) +type GetClusterComputeConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterComputeConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterComputeConfig)(nil)).Elem() } -func (*nodeGroupScalingConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NodeGroupScalingConfig)(nil)).Elem() +func (o GetClusterComputeConfigArrayOutput) ToGetClusterComputeConfigArrayOutput() GetClusterComputeConfigArrayOutput { + return o } -func (i *nodeGroupScalingConfigPtrType) ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput { - return i.ToNodeGroupScalingConfigPtrOutputWithContext(context.Background()) +func (o GetClusterComputeConfigArrayOutput) ToGetClusterComputeConfigArrayOutputWithContext(ctx context.Context) GetClusterComputeConfigArrayOutput { + return o } -func (i *nodeGroupScalingConfigPtrType) ToNodeGroupScalingConfigPtrOutputWithContext(ctx context.Context) NodeGroupScalingConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupScalingConfigPtrOutput) +func (o GetClusterComputeConfigArrayOutput) Index(i pulumi.IntInput) GetClusterComputeConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterComputeConfig { + return vs[0].([]GetClusterComputeConfig)[vs[1].(int)] + }).(GetClusterComputeConfigOutput) } -type NodeGroupScalingConfigOutput struct{ *pulumi.OutputState } +type GetClusterIdentity struct { + // Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provider information for the cluster. + Oidcs []GetClusterIdentityOidc `pulumi:"oidcs"` +} -func (NodeGroupScalingConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupScalingConfig)(nil)).Elem() +// GetClusterIdentityInput is an input type that accepts GetClusterIdentityArgs and GetClusterIdentityOutput values. +// You can construct a concrete instance of `GetClusterIdentityInput` via: +// +// GetClusterIdentityArgs{...} +type GetClusterIdentityInput interface { + pulumi.Input + + ToGetClusterIdentityOutput() GetClusterIdentityOutput + ToGetClusterIdentityOutputWithContext(context.Context) GetClusterIdentityOutput } -func (o NodeGroupScalingConfigOutput) ToNodeGroupScalingConfigOutput() NodeGroupScalingConfigOutput { - return o +type GetClusterIdentityArgs struct { + // Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provider information for the cluster. + Oidcs GetClusterIdentityOidcArrayInput `pulumi:"oidcs"` } -func (o NodeGroupScalingConfigOutput) ToNodeGroupScalingConfigOutputWithContext(ctx context.Context) NodeGroupScalingConfigOutput { - return o +func (GetClusterIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterIdentity)(nil)).Elem() } -func (o NodeGroupScalingConfigOutput) ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput { - return o.ToNodeGroupScalingConfigPtrOutputWithContext(context.Background()) +func (i GetClusterIdentityArgs) ToGetClusterIdentityOutput() GetClusterIdentityOutput { + return i.ToGetClusterIdentityOutputWithContext(context.Background()) } -func (o NodeGroupScalingConfigOutput) ToNodeGroupScalingConfigPtrOutputWithContext(ctx context.Context) NodeGroupScalingConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeGroupScalingConfig) *NodeGroupScalingConfig { - return &v - }).(NodeGroupScalingConfigPtrOutput) +func (i GetClusterIdentityArgs) ToGetClusterIdentityOutputWithContext(ctx context.Context) GetClusterIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterIdentityOutput) } -// Desired number of worker nodes. -func (o NodeGroupScalingConfigOutput) DesiredSize() pulumi.IntOutput { - return o.ApplyT(func(v NodeGroupScalingConfig) int { return v.DesiredSize }).(pulumi.IntOutput) +// GetClusterIdentityArrayInput is an input type that accepts GetClusterIdentityArray and GetClusterIdentityArrayOutput values. +// You can construct a concrete instance of `GetClusterIdentityArrayInput` via: +// +// GetClusterIdentityArray{ GetClusterIdentityArgs{...} } +type GetClusterIdentityArrayInput interface { + pulumi.Input + + ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput + ToGetClusterIdentityArrayOutputWithContext(context.Context) GetClusterIdentityArrayOutput } -// Maximum number of worker nodes. -func (o NodeGroupScalingConfigOutput) MaxSize() pulumi.IntOutput { - return o.ApplyT(func(v NodeGroupScalingConfig) int { return v.MaxSize }).(pulumi.IntOutput) +type GetClusterIdentityArray []GetClusterIdentityInput + +func (GetClusterIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterIdentity)(nil)).Elem() } -// Minimum number of worker nodes. -func (o NodeGroupScalingConfigOutput) MinSize() pulumi.IntOutput { - return o.ApplyT(func(v NodeGroupScalingConfig) int { return v.MinSize }).(pulumi.IntOutput) +func (i GetClusterIdentityArray) ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput { + return i.ToGetClusterIdentityArrayOutputWithContext(context.Background()) } -type NodeGroupScalingConfigPtrOutput struct{ *pulumi.OutputState } +func (i GetClusterIdentityArray) ToGetClusterIdentityArrayOutputWithContext(ctx context.Context) GetClusterIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterIdentityArrayOutput) +} -func (NodeGroupScalingConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NodeGroupScalingConfig)(nil)).Elem() +type GetClusterIdentityOutput struct{ *pulumi.OutputState } + +func (GetClusterIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterIdentity)(nil)).Elem() } -func (o NodeGroupScalingConfigPtrOutput) ToNodeGroupScalingConfigPtrOutput() NodeGroupScalingConfigPtrOutput { +func (o GetClusterIdentityOutput) ToGetClusterIdentityOutput() GetClusterIdentityOutput { return o } -func (o NodeGroupScalingConfigPtrOutput) ToNodeGroupScalingConfigPtrOutputWithContext(ctx context.Context) NodeGroupScalingConfigPtrOutput { +func (o GetClusterIdentityOutput) ToGetClusterIdentityOutputWithContext(ctx context.Context) GetClusterIdentityOutput { return o } -func (o NodeGroupScalingConfigPtrOutput) Elem() NodeGroupScalingConfigOutput { - return o.ApplyT(func(v *NodeGroupScalingConfig) NodeGroupScalingConfig { - if v != nil { - return *v - } - var ret NodeGroupScalingConfig - return ret - }).(NodeGroupScalingConfigOutput) +// Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provider information for the cluster. +func (o GetClusterIdentityOutput) Oidcs() GetClusterIdentityOidcArrayOutput { + return o.ApplyT(func(v GetClusterIdentity) []GetClusterIdentityOidc { return v.Oidcs }).(GetClusterIdentityOidcArrayOutput) } -// Desired number of worker nodes. -func (o NodeGroupScalingConfigPtrOutput) DesiredSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodeGroupScalingConfig) *int { - if v == nil { - return nil - } - return &v.DesiredSize - }).(pulumi.IntPtrOutput) +type GetClusterIdentityArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterIdentity)(nil)).Elem() } -// Maximum number of worker nodes. -func (o NodeGroupScalingConfigPtrOutput) MaxSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodeGroupScalingConfig) *int { - if v == nil { - return nil - } - return &v.MaxSize - }).(pulumi.IntPtrOutput) +func (o GetClusterIdentityArrayOutput) ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput { + return o } -// Minimum number of worker nodes. -func (o NodeGroupScalingConfigPtrOutput) MinSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodeGroupScalingConfig) *int { - if v == nil { - return nil - } - return &v.MinSize - }).(pulumi.IntPtrOutput) +func (o GetClusterIdentityArrayOutput) ToGetClusterIdentityArrayOutputWithContext(ctx context.Context) GetClusterIdentityArrayOutput { + return o } -type NodeGroupTaint struct { - // The effect of the taint. Valid values: `NO_SCHEDULE`, `NO_EXECUTE`, `PREFER_NO_SCHEDULE`. - Effect string `pulumi:"effect"` - // The key of the taint. Maximum length of 63. - Key string `pulumi:"key"` - // The value of the taint. Maximum length of 63. - Value *string `pulumi:"value"` +func (o GetClusterIdentityArrayOutput) Index(i pulumi.IntInput) GetClusterIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterIdentity { + return vs[0].([]GetClusterIdentity)[vs[1].(int)] + }).(GetClusterIdentityOutput) } -// NodeGroupTaintInput is an input type that accepts NodeGroupTaintArgs and NodeGroupTaintOutput values. -// You can construct a concrete instance of `NodeGroupTaintInput` via: +type GetClusterIdentityOidc struct { + // Issuer URL for the OpenID Connect identity provider. + Issuer string `pulumi:"issuer"` +} + +// GetClusterIdentityOidcInput is an input type that accepts GetClusterIdentityOidcArgs and GetClusterIdentityOidcOutput values. +// You can construct a concrete instance of `GetClusterIdentityOidcInput` via: // -// NodeGroupTaintArgs{...} -type NodeGroupTaintInput interface { +// GetClusterIdentityOidcArgs{...} +type GetClusterIdentityOidcInput interface { pulumi.Input - ToNodeGroupTaintOutput() NodeGroupTaintOutput - ToNodeGroupTaintOutputWithContext(context.Context) NodeGroupTaintOutput + ToGetClusterIdentityOidcOutput() GetClusterIdentityOidcOutput + ToGetClusterIdentityOidcOutputWithContext(context.Context) GetClusterIdentityOidcOutput } -type NodeGroupTaintArgs struct { - // The effect of the taint. Valid values: `NO_SCHEDULE`, `NO_EXECUTE`, `PREFER_NO_SCHEDULE`. - Effect pulumi.StringInput `pulumi:"effect"` - // The key of the taint. Maximum length of 63. - Key pulumi.StringInput `pulumi:"key"` - // The value of the taint. Maximum length of 63. - Value pulumi.StringPtrInput `pulumi:"value"` +type GetClusterIdentityOidcArgs struct { + // Issuer URL for the OpenID Connect identity provider. + Issuer pulumi.StringInput `pulumi:"issuer"` } -func (NodeGroupTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupTaint)(nil)).Elem() +func (GetClusterIdentityOidcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterIdentityOidc)(nil)).Elem() } -func (i NodeGroupTaintArgs) ToNodeGroupTaintOutput() NodeGroupTaintOutput { - return i.ToNodeGroupTaintOutputWithContext(context.Background()) +func (i GetClusterIdentityOidcArgs) ToGetClusterIdentityOidcOutput() GetClusterIdentityOidcOutput { + return i.ToGetClusterIdentityOidcOutputWithContext(context.Background()) } -func (i NodeGroupTaintArgs) ToNodeGroupTaintOutputWithContext(ctx context.Context) NodeGroupTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupTaintOutput) +func (i GetClusterIdentityOidcArgs) ToGetClusterIdentityOidcOutputWithContext(ctx context.Context) GetClusterIdentityOidcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterIdentityOidcOutput) } -// NodeGroupTaintArrayInput is an input type that accepts NodeGroupTaintArray and NodeGroupTaintArrayOutput values. -// You can construct a concrete instance of `NodeGroupTaintArrayInput` via: +// GetClusterIdentityOidcArrayInput is an input type that accepts GetClusterIdentityOidcArray and GetClusterIdentityOidcArrayOutput values. +// You can construct a concrete instance of `GetClusterIdentityOidcArrayInput` via: // -// NodeGroupTaintArray{ NodeGroupTaintArgs{...} } -type NodeGroupTaintArrayInput interface { +// GetClusterIdentityOidcArray{ GetClusterIdentityOidcArgs{...} } +type GetClusterIdentityOidcArrayInput interface { pulumi.Input - ToNodeGroupTaintArrayOutput() NodeGroupTaintArrayOutput - ToNodeGroupTaintArrayOutputWithContext(context.Context) NodeGroupTaintArrayOutput -} - -type NodeGroupTaintArray []NodeGroupTaintInput - -func (NodeGroupTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodeGroupTaint)(nil)).Elem() + ToGetClusterIdentityOidcArrayOutput() GetClusterIdentityOidcArrayOutput + ToGetClusterIdentityOidcArrayOutputWithContext(context.Context) GetClusterIdentityOidcArrayOutput } -func (i NodeGroupTaintArray) ToNodeGroupTaintArrayOutput() NodeGroupTaintArrayOutput { - return i.ToNodeGroupTaintArrayOutputWithContext(context.Background()) -} +type GetClusterIdentityOidcArray []GetClusterIdentityOidcInput -func (i NodeGroupTaintArray) ToNodeGroupTaintArrayOutputWithContext(ctx context.Context) NodeGroupTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupTaintArrayOutput) +func (GetClusterIdentityOidcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterIdentityOidc)(nil)).Elem() } -type NodeGroupTaintOutput struct{ *pulumi.OutputState } - -func (NodeGroupTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupTaint)(nil)).Elem() +func (i GetClusterIdentityOidcArray) ToGetClusterIdentityOidcArrayOutput() GetClusterIdentityOidcArrayOutput { + return i.ToGetClusterIdentityOidcArrayOutputWithContext(context.Background()) } -func (o NodeGroupTaintOutput) ToNodeGroupTaintOutput() NodeGroupTaintOutput { - return o +func (i GetClusterIdentityOidcArray) ToGetClusterIdentityOidcArrayOutputWithContext(ctx context.Context) GetClusterIdentityOidcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterIdentityOidcArrayOutput) } -func (o NodeGroupTaintOutput) ToNodeGroupTaintOutputWithContext(ctx context.Context) NodeGroupTaintOutput { - return o +type GetClusterIdentityOidcOutput struct{ *pulumi.OutputState } + +func (GetClusterIdentityOidcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterIdentityOidc)(nil)).Elem() } -// The effect of the taint. Valid values: `NO_SCHEDULE`, `NO_EXECUTE`, `PREFER_NO_SCHEDULE`. -func (o NodeGroupTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v NodeGroupTaint) string { return v.Effect }).(pulumi.StringOutput) +func (o GetClusterIdentityOidcOutput) ToGetClusterIdentityOidcOutput() GetClusterIdentityOidcOutput { + return o } -// The key of the taint. Maximum length of 63. -func (o NodeGroupTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v NodeGroupTaint) string { return v.Key }).(pulumi.StringOutput) +func (o GetClusterIdentityOidcOutput) ToGetClusterIdentityOidcOutputWithContext(ctx context.Context) GetClusterIdentityOidcOutput { + return o } -// The value of the taint. Maximum length of 63. -func (o NodeGroupTaintOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodeGroupTaint) *string { return v.Value }).(pulumi.StringPtrOutput) +// Issuer URL for the OpenID Connect identity provider. +func (o GetClusterIdentityOidcOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterIdentityOidc) string { return v.Issuer }).(pulumi.StringOutput) } -type NodeGroupTaintArrayOutput struct{ *pulumi.OutputState } +type GetClusterIdentityOidcArrayOutput struct{ *pulumi.OutputState } -func (NodeGroupTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodeGroupTaint)(nil)).Elem() +func (GetClusterIdentityOidcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterIdentityOidc)(nil)).Elem() } -func (o NodeGroupTaintArrayOutput) ToNodeGroupTaintArrayOutput() NodeGroupTaintArrayOutput { +func (o GetClusterIdentityOidcArrayOutput) ToGetClusterIdentityOidcArrayOutput() GetClusterIdentityOidcArrayOutput { return o } -func (o NodeGroupTaintArrayOutput) ToNodeGroupTaintArrayOutputWithContext(ctx context.Context) NodeGroupTaintArrayOutput { +func (o GetClusterIdentityOidcArrayOutput) ToGetClusterIdentityOidcArrayOutputWithContext(ctx context.Context) GetClusterIdentityOidcArrayOutput { return o } -func (o NodeGroupTaintArrayOutput) Index(i pulumi.IntInput) NodeGroupTaintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeGroupTaint { - return vs[0].([]NodeGroupTaint)[vs[1].(int)] - }).(NodeGroupTaintOutput) +func (o GetClusterIdentityOidcArrayOutput) Index(i pulumi.IntInput) GetClusterIdentityOidcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterIdentityOidc { + return vs[0].([]GetClusterIdentityOidc)[vs[1].(int)] + }).(GetClusterIdentityOidcOutput) } -type NodeGroupUpdateConfig struct { - // Desired max number of unavailable worker nodes during node group update. - MaxUnavailable *int `pulumi:"maxUnavailable"` - // Desired max percentage of unavailable worker nodes during node group update. - MaxUnavailablePercentage *int `pulumi:"maxUnavailablePercentage"` +type GetClusterKubernetesNetworkConfig struct { + // Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. + ElasticLoadBalancings []GetClusterKubernetesNetworkConfigElasticLoadBalancing `pulumi:"elasticLoadBalancings"` + // `ipv4` or `ipv6`. + IpFamily string `pulumi:"ipFamily"` + // The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv4` was specified when the cluster was created. + ServiceIpv4Cidr string `pulumi:"serviceIpv4Cidr"` + // The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv6` was specified when the cluster was created. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + ServiceIpv6Cidr string `pulumi:"serviceIpv6Cidr"` } -// NodeGroupUpdateConfigInput is an input type that accepts NodeGroupUpdateConfigArgs and NodeGroupUpdateConfigOutput values. -// You can construct a concrete instance of `NodeGroupUpdateConfigInput` via: +// GetClusterKubernetesNetworkConfigInput is an input type that accepts GetClusterKubernetesNetworkConfigArgs and GetClusterKubernetesNetworkConfigOutput values. +// You can construct a concrete instance of `GetClusterKubernetesNetworkConfigInput` via: // -// NodeGroupUpdateConfigArgs{...} -type NodeGroupUpdateConfigInput interface { +// GetClusterKubernetesNetworkConfigArgs{...} +type GetClusterKubernetesNetworkConfigInput interface { pulumi.Input - ToNodeGroupUpdateConfigOutput() NodeGroupUpdateConfigOutput - ToNodeGroupUpdateConfigOutputWithContext(context.Context) NodeGroupUpdateConfigOutput -} - -type NodeGroupUpdateConfigArgs struct { - // Desired max number of unavailable worker nodes during node group update. - MaxUnavailable pulumi.IntPtrInput `pulumi:"maxUnavailable"` - // Desired max percentage of unavailable worker nodes during node group update. - MaxUnavailablePercentage pulumi.IntPtrInput `pulumi:"maxUnavailablePercentage"` -} - -func (NodeGroupUpdateConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupUpdateConfig)(nil)).Elem() + ToGetClusterKubernetesNetworkConfigOutput() GetClusterKubernetesNetworkConfigOutput + ToGetClusterKubernetesNetworkConfigOutputWithContext(context.Context) GetClusterKubernetesNetworkConfigOutput } -func (i NodeGroupUpdateConfigArgs) ToNodeGroupUpdateConfigOutput() NodeGroupUpdateConfigOutput { - return i.ToNodeGroupUpdateConfigOutputWithContext(context.Background()) +type GetClusterKubernetesNetworkConfigArgs struct { + // Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. + ElasticLoadBalancings GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayInput `pulumi:"elasticLoadBalancings"` + // `ipv4` or `ipv6`. + IpFamily pulumi.StringInput `pulumi:"ipFamily"` + // The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv4` was specified when the cluster was created. + ServiceIpv4Cidr pulumi.StringInput `pulumi:"serviceIpv4Cidr"` + // The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv6` was specified when the cluster was created. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + ServiceIpv6Cidr pulumi.StringInput `pulumi:"serviceIpv6Cidr"` } -func (i NodeGroupUpdateConfigArgs) ToNodeGroupUpdateConfigOutputWithContext(ctx context.Context) NodeGroupUpdateConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupUpdateConfigOutput) +func (GetClusterKubernetesNetworkConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterKubernetesNetworkConfig)(nil)).Elem() } -func (i NodeGroupUpdateConfigArgs) ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput { - return i.ToNodeGroupUpdateConfigPtrOutputWithContext(context.Background()) +func (i GetClusterKubernetesNetworkConfigArgs) ToGetClusterKubernetesNetworkConfigOutput() GetClusterKubernetesNetworkConfigOutput { + return i.ToGetClusterKubernetesNetworkConfigOutputWithContext(context.Background()) } -func (i NodeGroupUpdateConfigArgs) ToNodeGroupUpdateConfigPtrOutputWithContext(ctx context.Context) NodeGroupUpdateConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupUpdateConfigOutput).ToNodeGroupUpdateConfigPtrOutputWithContext(ctx) +func (i GetClusterKubernetesNetworkConfigArgs) ToGetClusterKubernetesNetworkConfigOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterKubernetesNetworkConfigOutput) } -// NodeGroupUpdateConfigPtrInput is an input type that accepts NodeGroupUpdateConfigArgs, NodeGroupUpdateConfigPtr and NodeGroupUpdateConfigPtrOutput values. -// You can construct a concrete instance of `NodeGroupUpdateConfigPtrInput` via: -// -// NodeGroupUpdateConfigArgs{...} -// -// or: +// GetClusterKubernetesNetworkConfigArrayInput is an input type that accepts GetClusterKubernetesNetworkConfigArray and GetClusterKubernetesNetworkConfigArrayOutput values. +// You can construct a concrete instance of `GetClusterKubernetesNetworkConfigArrayInput` via: // -// nil -type NodeGroupUpdateConfigPtrInput interface { +// GetClusterKubernetesNetworkConfigArray{ GetClusterKubernetesNetworkConfigArgs{...} } +type GetClusterKubernetesNetworkConfigArrayInput interface { pulumi.Input - ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput - ToNodeGroupUpdateConfigPtrOutputWithContext(context.Context) NodeGroupUpdateConfigPtrOutput + ToGetClusterKubernetesNetworkConfigArrayOutput() GetClusterKubernetesNetworkConfigArrayOutput + ToGetClusterKubernetesNetworkConfigArrayOutputWithContext(context.Context) GetClusterKubernetesNetworkConfigArrayOutput } -type nodeGroupUpdateConfigPtrType NodeGroupUpdateConfigArgs - -func NodeGroupUpdateConfigPtr(v *NodeGroupUpdateConfigArgs) NodeGroupUpdateConfigPtrInput { - return (*nodeGroupUpdateConfigPtrType)(v) -} +type GetClusterKubernetesNetworkConfigArray []GetClusterKubernetesNetworkConfigInput -func (*nodeGroupUpdateConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NodeGroupUpdateConfig)(nil)).Elem() +func (GetClusterKubernetesNetworkConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterKubernetesNetworkConfig)(nil)).Elem() } -func (i *nodeGroupUpdateConfigPtrType) ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput { - return i.ToNodeGroupUpdateConfigPtrOutputWithContext(context.Background()) +func (i GetClusterKubernetesNetworkConfigArray) ToGetClusterKubernetesNetworkConfigArrayOutput() GetClusterKubernetesNetworkConfigArrayOutput { + return i.ToGetClusterKubernetesNetworkConfigArrayOutputWithContext(context.Background()) } -func (i *nodeGroupUpdateConfigPtrType) ToNodeGroupUpdateConfigPtrOutputWithContext(ctx context.Context) NodeGroupUpdateConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodeGroupUpdateConfigPtrOutput) +func (i GetClusterKubernetesNetworkConfigArray) ToGetClusterKubernetesNetworkConfigArrayOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterKubernetesNetworkConfigArrayOutput) } -type NodeGroupUpdateConfigOutput struct{ *pulumi.OutputState } +type GetClusterKubernetesNetworkConfigOutput struct{ *pulumi.OutputState } -func (NodeGroupUpdateConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodeGroupUpdateConfig)(nil)).Elem() +func (GetClusterKubernetesNetworkConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterKubernetesNetworkConfig)(nil)).Elem() } -func (o NodeGroupUpdateConfigOutput) ToNodeGroupUpdateConfigOutput() NodeGroupUpdateConfigOutput { +func (o GetClusterKubernetesNetworkConfigOutput) ToGetClusterKubernetesNetworkConfigOutput() GetClusterKubernetesNetworkConfigOutput { return o } -func (o NodeGroupUpdateConfigOutput) ToNodeGroupUpdateConfigOutputWithContext(ctx context.Context) NodeGroupUpdateConfigOutput { +func (o GetClusterKubernetesNetworkConfigOutput) ToGetClusterKubernetesNetworkConfigOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigOutput { return o } -func (o NodeGroupUpdateConfigOutput) ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput { - return o.ToNodeGroupUpdateConfigPtrOutputWithContext(context.Background()) +// Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. +func (o GetClusterKubernetesNetworkConfigOutput) ElasticLoadBalancings() GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput { + return o.ApplyT(func(v GetClusterKubernetesNetworkConfig) []GetClusterKubernetesNetworkConfigElasticLoadBalancing { + return v.ElasticLoadBalancings + }).(GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput) } -func (o NodeGroupUpdateConfigOutput) ToNodeGroupUpdateConfigPtrOutputWithContext(ctx context.Context) NodeGroupUpdateConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeGroupUpdateConfig) *NodeGroupUpdateConfig { - return &v - }).(NodeGroupUpdateConfigPtrOutput) +// `ipv4` or `ipv6`. +func (o GetClusterKubernetesNetworkConfigOutput) IpFamily() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterKubernetesNetworkConfig) string { return v.IpFamily }).(pulumi.StringOutput) } -// Desired max number of unavailable worker nodes during node group update. -func (o NodeGroupUpdateConfigOutput) MaxUnavailable() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodeGroupUpdateConfig) *int { return v.MaxUnavailable }).(pulumi.IntPtrOutput) +// The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv4` was specified when the cluster was created. +func (o GetClusterKubernetesNetworkConfigOutput) ServiceIpv4Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterKubernetesNetworkConfig) string { return v.ServiceIpv4Cidr }).(pulumi.StringOutput) } -// Desired max percentage of unavailable worker nodes during node group update. -func (o NodeGroupUpdateConfigOutput) MaxUnavailablePercentage() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodeGroupUpdateConfig) *int { return v.MaxUnavailablePercentage }).(pulumi.IntPtrOutput) +// The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv6` was specified when the cluster was created. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. +func (o GetClusterKubernetesNetworkConfigOutput) ServiceIpv6Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterKubernetesNetworkConfig) string { return v.ServiceIpv6Cidr }).(pulumi.StringOutput) } -type NodeGroupUpdateConfigPtrOutput struct{ *pulumi.OutputState } +type GetClusterKubernetesNetworkConfigArrayOutput struct{ *pulumi.OutputState } -func (NodeGroupUpdateConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NodeGroupUpdateConfig)(nil)).Elem() +func (GetClusterKubernetesNetworkConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterKubernetesNetworkConfig)(nil)).Elem() } -func (o NodeGroupUpdateConfigPtrOutput) ToNodeGroupUpdateConfigPtrOutput() NodeGroupUpdateConfigPtrOutput { +func (o GetClusterKubernetesNetworkConfigArrayOutput) ToGetClusterKubernetesNetworkConfigArrayOutput() GetClusterKubernetesNetworkConfigArrayOutput { return o } -func (o NodeGroupUpdateConfigPtrOutput) ToNodeGroupUpdateConfigPtrOutputWithContext(ctx context.Context) NodeGroupUpdateConfigPtrOutput { +func (o GetClusterKubernetesNetworkConfigArrayOutput) ToGetClusterKubernetesNetworkConfigArrayOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigArrayOutput { return o } -func (o NodeGroupUpdateConfigPtrOutput) Elem() NodeGroupUpdateConfigOutput { - return o.ApplyT(func(v *NodeGroupUpdateConfig) NodeGroupUpdateConfig { - if v != nil { - return *v - } - var ret NodeGroupUpdateConfig - return ret - }).(NodeGroupUpdateConfigOutput) -} - -// Desired max number of unavailable worker nodes during node group update. -func (o NodeGroupUpdateConfigPtrOutput) MaxUnavailable() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodeGroupUpdateConfig) *int { - if v == nil { - return nil - } - return v.MaxUnavailable - }).(pulumi.IntPtrOutput) -} - -// Desired max percentage of unavailable worker nodes during node group update. -func (o NodeGroupUpdateConfigPtrOutput) MaxUnavailablePercentage() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodeGroupUpdateConfig) *int { - if v == nil { - return nil - } - return v.MaxUnavailablePercentage - }).(pulumi.IntPtrOutput) +func (o GetClusterKubernetesNetworkConfigArrayOutput) Index(i pulumi.IntInput) GetClusterKubernetesNetworkConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterKubernetesNetworkConfig { + return vs[0].([]GetClusterKubernetesNetworkConfig)[vs[1].(int)] + }).(GetClusterKubernetesNetworkConfigOutput) } -type GetAddonPodIdentityAssociation struct { - // ARN of the IAM role associated with the EKS add-on. - RoleArn string `pulumi:"roleArn"` - // Service account associated with the EKS add-on. - ServiceAccount string `pulumi:"serviceAccount"` +type GetClusterKubernetesNetworkConfigElasticLoadBalancing struct { + // Whether zonal shift is enabled. + Enabled bool `pulumi:"enabled"` } -// GetAddonPodIdentityAssociationInput is an input type that accepts GetAddonPodIdentityAssociationArgs and GetAddonPodIdentityAssociationOutput values. -// You can construct a concrete instance of `GetAddonPodIdentityAssociationInput` via: +// GetClusterKubernetesNetworkConfigElasticLoadBalancingInput is an input type that accepts GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs and GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput values. +// You can construct a concrete instance of `GetClusterKubernetesNetworkConfigElasticLoadBalancingInput` via: // -// GetAddonPodIdentityAssociationArgs{...} -type GetAddonPodIdentityAssociationInput interface { +// GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs{...} +type GetClusterKubernetesNetworkConfigElasticLoadBalancingInput interface { pulumi.Input - ToGetAddonPodIdentityAssociationOutput() GetAddonPodIdentityAssociationOutput - ToGetAddonPodIdentityAssociationOutputWithContext(context.Context) GetAddonPodIdentityAssociationOutput + ToGetClusterKubernetesNetworkConfigElasticLoadBalancingOutput() GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput + ToGetClusterKubernetesNetworkConfigElasticLoadBalancingOutputWithContext(context.Context) GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput } -type GetAddonPodIdentityAssociationArgs struct { - // ARN of the IAM role associated with the EKS add-on. - RoleArn pulumi.StringInput `pulumi:"roleArn"` - // Service account associated with the EKS add-on. - ServiceAccount pulumi.StringInput `pulumi:"serviceAccount"` +type GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs struct { + // Whether zonal shift is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` } -func (GetAddonPodIdentityAssociationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAddonPodIdentityAssociation)(nil)).Elem() +func (GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterKubernetesNetworkConfigElasticLoadBalancing)(nil)).Elem() } -func (i GetAddonPodIdentityAssociationArgs) ToGetAddonPodIdentityAssociationOutput() GetAddonPodIdentityAssociationOutput { - return i.ToGetAddonPodIdentityAssociationOutputWithContext(context.Background()) +func (i GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ToGetClusterKubernetesNetworkConfigElasticLoadBalancingOutput() GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput { + return i.ToGetClusterKubernetesNetworkConfigElasticLoadBalancingOutputWithContext(context.Background()) } -func (i GetAddonPodIdentityAssociationArgs) ToGetAddonPodIdentityAssociationOutputWithContext(ctx context.Context) GetAddonPodIdentityAssociationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAddonPodIdentityAssociationOutput) +func (i GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs) ToGetClusterKubernetesNetworkConfigElasticLoadBalancingOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput) } -// GetAddonPodIdentityAssociationArrayInput is an input type that accepts GetAddonPodIdentityAssociationArray and GetAddonPodIdentityAssociationArrayOutput values. -// You can construct a concrete instance of `GetAddonPodIdentityAssociationArrayInput` via: +// GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayInput is an input type that accepts GetClusterKubernetesNetworkConfigElasticLoadBalancingArray and GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput values. +// You can construct a concrete instance of `GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayInput` via: // -// GetAddonPodIdentityAssociationArray{ GetAddonPodIdentityAssociationArgs{...} } -type GetAddonPodIdentityAssociationArrayInput interface { +// GetClusterKubernetesNetworkConfigElasticLoadBalancingArray{ GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs{...} } +type GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayInput interface { pulumi.Input - ToGetAddonPodIdentityAssociationArrayOutput() GetAddonPodIdentityAssociationArrayOutput - ToGetAddonPodIdentityAssociationArrayOutputWithContext(context.Context) GetAddonPodIdentityAssociationArrayOutput + ToGetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput() GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput + ToGetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutputWithContext(context.Context) GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput } -type GetAddonPodIdentityAssociationArray []GetAddonPodIdentityAssociationInput +type GetClusterKubernetesNetworkConfigElasticLoadBalancingArray []GetClusterKubernetesNetworkConfigElasticLoadBalancingInput -func (GetAddonPodIdentityAssociationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAddonPodIdentityAssociation)(nil)).Elem() +func (GetClusterKubernetesNetworkConfigElasticLoadBalancingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterKubernetesNetworkConfigElasticLoadBalancing)(nil)).Elem() } -func (i GetAddonPodIdentityAssociationArray) ToGetAddonPodIdentityAssociationArrayOutput() GetAddonPodIdentityAssociationArrayOutput { - return i.ToGetAddonPodIdentityAssociationArrayOutputWithContext(context.Background()) +func (i GetClusterKubernetesNetworkConfigElasticLoadBalancingArray) ToGetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput() GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput { + return i.ToGetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutputWithContext(context.Background()) } -func (i GetAddonPodIdentityAssociationArray) ToGetAddonPodIdentityAssociationArrayOutputWithContext(ctx context.Context) GetAddonPodIdentityAssociationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAddonPodIdentityAssociationArrayOutput) +func (i GetClusterKubernetesNetworkConfigElasticLoadBalancingArray) ToGetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput) } -type GetAddonPodIdentityAssociationOutput struct{ *pulumi.OutputState } +type GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput struct{ *pulumi.OutputState } -func (GetAddonPodIdentityAssociationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAddonPodIdentityAssociation)(nil)).Elem() +func (GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterKubernetesNetworkConfigElasticLoadBalancing)(nil)).Elem() } -func (o GetAddonPodIdentityAssociationOutput) ToGetAddonPodIdentityAssociationOutput() GetAddonPodIdentityAssociationOutput { +func (o GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput) ToGetClusterKubernetesNetworkConfigElasticLoadBalancingOutput() GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput { return o } -func (o GetAddonPodIdentityAssociationOutput) ToGetAddonPodIdentityAssociationOutputWithContext(ctx context.Context) GetAddonPodIdentityAssociationOutput { +func (o GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput) ToGetClusterKubernetesNetworkConfigElasticLoadBalancingOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput { return o } -// ARN of the IAM role associated with the EKS add-on. -func (o GetAddonPodIdentityAssociationOutput) RoleArn() pulumi.StringOutput { - return o.ApplyT(func(v GetAddonPodIdentityAssociation) string { return v.RoleArn }).(pulumi.StringOutput) -} - -// Service account associated with the EKS add-on. -func (o GetAddonPodIdentityAssociationOutput) ServiceAccount() pulumi.StringOutput { - return o.ApplyT(func(v GetAddonPodIdentityAssociation) string { return v.ServiceAccount }).(pulumi.StringOutput) +// Whether zonal shift is enabled. +func (o GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterKubernetesNetworkConfigElasticLoadBalancing) bool { return v.Enabled }).(pulumi.BoolOutput) } -type GetAddonPodIdentityAssociationArrayOutput struct{ *pulumi.OutputState } +type GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput struct{ *pulumi.OutputState } -func (GetAddonPodIdentityAssociationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAddonPodIdentityAssociation)(nil)).Elem() +func (GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterKubernetesNetworkConfigElasticLoadBalancing)(nil)).Elem() } -func (o GetAddonPodIdentityAssociationArrayOutput) ToGetAddonPodIdentityAssociationArrayOutput() GetAddonPodIdentityAssociationArrayOutput { +func (o GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput) ToGetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput() GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput { return o } -func (o GetAddonPodIdentityAssociationArrayOutput) ToGetAddonPodIdentityAssociationArrayOutputWithContext(ctx context.Context) GetAddonPodIdentityAssociationArrayOutput { +func (o GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput) ToGetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput { return o } -func (o GetAddonPodIdentityAssociationArrayOutput) Index(i pulumi.IntInput) GetAddonPodIdentityAssociationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAddonPodIdentityAssociation { - return vs[0].([]GetAddonPodIdentityAssociation)[vs[1].(int)] - }).(GetAddonPodIdentityAssociationOutput) +func (o GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput) Index(i pulumi.IntInput) GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterKubernetesNetworkConfigElasticLoadBalancing { + return vs[0].([]GetClusterKubernetesNetworkConfigElasticLoadBalancing)[vs[1].(int)] + }).(GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput) } -type GetClusterAccessConfig struct { - // Values returned are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP` - AuthenticationMode string `pulumi:"authenticationMode"` - // Default to `true`. - BootstrapClusterCreatorAdminPermissions bool `pulumi:"bootstrapClusterCreatorAdminPermissions"` +type GetClusterOutpostConfig struct { + // The Amazon EC2 instance type for all Kubernetes control plane instances. + ControlPlaneInstanceType string `pulumi:"controlPlaneInstanceType"` + // An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on AWS Outpost. + ControlPlanePlacements []GetClusterOutpostConfigControlPlanePlacement `pulumi:"controlPlanePlacements"` + // List of ARNs of the Outposts hosting the EKS cluster. Only a single ARN is supported currently. + OutpostArns []string `pulumi:"outpostArns"` } -// GetClusterAccessConfigInput is an input type that accepts GetClusterAccessConfigArgs and GetClusterAccessConfigOutput values. -// You can construct a concrete instance of `GetClusterAccessConfigInput` via: +// GetClusterOutpostConfigInput is an input type that accepts GetClusterOutpostConfigArgs and GetClusterOutpostConfigOutput values. +// You can construct a concrete instance of `GetClusterOutpostConfigInput` via: // -// GetClusterAccessConfigArgs{...} -type GetClusterAccessConfigInput interface { +// GetClusterOutpostConfigArgs{...} +type GetClusterOutpostConfigInput interface { pulumi.Input - ToGetClusterAccessConfigOutput() GetClusterAccessConfigOutput - ToGetClusterAccessConfigOutputWithContext(context.Context) GetClusterAccessConfigOutput + ToGetClusterOutpostConfigOutput() GetClusterOutpostConfigOutput + ToGetClusterOutpostConfigOutputWithContext(context.Context) GetClusterOutpostConfigOutput } -type GetClusterAccessConfigArgs struct { - // Values returned are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP` - AuthenticationMode pulumi.StringInput `pulumi:"authenticationMode"` - // Default to `true`. - BootstrapClusterCreatorAdminPermissions pulumi.BoolInput `pulumi:"bootstrapClusterCreatorAdminPermissions"` +type GetClusterOutpostConfigArgs struct { + // The Amazon EC2 instance type for all Kubernetes control plane instances. + ControlPlaneInstanceType pulumi.StringInput `pulumi:"controlPlaneInstanceType"` + // An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on AWS Outpost. + ControlPlanePlacements GetClusterOutpostConfigControlPlanePlacementArrayInput `pulumi:"controlPlanePlacements"` + // List of ARNs of the Outposts hosting the EKS cluster. Only a single ARN is supported currently. + OutpostArns pulumi.StringArrayInput `pulumi:"outpostArns"` } -func (GetClusterAccessConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterAccessConfig)(nil)).Elem() +func (GetClusterOutpostConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterOutpostConfig)(nil)).Elem() } -func (i GetClusterAccessConfigArgs) ToGetClusterAccessConfigOutput() GetClusterAccessConfigOutput { - return i.ToGetClusterAccessConfigOutputWithContext(context.Background()) +func (i GetClusterOutpostConfigArgs) ToGetClusterOutpostConfigOutput() GetClusterOutpostConfigOutput { + return i.ToGetClusterOutpostConfigOutputWithContext(context.Background()) } -func (i GetClusterAccessConfigArgs) ToGetClusterAccessConfigOutputWithContext(ctx context.Context) GetClusterAccessConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterAccessConfigOutput) +func (i GetClusterOutpostConfigArgs) ToGetClusterOutpostConfigOutputWithContext(ctx context.Context) GetClusterOutpostConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterOutpostConfigOutput) } -// GetClusterAccessConfigArrayInput is an input type that accepts GetClusterAccessConfigArray and GetClusterAccessConfigArrayOutput values. -// You can construct a concrete instance of `GetClusterAccessConfigArrayInput` via: +// GetClusterOutpostConfigArrayInput is an input type that accepts GetClusterOutpostConfigArray and GetClusterOutpostConfigArrayOutput values. +// You can construct a concrete instance of `GetClusterOutpostConfigArrayInput` via: // -// GetClusterAccessConfigArray{ GetClusterAccessConfigArgs{...} } -type GetClusterAccessConfigArrayInput interface { +// GetClusterOutpostConfigArray{ GetClusterOutpostConfigArgs{...} } +type GetClusterOutpostConfigArrayInput interface { pulumi.Input - ToGetClusterAccessConfigArrayOutput() GetClusterAccessConfigArrayOutput - ToGetClusterAccessConfigArrayOutputWithContext(context.Context) GetClusterAccessConfigArrayOutput + ToGetClusterOutpostConfigArrayOutput() GetClusterOutpostConfigArrayOutput + ToGetClusterOutpostConfigArrayOutputWithContext(context.Context) GetClusterOutpostConfigArrayOutput } -type GetClusterAccessConfigArray []GetClusterAccessConfigInput +type GetClusterOutpostConfigArray []GetClusterOutpostConfigInput -func (GetClusterAccessConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterAccessConfig)(nil)).Elem() +func (GetClusterOutpostConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterOutpostConfig)(nil)).Elem() } -func (i GetClusterAccessConfigArray) ToGetClusterAccessConfigArrayOutput() GetClusterAccessConfigArrayOutput { - return i.ToGetClusterAccessConfigArrayOutputWithContext(context.Background()) +func (i GetClusterOutpostConfigArray) ToGetClusterOutpostConfigArrayOutput() GetClusterOutpostConfigArrayOutput { + return i.ToGetClusterOutpostConfigArrayOutputWithContext(context.Background()) } -func (i GetClusterAccessConfigArray) ToGetClusterAccessConfigArrayOutputWithContext(ctx context.Context) GetClusterAccessConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterAccessConfigArrayOutput) +func (i GetClusterOutpostConfigArray) ToGetClusterOutpostConfigArrayOutputWithContext(ctx context.Context) GetClusterOutpostConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterOutpostConfigArrayOutput) } -type GetClusterAccessConfigOutput struct{ *pulumi.OutputState } +type GetClusterOutpostConfigOutput struct{ *pulumi.OutputState } -func (GetClusterAccessConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterAccessConfig)(nil)).Elem() +func (GetClusterOutpostConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterOutpostConfig)(nil)).Elem() } -func (o GetClusterAccessConfigOutput) ToGetClusterAccessConfigOutput() GetClusterAccessConfigOutput { +func (o GetClusterOutpostConfigOutput) ToGetClusterOutpostConfigOutput() GetClusterOutpostConfigOutput { return o } -func (o GetClusterAccessConfigOutput) ToGetClusterAccessConfigOutputWithContext(ctx context.Context) GetClusterAccessConfigOutput { +func (o GetClusterOutpostConfigOutput) ToGetClusterOutpostConfigOutputWithContext(ctx context.Context) GetClusterOutpostConfigOutput { return o } -// Values returned are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP` -func (o GetClusterAccessConfigOutput) AuthenticationMode() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterAccessConfig) string { return v.AuthenticationMode }).(pulumi.StringOutput) +// The Amazon EC2 instance type for all Kubernetes control plane instances. +func (o GetClusterOutpostConfigOutput) ControlPlaneInstanceType() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterOutpostConfig) string { return v.ControlPlaneInstanceType }).(pulumi.StringOutput) } -// Default to `true`. -func (o GetClusterAccessConfigOutput) BootstrapClusterCreatorAdminPermissions() pulumi.BoolOutput { - return o.ApplyT(func(v GetClusterAccessConfig) bool { return v.BootstrapClusterCreatorAdminPermissions }).(pulumi.BoolOutput) +// An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on AWS Outpost. +func (o GetClusterOutpostConfigOutput) ControlPlanePlacements() GetClusterOutpostConfigControlPlanePlacementArrayOutput { + return o.ApplyT(func(v GetClusterOutpostConfig) []GetClusterOutpostConfigControlPlanePlacement { + return v.ControlPlanePlacements + }).(GetClusterOutpostConfigControlPlanePlacementArrayOutput) } -type GetClusterAccessConfigArrayOutput struct{ *pulumi.OutputState } +// List of ARNs of the Outposts hosting the EKS cluster. Only a single ARN is supported currently. +func (o GetClusterOutpostConfigOutput) OutpostArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterOutpostConfig) []string { return v.OutpostArns }).(pulumi.StringArrayOutput) +} -func (GetClusterAccessConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterAccessConfig)(nil)).Elem() +type GetClusterOutpostConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterOutpostConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterOutpostConfig)(nil)).Elem() } -func (o GetClusterAccessConfigArrayOutput) ToGetClusterAccessConfigArrayOutput() GetClusterAccessConfigArrayOutput { +func (o GetClusterOutpostConfigArrayOutput) ToGetClusterOutpostConfigArrayOutput() GetClusterOutpostConfigArrayOutput { return o } -func (o GetClusterAccessConfigArrayOutput) ToGetClusterAccessConfigArrayOutputWithContext(ctx context.Context) GetClusterAccessConfigArrayOutput { +func (o GetClusterOutpostConfigArrayOutput) ToGetClusterOutpostConfigArrayOutputWithContext(ctx context.Context) GetClusterOutpostConfigArrayOutput { return o } -func (o GetClusterAccessConfigArrayOutput) Index(i pulumi.IntInput) GetClusterAccessConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterAccessConfig { - return vs[0].([]GetClusterAccessConfig)[vs[1].(int)] - }).(GetClusterAccessConfigOutput) +func (o GetClusterOutpostConfigArrayOutput) Index(i pulumi.IntInput) GetClusterOutpostConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterOutpostConfig { + return vs[0].([]GetClusterOutpostConfig)[vs[1].(int)] + }).(GetClusterOutpostConfigOutput) } -type GetClusterCertificateAuthority struct { - // The base64 encoded certificate data required to communicate with your cluster. Add this to the `certificate-authority-data` section of the `kubeconfig` file for your cluster. - Data string `pulumi:"data"` +type GetClusterOutpostConfigControlPlanePlacement struct { + // The name of the placement group for the Kubernetes control plane instances. + GroupName string `pulumi:"groupName"` } -// GetClusterCertificateAuthorityInput is an input type that accepts GetClusterCertificateAuthorityArgs and GetClusterCertificateAuthorityOutput values. -// You can construct a concrete instance of `GetClusterCertificateAuthorityInput` via: +// GetClusterOutpostConfigControlPlanePlacementInput is an input type that accepts GetClusterOutpostConfigControlPlanePlacementArgs and GetClusterOutpostConfigControlPlanePlacementOutput values. +// You can construct a concrete instance of `GetClusterOutpostConfigControlPlanePlacementInput` via: // -// GetClusterCertificateAuthorityArgs{...} -type GetClusterCertificateAuthorityInput interface { +// GetClusterOutpostConfigControlPlanePlacementArgs{...} +type GetClusterOutpostConfigControlPlanePlacementInput interface { pulumi.Input - ToGetClusterCertificateAuthorityOutput() GetClusterCertificateAuthorityOutput - ToGetClusterCertificateAuthorityOutputWithContext(context.Context) GetClusterCertificateAuthorityOutput + ToGetClusterOutpostConfigControlPlanePlacementOutput() GetClusterOutpostConfigControlPlanePlacementOutput + ToGetClusterOutpostConfigControlPlanePlacementOutputWithContext(context.Context) GetClusterOutpostConfigControlPlanePlacementOutput } -type GetClusterCertificateAuthorityArgs struct { - // The base64 encoded certificate data required to communicate with your cluster. Add this to the `certificate-authority-data` section of the `kubeconfig` file for your cluster. - Data pulumi.StringInput `pulumi:"data"` +type GetClusterOutpostConfigControlPlanePlacementArgs struct { + // The name of the placement group for the Kubernetes control plane instances. + GroupName pulumi.StringInput `pulumi:"groupName"` } -func (GetClusterCertificateAuthorityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterCertificateAuthority)(nil)).Elem() +func (GetClusterOutpostConfigControlPlanePlacementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterOutpostConfigControlPlanePlacement)(nil)).Elem() } -func (i GetClusterCertificateAuthorityArgs) ToGetClusterCertificateAuthorityOutput() GetClusterCertificateAuthorityOutput { - return i.ToGetClusterCertificateAuthorityOutputWithContext(context.Background()) +func (i GetClusterOutpostConfigControlPlanePlacementArgs) ToGetClusterOutpostConfigControlPlanePlacementOutput() GetClusterOutpostConfigControlPlanePlacementOutput { + return i.ToGetClusterOutpostConfigControlPlanePlacementOutputWithContext(context.Background()) } -func (i GetClusterCertificateAuthorityArgs) ToGetClusterCertificateAuthorityOutputWithContext(ctx context.Context) GetClusterCertificateAuthorityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterCertificateAuthorityOutput) +func (i GetClusterOutpostConfigControlPlanePlacementArgs) ToGetClusterOutpostConfigControlPlanePlacementOutputWithContext(ctx context.Context) GetClusterOutpostConfigControlPlanePlacementOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterOutpostConfigControlPlanePlacementOutput) } -// GetClusterCertificateAuthorityArrayInput is an input type that accepts GetClusterCertificateAuthorityArray and GetClusterCertificateAuthorityArrayOutput values. -// You can construct a concrete instance of `GetClusterCertificateAuthorityArrayInput` via: +// GetClusterOutpostConfigControlPlanePlacementArrayInput is an input type that accepts GetClusterOutpostConfigControlPlanePlacementArray and GetClusterOutpostConfigControlPlanePlacementArrayOutput values. +// You can construct a concrete instance of `GetClusterOutpostConfigControlPlanePlacementArrayInput` via: // -// GetClusterCertificateAuthorityArray{ GetClusterCertificateAuthorityArgs{...} } -type GetClusterCertificateAuthorityArrayInput interface { +// GetClusterOutpostConfigControlPlanePlacementArray{ GetClusterOutpostConfigControlPlanePlacementArgs{...} } +type GetClusterOutpostConfigControlPlanePlacementArrayInput interface { pulumi.Input - ToGetClusterCertificateAuthorityArrayOutput() GetClusterCertificateAuthorityArrayOutput - ToGetClusterCertificateAuthorityArrayOutputWithContext(context.Context) GetClusterCertificateAuthorityArrayOutput + ToGetClusterOutpostConfigControlPlanePlacementArrayOutput() GetClusterOutpostConfigControlPlanePlacementArrayOutput + ToGetClusterOutpostConfigControlPlanePlacementArrayOutputWithContext(context.Context) GetClusterOutpostConfigControlPlanePlacementArrayOutput } -type GetClusterCertificateAuthorityArray []GetClusterCertificateAuthorityInput +type GetClusterOutpostConfigControlPlanePlacementArray []GetClusterOutpostConfigControlPlanePlacementInput -func (GetClusterCertificateAuthorityArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterCertificateAuthority)(nil)).Elem() +func (GetClusterOutpostConfigControlPlanePlacementArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterOutpostConfigControlPlanePlacement)(nil)).Elem() } -func (i GetClusterCertificateAuthorityArray) ToGetClusterCertificateAuthorityArrayOutput() GetClusterCertificateAuthorityArrayOutput { - return i.ToGetClusterCertificateAuthorityArrayOutputWithContext(context.Background()) +func (i GetClusterOutpostConfigControlPlanePlacementArray) ToGetClusterOutpostConfigControlPlanePlacementArrayOutput() GetClusterOutpostConfigControlPlanePlacementArrayOutput { + return i.ToGetClusterOutpostConfigControlPlanePlacementArrayOutputWithContext(context.Background()) } -func (i GetClusterCertificateAuthorityArray) ToGetClusterCertificateAuthorityArrayOutputWithContext(ctx context.Context) GetClusterCertificateAuthorityArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterCertificateAuthorityArrayOutput) +func (i GetClusterOutpostConfigControlPlanePlacementArray) ToGetClusterOutpostConfigControlPlanePlacementArrayOutputWithContext(ctx context.Context) GetClusterOutpostConfigControlPlanePlacementArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterOutpostConfigControlPlanePlacementArrayOutput) } -type GetClusterCertificateAuthorityOutput struct{ *pulumi.OutputState } +type GetClusterOutpostConfigControlPlanePlacementOutput struct{ *pulumi.OutputState } -func (GetClusterCertificateAuthorityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterCertificateAuthority)(nil)).Elem() +func (GetClusterOutpostConfigControlPlanePlacementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterOutpostConfigControlPlanePlacement)(nil)).Elem() } -func (o GetClusterCertificateAuthorityOutput) ToGetClusterCertificateAuthorityOutput() GetClusterCertificateAuthorityOutput { +func (o GetClusterOutpostConfigControlPlanePlacementOutput) ToGetClusterOutpostConfigControlPlanePlacementOutput() GetClusterOutpostConfigControlPlanePlacementOutput { return o } -func (o GetClusterCertificateAuthorityOutput) ToGetClusterCertificateAuthorityOutputWithContext(ctx context.Context) GetClusterCertificateAuthorityOutput { +func (o GetClusterOutpostConfigControlPlanePlacementOutput) ToGetClusterOutpostConfigControlPlanePlacementOutputWithContext(ctx context.Context) GetClusterOutpostConfigControlPlanePlacementOutput { return o } -// The base64 encoded certificate data required to communicate with your cluster. Add this to the `certificate-authority-data` section of the `kubeconfig` file for your cluster. -func (o GetClusterCertificateAuthorityOutput) Data() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterCertificateAuthority) string { return v.Data }).(pulumi.StringOutput) +// The name of the placement group for the Kubernetes control plane instances. +func (o GetClusterOutpostConfigControlPlanePlacementOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterOutpostConfigControlPlanePlacement) string { return v.GroupName }).(pulumi.StringOutput) } -type GetClusterCertificateAuthorityArrayOutput struct{ *pulumi.OutputState } +type GetClusterOutpostConfigControlPlanePlacementArrayOutput struct{ *pulumi.OutputState } -func (GetClusterCertificateAuthorityArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterCertificateAuthority)(nil)).Elem() +func (GetClusterOutpostConfigControlPlanePlacementArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterOutpostConfigControlPlanePlacement)(nil)).Elem() } -func (o GetClusterCertificateAuthorityArrayOutput) ToGetClusterCertificateAuthorityArrayOutput() GetClusterCertificateAuthorityArrayOutput { +func (o GetClusterOutpostConfigControlPlanePlacementArrayOutput) ToGetClusterOutpostConfigControlPlanePlacementArrayOutput() GetClusterOutpostConfigControlPlanePlacementArrayOutput { return o } -func (o GetClusterCertificateAuthorityArrayOutput) ToGetClusterCertificateAuthorityArrayOutputWithContext(ctx context.Context) GetClusterCertificateAuthorityArrayOutput { +func (o GetClusterOutpostConfigControlPlanePlacementArrayOutput) ToGetClusterOutpostConfigControlPlanePlacementArrayOutputWithContext(ctx context.Context) GetClusterOutpostConfigControlPlanePlacementArrayOutput { return o } -func (o GetClusterCertificateAuthorityArrayOutput) Index(i pulumi.IntInput) GetClusterCertificateAuthorityOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterCertificateAuthority { - return vs[0].([]GetClusterCertificateAuthority)[vs[1].(int)] - }).(GetClusterCertificateAuthorityOutput) +func (o GetClusterOutpostConfigControlPlanePlacementArrayOutput) Index(i pulumi.IntInput) GetClusterOutpostConfigControlPlanePlacementOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterOutpostConfigControlPlanePlacement { + return vs[0].([]GetClusterOutpostConfigControlPlanePlacement)[vs[1].(int)] + }).(GetClusterOutpostConfigControlPlanePlacementOutput) } -type GetClusterIdentity struct { - // Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provider information for the cluster. - Oidcs []GetClusterIdentityOidc `pulumi:"oidcs"` +type GetClusterRemoteNetworkConfig struct { + // The networks that can contain hybrid nodes. + RemoteNodeNetworks []GetClusterRemoteNetworkConfigRemoteNodeNetwork `pulumi:"remoteNodeNetworks"` + // The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. + RemotePodNetworks []GetClusterRemoteNetworkConfigRemotePodNetwork `pulumi:"remotePodNetworks"` } -// GetClusterIdentityInput is an input type that accepts GetClusterIdentityArgs and GetClusterIdentityOutput values. -// You can construct a concrete instance of `GetClusterIdentityInput` via: +// GetClusterRemoteNetworkConfigInput is an input type that accepts GetClusterRemoteNetworkConfigArgs and GetClusterRemoteNetworkConfigOutput values. +// You can construct a concrete instance of `GetClusterRemoteNetworkConfigInput` via: // -// GetClusterIdentityArgs{...} -type GetClusterIdentityInput interface { +// GetClusterRemoteNetworkConfigArgs{...} +type GetClusterRemoteNetworkConfigInput interface { pulumi.Input - ToGetClusterIdentityOutput() GetClusterIdentityOutput - ToGetClusterIdentityOutputWithContext(context.Context) GetClusterIdentityOutput + ToGetClusterRemoteNetworkConfigOutput() GetClusterRemoteNetworkConfigOutput + ToGetClusterRemoteNetworkConfigOutputWithContext(context.Context) GetClusterRemoteNetworkConfigOutput } -type GetClusterIdentityArgs struct { - // Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provider information for the cluster. - Oidcs GetClusterIdentityOidcArrayInput `pulumi:"oidcs"` +type GetClusterRemoteNetworkConfigArgs struct { + // The networks that can contain hybrid nodes. + RemoteNodeNetworks GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayInput `pulumi:"remoteNodeNetworks"` + // The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. + RemotePodNetworks GetClusterRemoteNetworkConfigRemotePodNetworkArrayInput `pulumi:"remotePodNetworks"` } -func (GetClusterIdentityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterIdentity)(nil)).Elem() +func (GetClusterRemoteNetworkConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterRemoteNetworkConfig)(nil)).Elem() } -func (i GetClusterIdentityArgs) ToGetClusterIdentityOutput() GetClusterIdentityOutput { - return i.ToGetClusterIdentityOutputWithContext(context.Background()) +func (i GetClusterRemoteNetworkConfigArgs) ToGetClusterRemoteNetworkConfigOutput() GetClusterRemoteNetworkConfigOutput { + return i.ToGetClusterRemoteNetworkConfigOutputWithContext(context.Background()) } -func (i GetClusterIdentityArgs) ToGetClusterIdentityOutputWithContext(ctx context.Context) GetClusterIdentityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterIdentityOutput) +func (i GetClusterRemoteNetworkConfigArgs) ToGetClusterRemoteNetworkConfigOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterRemoteNetworkConfigOutput) } -// GetClusterIdentityArrayInput is an input type that accepts GetClusterIdentityArray and GetClusterIdentityArrayOutput values. -// You can construct a concrete instance of `GetClusterIdentityArrayInput` via: +// GetClusterRemoteNetworkConfigArrayInput is an input type that accepts GetClusterRemoteNetworkConfigArray and GetClusterRemoteNetworkConfigArrayOutput values. +// You can construct a concrete instance of `GetClusterRemoteNetworkConfigArrayInput` via: // -// GetClusterIdentityArray{ GetClusterIdentityArgs{...} } -type GetClusterIdentityArrayInput interface { +// GetClusterRemoteNetworkConfigArray{ GetClusterRemoteNetworkConfigArgs{...} } +type GetClusterRemoteNetworkConfigArrayInput interface { pulumi.Input - ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput - ToGetClusterIdentityArrayOutputWithContext(context.Context) GetClusterIdentityArrayOutput + ToGetClusterRemoteNetworkConfigArrayOutput() GetClusterRemoteNetworkConfigArrayOutput + ToGetClusterRemoteNetworkConfigArrayOutputWithContext(context.Context) GetClusterRemoteNetworkConfigArrayOutput } -type GetClusterIdentityArray []GetClusterIdentityInput +type GetClusterRemoteNetworkConfigArray []GetClusterRemoteNetworkConfigInput -func (GetClusterIdentityArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterIdentity)(nil)).Elem() +func (GetClusterRemoteNetworkConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterRemoteNetworkConfig)(nil)).Elem() } -func (i GetClusterIdentityArray) ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput { - return i.ToGetClusterIdentityArrayOutputWithContext(context.Background()) +func (i GetClusterRemoteNetworkConfigArray) ToGetClusterRemoteNetworkConfigArrayOutput() GetClusterRemoteNetworkConfigArrayOutput { + return i.ToGetClusterRemoteNetworkConfigArrayOutputWithContext(context.Background()) } -func (i GetClusterIdentityArray) ToGetClusterIdentityArrayOutputWithContext(ctx context.Context) GetClusterIdentityArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterIdentityArrayOutput) +func (i GetClusterRemoteNetworkConfigArray) ToGetClusterRemoteNetworkConfigArrayOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterRemoteNetworkConfigArrayOutput) } -type GetClusterIdentityOutput struct{ *pulumi.OutputState } +type GetClusterRemoteNetworkConfigOutput struct{ *pulumi.OutputState } -func (GetClusterIdentityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterIdentity)(nil)).Elem() +func (GetClusterRemoteNetworkConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterRemoteNetworkConfig)(nil)).Elem() } -func (o GetClusterIdentityOutput) ToGetClusterIdentityOutput() GetClusterIdentityOutput { +func (o GetClusterRemoteNetworkConfigOutput) ToGetClusterRemoteNetworkConfigOutput() GetClusterRemoteNetworkConfigOutput { return o } -func (o GetClusterIdentityOutput) ToGetClusterIdentityOutputWithContext(ctx context.Context) GetClusterIdentityOutput { +func (o GetClusterRemoteNetworkConfigOutput) ToGetClusterRemoteNetworkConfigOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigOutput { return o } -// Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provider information for the cluster. -func (o GetClusterIdentityOutput) Oidcs() GetClusterIdentityOidcArrayOutput { - return o.ApplyT(func(v GetClusterIdentity) []GetClusterIdentityOidc { return v.Oidcs }).(GetClusterIdentityOidcArrayOutput) +// The networks that can contain hybrid nodes. +func (o GetClusterRemoteNetworkConfigOutput) RemoteNodeNetworks() GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput { + return o.ApplyT(func(v GetClusterRemoteNetworkConfig) []GetClusterRemoteNetworkConfigRemoteNodeNetwork { + return v.RemoteNodeNetworks + }).(GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput) } -type GetClusterIdentityArrayOutput struct{ *pulumi.OutputState } +// The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. +func (o GetClusterRemoteNetworkConfigOutput) RemotePodNetworks() GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput { + return o.ApplyT(func(v GetClusterRemoteNetworkConfig) []GetClusterRemoteNetworkConfigRemotePodNetwork { + return v.RemotePodNetworks + }).(GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput) +} -func (GetClusterIdentityArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterIdentity)(nil)).Elem() +type GetClusterRemoteNetworkConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterRemoteNetworkConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterRemoteNetworkConfig)(nil)).Elem() } -func (o GetClusterIdentityArrayOutput) ToGetClusterIdentityArrayOutput() GetClusterIdentityArrayOutput { +func (o GetClusterRemoteNetworkConfigArrayOutput) ToGetClusterRemoteNetworkConfigArrayOutput() GetClusterRemoteNetworkConfigArrayOutput { return o } -func (o GetClusterIdentityArrayOutput) ToGetClusterIdentityArrayOutputWithContext(ctx context.Context) GetClusterIdentityArrayOutput { +func (o GetClusterRemoteNetworkConfigArrayOutput) ToGetClusterRemoteNetworkConfigArrayOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigArrayOutput { return o } -func (o GetClusterIdentityArrayOutput) Index(i pulumi.IntInput) GetClusterIdentityOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterIdentity { - return vs[0].([]GetClusterIdentity)[vs[1].(int)] - }).(GetClusterIdentityOutput) +func (o GetClusterRemoteNetworkConfigArrayOutput) Index(i pulumi.IntInput) GetClusterRemoteNetworkConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterRemoteNetworkConfig { + return vs[0].([]GetClusterRemoteNetworkConfig)[vs[1].(int)] + }).(GetClusterRemoteNetworkConfigOutput) } -type GetClusterIdentityOidc struct { - // Issuer URL for the OpenID Connect identity provider. - Issuer string `pulumi:"issuer"` +type GetClusterRemoteNetworkConfigRemoteNodeNetwork struct { + // List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + Cidrs []string `pulumi:"cidrs"` } -// GetClusterIdentityOidcInput is an input type that accepts GetClusterIdentityOidcArgs and GetClusterIdentityOidcOutput values. -// You can construct a concrete instance of `GetClusterIdentityOidcInput` via: +// GetClusterRemoteNetworkConfigRemoteNodeNetworkInput is an input type that accepts GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs and GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput values. +// You can construct a concrete instance of `GetClusterRemoteNetworkConfigRemoteNodeNetworkInput` via: // -// GetClusterIdentityOidcArgs{...} -type GetClusterIdentityOidcInput interface { +// GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs{...} +type GetClusterRemoteNetworkConfigRemoteNodeNetworkInput interface { pulumi.Input - ToGetClusterIdentityOidcOutput() GetClusterIdentityOidcOutput - ToGetClusterIdentityOidcOutputWithContext(context.Context) GetClusterIdentityOidcOutput + ToGetClusterRemoteNetworkConfigRemoteNodeNetworkOutput() GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput + ToGetClusterRemoteNetworkConfigRemoteNodeNetworkOutputWithContext(context.Context) GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput } -type GetClusterIdentityOidcArgs struct { - // Issuer URL for the OpenID Connect identity provider. - Issuer pulumi.StringInput `pulumi:"issuer"` +type GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs struct { + // List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` } -func (GetClusterIdentityOidcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterIdentityOidc)(nil)).Elem() +func (GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterRemoteNetworkConfigRemoteNodeNetwork)(nil)).Elem() } -func (i GetClusterIdentityOidcArgs) ToGetClusterIdentityOidcOutput() GetClusterIdentityOidcOutput { - return i.ToGetClusterIdentityOidcOutputWithContext(context.Background()) +func (i GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs) ToGetClusterRemoteNetworkConfigRemoteNodeNetworkOutput() GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput { + return i.ToGetClusterRemoteNetworkConfigRemoteNodeNetworkOutputWithContext(context.Background()) } -func (i GetClusterIdentityOidcArgs) ToGetClusterIdentityOidcOutputWithContext(ctx context.Context) GetClusterIdentityOidcOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterIdentityOidcOutput) +func (i GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs) ToGetClusterRemoteNetworkConfigRemoteNodeNetworkOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput) } -// GetClusterIdentityOidcArrayInput is an input type that accepts GetClusterIdentityOidcArray and GetClusterIdentityOidcArrayOutput values. -// You can construct a concrete instance of `GetClusterIdentityOidcArrayInput` via: +// GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayInput is an input type that accepts GetClusterRemoteNetworkConfigRemoteNodeNetworkArray and GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput values. +// You can construct a concrete instance of `GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayInput` via: // -// GetClusterIdentityOidcArray{ GetClusterIdentityOidcArgs{...} } -type GetClusterIdentityOidcArrayInput interface { +// GetClusterRemoteNetworkConfigRemoteNodeNetworkArray{ GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs{...} } +type GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayInput interface { pulumi.Input - ToGetClusterIdentityOidcArrayOutput() GetClusterIdentityOidcArrayOutput - ToGetClusterIdentityOidcArrayOutputWithContext(context.Context) GetClusterIdentityOidcArrayOutput + ToGetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput() GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput + ToGetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutputWithContext(context.Context) GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput } -type GetClusterIdentityOidcArray []GetClusterIdentityOidcInput +type GetClusterRemoteNetworkConfigRemoteNodeNetworkArray []GetClusterRemoteNetworkConfigRemoteNodeNetworkInput -func (GetClusterIdentityOidcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterIdentityOidc)(nil)).Elem() +func (GetClusterRemoteNetworkConfigRemoteNodeNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterRemoteNetworkConfigRemoteNodeNetwork)(nil)).Elem() } -func (i GetClusterIdentityOidcArray) ToGetClusterIdentityOidcArrayOutput() GetClusterIdentityOidcArrayOutput { - return i.ToGetClusterIdentityOidcArrayOutputWithContext(context.Background()) +func (i GetClusterRemoteNetworkConfigRemoteNodeNetworkArray) ToGetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput() GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput { + return i.ToGetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutputWithContext(context.Background()) } -func (i GetClusterIdentityOidcArray) ToGetClusterIdentityOidcArrayOutputWithContext(ctx context.Context) GetClusterIdentityOidcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterIdentityOidcArrayOutput) +func (i GetClusterRemoteNetworkConfigRemoteNodeNetworkArray) ToGetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput) } -type GetClusterIdentityOidcOutput struct{ *pulumi.OutputState } +type GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput struct{ *pulumi.OutputState } -func (GetClusterIdentityOidcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterIdentityOidc)(nil)).Elem() +func (GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterRemoteNetworkConfigRemoteNodeNetwork)(nil)).Elem() } -func (o GetClusterIdentityOidcOutput) ToGetClusterIdentityOidcOutput() GetClusterIdentityOidcOutput { +func (o GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput) ToGetClusterRemoteNetworkConfigRemoteNodeNetworkOutput() GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput { return o } -func (o GetClusterIdentityOidcOutput) ToGetClusterIdentityOidcOutputWithContext(ctx context.Context) GetClusterIdentityOidcOutput { +func (o GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput) ToGetClusterRemoteNetworkConfigRemoteNodeNetworkOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput { return o } -// Issuer URL for the OpenID Connect identity provider. -func (o GetClusterIdentityOidcOutput) Issuer() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterIdentityOidc) string { return v.Issuer }).(pulumi.StringOutput) +// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. +func (o GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterRemoteNetworkConfigRemoteNodeNetwork) []string { return v.Cidrs }).(pulumi.StringArrayOutput) } -type GetClusterIdentityOidcArrayOutput struct{ *pulumi.OutputState } +type GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput struct{ *pulumi.OutputState } -func (GetClusterIdentityOidcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterIdentityOidc)(nil)).Elem() +func (GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterRemoteNetworkConfigRemoteNodeNetwork)(nil)).Elem() } -func (o GetClusterIdentityOidcArrayOutput) ToGetClusterIdentityOidcArrayOutput() GetClusterIdentityOidcArrayOutput { +func (o GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput) ToGetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput() GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput { return o } -func (o GetClusterIdentityOidcArrayOutput) ToGetClusterIdentityOidcArrayOutputWithContext(ctx context.Context) GetClusterIdentityOidcArrayOutput { +func (o GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput) ToGetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput { return o } -func (o GetClusterIdentityOidcArrayOutput) Index(i pulumi.IntInput) GetClusterIdentityOidcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterIdentityOidc { - return vs[0].([]GetClusterIdentityOidc)[vs[1].(int)] - }).(GetClusterIdentityOidcOutput) +func (o GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput) Index(i pulumi.IntInput) GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterRemoteNetworkConfigRemoteNodeNetwork { + return vs[0].([]GetClusterRemoteNetworkConfigRemoteNodeNetwork)[vs[1].(int)] + }).(GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput) } -type GetClusterKubernetesNetworkConfig struct { - // `ipv4` or `ipv6`. - IpFamily string `pulumi:"ipFamily"` - // The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv4` was specified when the cluster was created. - ServiceIpv4Cidr string `pulumi:"serviceIpv4Cidr"` - // The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv6` was specified when the cluster was created. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. - ServiceIpv6Cidr string `pulumi:"serviceIpv6Cidr"` +type GetClusterRemoteNetworkConfigRemotePodNetwork struct { + // List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + Cidrs []string `pulumi:"cidrs"` } -// GetClusterKubernetesNetworkConfigInput is an input type that accepts GetClusterKubernetesNetworkConfigArgs and GetClusterKubernetesNetworkConfigOutput values. -// You can construct a concrete instance of `GetClusterKubernetesNetworkConfigInput` via: +// GetClusterRemoteNetworkConfigRemotePodNetworkInput is an input type that accepts GetClusterRemoteNetworkConfigRemotePodNetworkArgs and GetClusterRemoteNetworkConfigRemotePodNetworkOutput values. +// You can construct a concrete instance of `GetClusterRemoteNetworkConfigRemotePodNetworkInput` via: // -// GetClusterKubernetesNetworkConfigArgs{...} -type GetClusterKubernetesNetworkConfigInput interface { +// GetClusterRemoteNetworkConfigRemotePodNetworkArgs{...} +type GetClusterRemoteNetworkConfigRemotePodNetworkInput interface { pulumi.Input - ToGetClusterKubernetesNetworkConfigOutput() GetClusterKubernetesNetworkConfigOutput - ToGetClusterKubernetesNetworkConfigOutputWithContext(context.Context) GetClusterKubernetesNetworkConfigOutput + ToGetClusterRemoteNetworkConfigRemotePodNetworkOutput() GetClusterRemoteNetworkConfigRemotePodNetworkOutput + ToGetClusterRemoteNetworkConfigRemotePodNetworkOutputWithContext(context.Context) GetClusterRemoteNetworkConfigRemotePodNetworkOutput } -type GetClusterKubernetesNetworkConfigArgs struct { - // `ipv4` or `ipv6`. - IpFamily pulumi.StringInput `pulumi:"ipFamily"` - // The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv4` was specified when the cluster was created. - ServiceIpv4Cidr pulumi.StringInput `pulumi:"serviceIpv4Cidr"` - // The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv6` was specified when the cluster was created. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. - ServiceIpv6Cidr pulumi.StringInput `pulumi:"serviceIpv6Cidr"` +type GetClusterRemoteNetworkConfigRemotePodNetworkArgs struct { + // List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` } -func (GetClusterKubernetesNetworkConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterKubernetesNetworkConfig)(nil)).Elem() +func (GetClusterRemoteNetworkConfigRemotePodNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterRemoteNetworkConfigRemotePodNetwork)(nil)).Elem() } -func (i GetClusterKubernetesNetworkConfigArgs) ToGetClusterKubernetesNetworkConfigOutput() GetClusterKubernetesNetworkConfigOutput { - return i.ToGetClusterKubernetesNetworkConfigOutputWithContext(context.Background()) +func (i GetClusterRemoteNetworkConfigRemotePodNetworkArgs) ToGetClusterRemoteNetworkConfigRemotePodNetworkOutput() GetClusterRemoteNetworkConfigRemotePodNetworkOutput { + return i.ToGetClusterRemoteNetworkConfigRemotePodNetworkOutputWithContext(context.Background()) } -func (i GetClusterKubernetesNetworkConfigArgs) ToGetClusterKubernetesNetworkConfigOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterKubernetesNetworkConfigOutput) +func (i GetClusterRemoteNetworkConfigRemotePodNetworkArgs) ToGetClusterRemoteNetworkConfigRemotePodNetworkOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigRemotePodNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterRemoteNetworkConfigRemotePodNetworkOutput) } -// GetClusterKubernetesNetworkConfigArrayInput is an input type that accepts GetClusterKubernetesNetworkConfigArray and GetClusterKubernetesNetworkConfigArrayOutput values. -// You can construct a concrete instance of `GetClusterKubernetesNetworkConfigArrayInput` via: +// GetClusterRemoteNetworkConfigRemotePodNetworkArrayInput is an input type that accepts GetClusterRemoteNetworkConfigRemotePodNetworkArray and GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput values. +// You can construct a concrete instance of `GetClusterRemoteNetworkConfigRemotePodNetworkArrayInput` via: // -// GetClusterKubernetesNetworkConfigArray{ GetClusterKubernetesNetworkConfigArgs{...} } -type GetClusterKubernetesNetworkConfigArrayInput interface { +// GetClusterRemoteNetworkConfigRemotePodNetworkArray{ GetClusterRemoteNetworkConfigRemotePodNetworkArgs{...} } +type GetClusterRemoteNetworkConfigRemotePodNetworkArrayInput interface { pulumi.Input - ToGetClusterKubernetesNetworkConfigArrayOutput() GetClusterKubernetesNetworkConfigArrayOutput - ToGetClusterKubernetesNetworkConfigArrayOutputWithContext(context.Context) GetClusterKubernetesNetworkConfigArrayOutput + ToGetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput() GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput + ToGetClusterRemoteNetworkConfigRemotePodNetworkArrayOutputWithContext(context.Context) GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput } -type GetClusterKubernetesNetworkConfigArray []GetClusterKubernetesNetworkConfigInput +type GetClusterRemoteNetworkConfigRemotePodNetworkArray []GetClusterRemoteNetworkConfigRemotePodNetworkInput -func (GetClusterKubernetesNetworkConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterKubernetesNetworkConfig)(nil)).Elem() +func (GetClusterRemoteNetworkConfigRemotePodNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterRemoteNetworkConfigRemotePodNetwork)(nil)).Elem() } -func (i GetClusterKubernetesNetworkConfigArray) ToGetClusterKubernetesNetworkConfigArrayOutput() GetClusterKubernetesNetworkConfigArrayOutput { - return i.ToGetClusterKubernetesNetworkConfigArrayOutputWithContext(context.Background()) +func (i GetClusterRemoteNetworkConfigRemotePodNetworkArray) ToGetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput() GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput { + return i.ToGetClusterRemoteNetworkConfigRemotePodNetworkArrayOutputWithContext(context.Background()) } -func (i GetClusterKubernetesNetworkConfigArray) ToGetClusterKubernetesNetworkConfigArrayOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterKubernetesNetworkConfigArrayOutput) +func (i GetClusterRemoteNetworkConfigRemotePodNetworkArray) ToGetClusterRemoteNetworkConfigRemotePodNetworkArrayOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput) } -type GetClusterKubernetesNetworkConfigOutput struct{ *pulumi.OutputState } +type GetClusterRemoteNetworkConfigRemotePodNetworkOutput struct{ *pulumi.OutputState } -func (GetClusterKubernetesNetworkConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterKubernetesNetworkConfig)(nil)).Elem() +func (GetClusterRemoteNetworkConfigRemotePodNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterRemoteNetworkConfigRemotePodNetwork)(nil)).Elem() } -func (o GetClusterKubernetesNetworkConfigOutput) ToGetClusterKubernetesNetworkConfigOutput() GetClusterKubernetesNetworkConfigOutput { +func (o GetClusterRemoteNetworkConfigRemotePodNetworkOutput) ToGetClusterRemoteNetworkConfigRemotePodNetworkOutput() GetClusterRemoteNetworkConfigRemotePodNetworkOutput { return o } -func (o GetClusterKubernetesNetworkConfigOutput) ToGetClusterKubernetesNetworkConfigOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigOutput { +func (o GetClusterRemoteNetworkConfigRemotePodNetworkOutput) ToGetClusterRemoteNetworkConfigRemotePodNetworkOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigRemotePodNetworkOutput { return o } -// `ipv4` or `ipv6`. -func (o GetClusterKubernetesNetworkConfigOutput) IpFamily() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterKubernetesNetworkConfig) string { return v.IpFamily }).(pulumi.StringOutput) -} - -// The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv4` was specified when the cluster was created. -func (o GetClusterKubernetesNetworkConfigOutput) ServiceIpv4Cidr() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterKubernetesNetworkConfig) string { return v.ServiceIpv4Cidr }).(pulumi.StringOutput) -} - -// The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv6` was specified when the cluster was created. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. -func (o GetClusterKubernetesNetworkConfigOutput) ServiceIpv6Cidr() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterKubernetesNetworkConfig) string { return v.ServiceIpv6Cidr }).(pulumi.StringOutput) +// List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. +func (o GetClusterRemoteNetworkConfigRemotePodNetworkOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterRemoteNetworkConfigRemotePodNetwork) []string { return v.Cidrs }).(pulumi.StringArrayOutput) } -type GetClusterKubernetesNetworkConfigArrayOutput struct{ *pulumi.OutputState } +type GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput struct{ *pulumi.OutputState } -func (GetClusterKubernetesNetworkConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterKubernetesNetworkConfig)(nil)).Elem() +func (GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterRemoteNetworkConfigRemotePodNetwork)(nil)).Elem() } -func (o GetClusterKubernetesNetworkConfigArrayOutput) ToGetClusterKubernetesNetworkConfigArrayOutput() GetClusterKubernetesNetworkConfigArrayOutput { +func (o GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput) ToGetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput() GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput { return o } -func (o GetClusterKubernetesNetworkConfigArrayOutput) ToGetClusterKubernetesNetworkConfigArrayOutputWithContext(ctx context.Context) GetClusterKubernetesNetworkConfigArrayOutput { +func (o GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput) ToGetClusterRemoteNetworkConfigRemotePodNetworkArrayOutputWithContext(ctx context.Context) GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput { return o } -func (o GetClusterKubernetesNetworkConfigArrayOutput) Index(i pulumi.IntInput) GetClusterKubernetesNetworkConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterKubernetesNetworkConfig { - return vs[0].([]GetClusterKubernetesNetworkConfig)[vs[1].(int)] - }).(GetClusterKubernetesNetworkConfigOutput) +func (o GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput) Index(i pulumi.IntInput) GetClusterRemoteNetworkConfigRemotePodNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterRemoteNetworkConfigRemotePodNetwork { + return vs[0].([]GetClusterRemoteNetworkConfigRemotePodNetwork)[vs[1].(int)] + }).(GetClusterRemoteNetworkConfigRemotePodNetworkOutput) } -type GetClusterOutpostConfig struct { - // The Amazon EC2 instance type for all Kubernetes control plane instances. - ControlPlaneInstanceType string `pulumi:"controlPlaneInstanceType"` - // An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on AWS Outpost. - ControlPlanePlacements []GetClusterOutpostConfigControlPlanePlacement `pulumi:"controlPlanePlacements"` - // List of ARNs of the Outposts hosting the EKS cluster. Only a single ARN is supported currently. - OutpostArns []string `pulumi:"outpostArns"` +type GetClusterStorageConfig struct { + // Contains block storage configuration for EKS Auto Mode enabled cluster. + BlockStorages []GetClusterStorageConfigBlockStorage `pulumi:"blockStorages"` } -// GetClusterOutpostConfigInput is an input type that accepts GetClusterOutpostConfigArgs and GetClusterOutpostConfigOutput values. -// You can construct a concrete instance of `GetClusterOutpostConfigInput` via: +// GetClusterStorageConfigInput is an input type that accepts GetClusterStorageConfigArgs and GetClusterStorageConfigOutput values. +// You can construct a concrete instance of `GetClusterStorageConfigInput` via: // -// GetClusterOutpostConfigArgs{...} -type GetClusterOutpostConfigInput interface { +// GetClusterStorageConfigArgs{...} +type GetClusterStorageConfigInput interface { pulumi.Input - ToGetClusterOutpostConfigOutput() GetClusterOutpostConfigOutput - ToGetClusterOutpostConfigOutputWithContext(context.Context) GetClusterOutpostConfigOutput + ToGetClusterStorageConfigOutput() GetClusterStorageConfigOutput + ToGetClusterStorageConfigOutputWithContext(context.Context) GetClusterStorageConfigOutput } -type GetClusterOutpostConfigArgs struct { - // The Amazon EC2 instance type for all Kubernetes control plane instances. - ControlPlaneInstanceType pulumi.StringInput `pulumi:"controlPlaneInstanceType"` - // An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on AWS Outpost. - ControlPlanePlacements GetClusterOutpostConfigControlPlanePlacementArrayInput `pulumi:"controlPlanePlacements"` - // List of ARNs of the Outposts hosting the EKS cluster. Only a single ARN is supported currently. - OutpostArns pulumi.StringArrayInput `pulumi:"outpostArns"` +type GetClusterStorageConfigArgs struct { + // Contains block storage configuration for EKS Auto Mode enabled cluster. + BlockStorages GetClusterStorageConfigBlockStorageArrayInput `pulumi:"blockStorages"` } -func (GetClusterOutpostConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterOutpostConfig)(nil)).Elem() +func (GetClusterStorageConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterStorageConfig)(nil)).Elem() } -func (i GetClusterOutpostConfigArgs) ToGetClusterOutpostConfigOutput() GetClusterOutpostConfigOutput { - return i.ToGetClusterOutpostConfigOutputWithContext(context.Background()) +func (i GetClusterStorageConfigArgs) ToGetClusterStorageConfigOutput() GetClusterStorageConfigOutput { + return i.ToGetClusterStorageConfigOutputWithContext(context.Background()) } -func (i GetClusterOutpostConfigArgs) ToGetClusterOutpostConfigOutputWithContext(ctx context.Context) GetClusterOutpostConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterOutpostConfigOutput) +func (i GetClusterStorageConfigArgs) ToGetClusterStorageConfigOutputWithContext(ctx context.Context) GetClusterStorageConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterStorageConfigOutput) } -// GetClusterOutpostConfigArrayInput is an input type that accepts GetClusterOutpostConfigArray and GetClusterOutpostConfigArrayOutput values. -// You can construct a concrete instance of `GetClusterOutpostConfigArrayInput` via: +// GetClusterStorageConfigArrayInput is an input type that accepts GetClusterStorageConfigArray and GetClusterStorageConfigArrayOutput values. +// You can construct a concrete instance of `GetClusterStorageConfigArrayInput` via: // -// GetClusterOutpostConfigArray{ GetClusterOutpostConfigArgs{...} } -type GetClusterOutpostConfigArrayInput interface { +// GetClusterStorageConfigArray{ GetClusterStorageConfigArgs{...} } +type GetClusterStorageConfigArrayInput interface { pulumi.Input - ToGetClusterOutpostConfigArrayOutput() GetClusterOutpostConfigArrayOutput - ToGetClusterOutpostConfigArrayOutputWithContext(context.Context) GetClusterOutpostConfigArrayOutput + ToGetClusterStorageConfigArrayOutput() GetClusterStorageConfigArrayOutput + ToGetClusterStorageConfigArrayOutputWithContext(context.Context) GetClusterStorageConfigArrayOutput } -type GetClusterOutpostConfigArray []GetClusterOutpostConfigInput +type GetClusterStorageConfigArray []GetClusterStorageConfigInput -func (GetClusterOutpostConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterOutpostConfig)(nil)).Elem() +func (GetClusterStorageConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterStorageConfig)(nil)).Elem() } -func (i GetClusterOutpostConfigArray) ToGetClusterOutpostConfigArrayOutput() GetClusterOutpostConfigArrayOutput { - return i.ToGetClusterOutpostConfigArrayOutputWithContext(context.Background()) +func (i GetClusterStorageConfigArray) ToGetClusterStorageConfigArrayOutput() GetClusterStorageConfigArrayOutput { + return i.ToGetClusterStorageConfigArrayOutputWithContext(context.Background()) } -func (i GetClusterOutpostConfigArray) ToGetClusterOutpostConfigArrayOutputWithContext(ctx context.Context) GetClusterOutpostConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterOutpostConfigArrayOutput) +func (i GetClusterStorageConfigArray) ToGetClusterStorageConfigArrayOutputWithContext(ctx context.Context) GetClusterStorageConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterStorageConfigArrayOutput) } -type GetClusterOutpostConfigOutput struct{ *pulumi.OutputState } +type GetClusterStorageConfigOutput struct{ *pulumi.OutputState } -func (GetClusterOutpostConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterOutpostConfig)(nil)).Elem() +func (GetClusterStorageConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterStorageConfig)(nil)).Elem() } -func (o GetClusterOutpostConfigOutput) ToGetClusterOutpostConfigOutput() GetClusterOutpostConfigOutput { +func (o GetClusterStorageConfigOutput) ToGetClusterStorageConfigOutput() GetClusterStorageConfigOutput { return o } -func (o GetClusterOutpostConfigOutput) ToGetClusterOutpostConfigOutputWithContext(ctx context.Context) GetClusterOutpostConfigOutput { +func (o GetClusterStorageConfigOutput) ToGetClusterStorageConfigOutputWithContext(ctx context.Context) GetClusterStorageConfigOutput { return o } -// The Amazon EC2 instance type for all Kubernetes control plane instances. -func (o GetClusterOutpostConfigOutput) ControlPlaneInstanceType() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterOutpostConfig) string { return v.ControlPlaneInstanceType }).(pulumi.StringOutput) -} - -// An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on AWS Outpost. -func (o GetClusterOutpostConfigOutput) ControlPlanePlacements() GetClusterOutpostConfigControlPlanePlacementArrayOutput { - return o.ApplyT(func(v GetClusterOutpostConfig) []GetClusterOutpostConfigControlPlanePlacement { - return v.ControlPlanePlacements - }).(GetClusterOutpostConfigControlPlanePlacementArrayOutput) -} - -// List of ARNs of the Outposts hosting the EKS cluster. Only a single ARN is supported currently. -func (o GetClusterOutpostConfigOutput) OutpostArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetClusterOutpostConfig) []string { return v.OutpostArns }).(pulumi.StringArrayOutput) +// Contains block storage configuration for EKS Auto Mode enabled cluster. +func (o GetClusterStorageConfigOutput) BlockStorages() GetClusterStorageConfigBlockStorageArrayOutput { + return o.ApplyT(func(v GetClusterStorageConfig) []GetClusterStorageConfigBlockStorage { return v.BlockStorages }).(GetClusterStorageConfigBlockStorageArrayOutput) } -type GetClusterOutpostConfigArrayOutput struct{ *pulumi.OutputState } +type GetClusterStorageConfigArrayOutput struct{ *pulumi.OutputState } -func (GetClusterOutpostConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterOutpostConfig)(nil)).Elem() +func (GetClusterStorageConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterStorageConfig)(nil)).Elem() } -func (o GetClusterOutpostConfigArrayOutput) ToGetClusterOutpostConfigArrayOutput() GetClusterOutpostConfigArrayOutput { +func (o GetClusterStorageConfigArrayOutput) ToGetClusterStorageConfigArrayOutput() GetClusterStorageConfigArrayOutput { return o } -func (o GetClusterOutpostConfigArrayOutput) ToGetClusterOutpostConfigArrayOutputWithContext(ctx context.Context) GetClusterOutpostConfigArrayOutput { +func (o GetClusterStorageConfigArrayOutput) ToGetClusterStorageConfigArrayOutputWithContext(ctx context.Context) GetClusterStorageConfigArrayOutput { return o } -func (o GetClusterOutpostConfigArrayOutput) Index(i pulumi.IntInput) GetClusterOutpostConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterOutpostConfig { - return vs[0].([]GetClusterOutpostConfig)[vs[1].(int)] - }).(GetClusterOutpostConfigOutput) +func (o GetClusterStorageConfigArrayOutput) Index(i pulumi.IntInput) GetClusterStorageConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterStorageConfig { + return vs[0].([]GetClusterStorageConfig)[vs[1].(int)] + }).(GetClusterStorageConfigOutput) } -type GetClusterOutpostConfigControlPlanePlacement struct { - // The name of the placement group for the Kubernetes control plane instances. - GroupName string `pulumi:"groupName"` +type GetClusterStorageConfigBlockStorage struct { + // Whether zonal shift is enabled. + Enabled bool `pulumi:"enabled"` } -// GetClusterOutpostConfigControlPlanePlacementInput is an input type that accepts GetClusterOutpostConfigControlPlanePlacementArgs and GetClusterOutpostConfigControlPlanePlacementOutput values. -// You can construct a concrete instance of `GetClusterOutpostConfigControlPlanePlacementInput` via: +// GetClusterStorageConfigBlockStorageInput is an input type that accepts GetClusterStorageConfigBlockStorageArgs and GetClusterStorageConfigBlockStorageOutput values. +// You can construct a concrete instance of `GetClusterStorageConfigBlockStorageInput` via: // -// GetClusterOutpostConfigControlPlanePlacementArgs{...} -type GetClusterOutpostConfigControlPlanePlacementInput interface { +// GetClusterStorageConfigBlockStorageArgs{...} +type GetClusterStorageConfigBlockStorageInput interface { pulumi.Input - ToGetClusterOutpostConfigControlPlanePlacementOutput() GetClusterOutpostConfigControlPlanePlacementOutput - ToGetClusterOutpostConfigControlPlanePlacementOutputWithContext(context.Context) GetClusterOutpostConfigControlPlanePlacementOutput + ToGetClusterStorageConfigBlockStorageOutput() GetClusterStorageConfigBlockStorageOutput + ToGetClusterStorageConfigBlockStorageOutputWithContext(context.Context) GetClusterStorageConfigBlockStorageOutput } -type GetClusterOutpostConfigControlPlanePlacementArgs struct { - // The name of the placement group for the Kubernetes control plane instances. - GroupName pulumi.StringInput `pulumi:"groupName"` +type GetClusterStorageConfigBlockStorageArgs struct { + // Whether zonal shift is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` } -func (GetClusterOutpostConfigControlPlanePlacementArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterOutpostConfigControlPlanePlacement)(nil)).Elem() +func (GetClusterStorageConfigBlockStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterStorageConfigBlockStorage)(nil)).Elem() } -func (i GetClusterOutpostConfigControlPlanePlacementArgs) ToGetClusterOutpostConfigControlPlanePlacementOutput() GetClusterOutpostConfigControlPlanePlacementOutput { - return i.ToGetClusterOutpostConfigControlPlanePlacementOutputWithContext(context.Background()) +func (i GetClusterStorageConfigBlockStorageArgs) ToGetClusterStorageConfigBlockStorageOutput() GetClusterStorageConfigBlockStorageOutput { + return i.ToGetClusterStorageConfigBlockStorageOutputWithContext(context.Background()) } -func (i GetClusterOutpostConfigControlPlanePlacementArgs) ToGetClusterOutpostConfigControlPlanePlacementOutputWithContext(ctx context.Context) GetClusterOutpostConfigControlPlanePlacementOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterOutpostConfigControlPlanePlacementOutput) +func (i GetClusterStorageConfigBlockStorageArgs) ToGetClusterStorageConfigBlockStorageOutputWithContext(ctx context.Context) GetClusterStorageConfigBlockStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterStorageConfigBlockStorageOutput) } -// GetClusterOutpostConfigControlPlanePlacementArrayInput is an input type that accepts GetClusterOutpostConfigControlPlanePlacementArray and GetClusterOutpostConfigControlPlanePlacementArrayOutput values. -// You can construct a concrete instance of `GetClusterOutpostConfigControlPlanePlacementArrayInput` via: +// GetClusterStorageConfigBlockStorageArrayInput is an input type that accepts GetClusterStorageConfigBlockStorageArray and GetClusterStorageConfigBlockStorageArrayOutput values. +// You can construct a concrete instance of `GetClusterStorageConfigBlockStorageArrayInput` via: // -// GetClusterOutpostConfigControlPlanePlacementArray{ GetClusterOutpostConfigControlPlanePlacementArgs{...} } -type GetClusterOutpostConfigControlPlanePlacementArrayInput interface { +// GetClusterStorageConfigBlockStorageArray{ GetClusterStorageConfigBlockStorageArgs{...} } +type GetClusterStorageConfigBlockStorageArrayInput interface { pulumi.Input - ToGetClusterOutpostConfigControlPlanePlacementArrayOutput() GetClusterOutpostConfigControlPlanePlacementArrayOutput - ToGetClusterOutpostConfigControlPlanePlacementArrayOutputWithContext(context.Context) GetClusterOutpostConfigControlPlanePlacementArrayOutput + ToGetClusterStorageConfigBlockStorageArrayOutput() GetClusterStorageConfigBlockStorageArrayOutput + ToGetClusterStorageConfigBlockStorageArrayOutputWithContext(context.Context) GetClusterStorageConfigBlockStorageArrayOutput } -type GetClusterOutpostConfigControlPlanePlacementArray []GetClusterOutpostConfigControlPlanePlacementInput +type GetClusterStorageConfigBlockStorageArray []GetClusterStorageConfigBlockStorageInput -func (GetClusterOutpostConfigControlPlanePlacementArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterOutpostConfigControlPlanePlacement)(nil)).Elem() +func (GetClusterStorageConfigBlockStorageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterStorageConfigBlockStorage)(nil)).Elem() } -func (i GetClusterOutpostConfigControlPlanePlacementArray) ToGetClusterOutpostConfigControlPlanePlacementArrayOutput() GetClusterOutpostConfigControlPlanePlacementArrayOutput { - return i.ToGetClusterOutpostConfigControlPlanePlacementArrayOutputWithContext(context.Background()) +func (i GetClusterStorageConfigBlockStorageArray) ToGetClusterStorageConfigBlockStorageArrayOutput() GetClusterStorageConfigBlockStorageArrayOutput { + return i.ToGetClusterStorageConfigBlockStorageArrayOutputWithContext(context.Background()) } -func (i GetClusterOutpostConfigControlPlanePlacementArray) ToGetClusterOutpostConfigControlPlanePlacementArrayOutputWithContext(ctx context.Context) GetClusterOutpostConfigControlPlanePlacementArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterOutpostConfigControlPlanePlacementArrayOutput) +func (i GetClusterStorageConfigBlockStorageArray) ToGetClusterStorageConfigBlockStorageArrayOutputWithContext(ctx context.Context) GetClusterStorageConfigBlockStorageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterStorageConfigBlockStorageArrayOutput) } -type GetClusterOutpostConfigControlPlanePlacementOutput struct{ *pulumi.OutputState } +type GetClusterStorageConfigBlockStorageOutput struct{ *pulumi.OutputState } -func (GetClusterOutpostConfigControlPlanePlacementOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterOutpostConfigControlPlanePlacement)(nil)).Elem() +func (GetClusterStorageConfigBlockStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterStorageConfigBlockStorage)(nil)).Elem() } -func (o GetClusterOutpostConfigControlPlanePlacementOutput) ToGetClusterOutpostConfigControlPlanePlacementOutput() GetClusterOutpostConfigControlPlanePlacementOutput { +func (o GetClusterStorageConfigBlockStorageOutput) ToGetClusterStorageConfigBlockStorageOutput() GetClusterStorageConfigBlockStorageOutput { return o } -func (o GetClusterOutpostConfigControlPlanePlacementOutput) ToGetClusterOutpostConfigControlPlanePlacementOutputWithContext(ctx context.Context) GetClusterOutpostConfigControlPlanePlacementOutput { +func (o GetClusterStorageConfigBlockStorageOutput) ToGetClusterStorageConfigBlockStorageOutputWithContext(ctx context.Context) GetClusterStorageConfigBlockStorageOutput { return o } -// The name of the placement group for the Kubernetes control plane instances. -func (o GetClusterOutpostConfigControlPlanePlacementOutput) GroupName() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterOutpostConfigControlPlanePlacement) string { return v.GroupName }).(pulumi.StringOutput) +// Whether zonal shift is enabled. +func (o GetClusterStorageConfigBlockStorageOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterStorageConfigBlockStorage) bool { return v.Enabled }).(pulumi.BoolOutput) } -type GetClusterOutpostConfigControlPlanePlacementArrayOutput struct{ *pulumi.OutputState } +type GetClusterStorageConfigBlockStorageArrayOutput struct{ *pulumi.OutputState } -func (GetClusterOutpostConfigControlPlanePlacementArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterOutpostConfigControlPlanePlacement)(nil)).Elem() +func (GetClusterStorageConfigBlockStorageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterStorageConfigBlockStorage)(nil)).Elem() } -func (o GetClusterOutpostConfigControlPlanePlacementArrayOutput) ToGetClusterOutpostConfigControlPlanePlacementArrayOutput() GetClusterOutpostConfigControlPlanePlacementArrayOutput { +func (o GetClusterStorageConfigBlockStorageArrayOutput) ToGetClusterStorageConfigBlockStorageArrayOutput() GetClusterStorageConfigBlockStorageArrayOutput { return o } -func (o GetClusterOutpostConfigControlPlanePlacementArrayOutput) ToGetClusterOutpostConfigControlPlanePlacementArrayOutputWithContext(ctx context.Context) GetClusterOutpostConfigControlPlanePlacementArrayOutput { +func (o GetClusterStorageConfigBlockStorageArrayOutput) ToGetClusterStorageConfigBlockStorageArrayOutputWithContext(ctx context.Context) GetClusterStorageConfigBlockStorageArrayOutput { return o } -func (o GetClusterOutpostConfigControlPlanePlacementArrayOutput) Index(i pulumi.IntInput) GetClusterOutpostConfigControlPlanePlacementOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterOutpostConfigControlPlanePlacement { - return vs[0].([]GetClusterOutpostConfigControlPlanePlacement)[vs[1].(int)] - }).(GetClusterOutpostConfigControlPlanePlacementOutput) +func (o GetClusterStorageConfigBlockStorageArrayOutput) Index(i pulumi.IntInput) GetClusterStorageConfigBlockStorageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterStorageConfigBlockStorage { + return vs[0].([]GetClusterStorageConfigBlockStorage)[vs[1].(int)] + }).(GetClusterStorageConfigBlockStorageOutput) } type GetClusterUpgradePolicy struct { - // (Optional) Support type to use for the cluster. + // Support type to use for the cluster. SupportType string `pulumi:"supportType"` } @@ -4385,7 +6139,7 @@ type GetClusterUpgradePolicyInput interface { } type GetClusterUpgradePolicyArgs struct { - // (Optional) Support type to use for the cluster. + // Support type to use for the cluster. SupportType pulumi.StringInput `pulumi:"supportType"` } @@ -4440,7 +6194,7 @@ func (o GetClusterUpgradePolicyOutput) ToGetClusterUpgradePolicyOutputWithContex return o } -// (Optional) Support type to use for the cluster. +// Support type to use for the cluster. func (o GetClusterUpgradePolicyOutput) SupportType() pulumi.StringOutput { return o.ApplyT(func(v GetClusterUpgradePolicy) string { return v.SupportType }).(pulumi.StringOutput) } @@ -5332,6 +7086,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterCertificateAuthorityInput)(nil)).Elem(), ClusterCertificateAuthorityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterCertificateAuthorityPtrInput)(nil)).Elem(), ClusterCertificateAuthorityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterCertificateAuthorityArrayInput)(nil)).Elem(), ClusterCertificateAuthorityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterComputeConfigInput)(nil)).Elem(), ClusterComputeConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterComputeConfigPtrInput)(nil)).Elem(), ClusterComputeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterEncryptionConfigInput)(nil)).Elem(), ClusterEncryptionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterEncryptionConfigPtrInput)(nil)).Elem(), ClusterEncryptionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterEncryptionConfigProviderInput)(nil)).Elem(), ClusterEncryptionConfigProviderArgs{}) @@ -5342,10 +7098,22 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterIdentityOidcArrayInput)(nil)).Elem(), ClusterIdentityOidcArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubernetesNetworkConfigInput)(nil)).Elem(), ClusterKubernetesNetworkConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubernetesNetworkConfigPtrInput)(nil)).Elem(), ClusterKubernetesNetworkConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubernetesNetworkConfigElasticLoadBalancingInput)(nil)).Elem(), ClusterKubernetesNetworkConfigElasticLoadBalancingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterKubernetesNetworkConfigElasticLoadBalancingPtrInput)(nil)).Elem(), ClusterKubernetesNetworkConfigElasticLoadBalancingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterOutpostConfigInput)(nil)).Elem(), ClusterOutpostConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterOutpostConfigPtrInput)(nil)).Elem(), ClusterOutpostConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterOutpostConfigControlPlanePlacementInput)(nil)).Elem(), ClusterOutpostConfigControlPlanePlacementArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterOutpostConfigControlPlanePlacementPtrInput)(nil)).Elem(), ClusterOutpostConfigControlPlanePlacementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterRemoteNetworkConfigInput)(nil)).Elem(), ClusterRemoteNetworkConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterRemoteNetworkConfigPtrInput)(nil)).Elem(), ClusterRemoteNetworkConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterRemoteNetworkConfigRemoteNodeNetworksInput)(nil)).Elem(), ClusterRemoteNetworkConfigRemoteNodeNetworksArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterRemoteNetworkConfigRemoteNodeNetworksPtrInput)(nil)).Elem(), ClusterRemoteNetworkConfigRemoteNodeNetworksArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterRemoteNetworkConfigRemotePodNetworksInput)(nil)).Elem(), ClusterRemoteNetworkConfigRemotePodNetworksArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterRemoteNetworkConfigRemotePodNetworksPtrInput)(nil)).Elem(), ClusterRemoteNetworkConfigRemotePodNetworksArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterStorageConfigInput)(nil)).Elem(), ClusterStorageConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterStorageConfigPtrInput)(nil)).Elem(), ClusterStorageConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterStorageConfigBlockStorageInput)(nil)).Elem(), ClusterStorageConfigBlockStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterStorageConfigBlockStoragePtrInput)(nil)).Elem(), ClusterStorageConfigBlockStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradePolicyInput)(nil)).Elem(), ClusterUpgradePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradePolicyPtrInput)(nil)).Elem(), ClusterUpgradePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterVpcConfigInput)(nil)).Elem(), ClusterVpcConfigArgs{}) @@ -5376,16 +7144,30 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetClusterAccessConfigArrayInput)(nil)).Elem(), GetClusterAccessConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterCertificateAuthorityInput)(nil)).Elem(), GetClusterCertificateAuthorityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterCertificateAuthorityArrayInput)(nil)).Elem(), GetClusterCertificateAuthorityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterComputeConfigInput)(nil)).Elem(), GetClusterComputeConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterComputeConfigArrayInput)(nil)).Elem(), GetClusterComputeConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterIdentityInput)(nil)).Elem(), GetClusterIdentityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterIdentityArrayInput)(nil)).Elem(), GetClusterIdentityArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterIdentityOidcInput)(nil)).Elem(), GetClusterIdentityOidcArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterIdentityOidcArrayInput)(nil)).Elem(), GetClusterIdentityOidcArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterKubernetesNetworkConfigInput)(nil)).Elem(), GetClusterKubernetesNetworkConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterKubernetesNetworkConfigArrayInput)(nil)).Elem(), GetClusterKubernetesNetworkConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterKubernetesNetworkConfigElasticLoadBalancingInput)(nil)).Elem(), GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayInput)(nil)).Elem(), GetClusterKubernetesNetworkConfigElasticLoadBalancingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterOutpostConfigInput)(nil)).Elem(), GetClusterOutpostConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterOutpostConfigArrayInput)(nil)).Elem(), GetClusterOutpostConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterOutpostConfigControlPlanePlacementInput)(nil)).Elem(), GetClusterOutpostConfigControlPlanePlacementArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterOutpostConfigControlPlanePlacementArrayInput)(nil)).Elem(), GetClusterOutpostConfigControlPlanePlacementArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterRemoteNetworkConfigInput)(nil)).Elem(), GetClusterRemoteNetworkConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterRemoteNetworkConfigArrayInput)(nil)).Elem(), GetClusterRemoteNetworkConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterRemoteNetworkConfigRemoteNodeNetworkInput)(nil)).Elem(), GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayInput)(nil)).Elem(), GetClusterRemoteNetworkConfigRemoteNodeNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterRemoteNetworkConfigRemotePodNetworkInput)(nil)).Elem(), GetClusterRemoteNetworkConfigRemotePodNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterRemoteNetworkConfigRemotePodNetworkArrayInput)(nil)).Elem(), GetClusterRemoteNetworkConfigRemotePodNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterStorageConfigInput)(nil)).Elem(), GetClusterStorageConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterStorageConfigArrayInput)(nil)).Elem(), GetClusterStorageConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterStorageConfigBlockStorageInput)(nil)).Elem(), GetClusterStorageConfigBlockStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterStorageConfigBlockStorageArrayInput)(nil)).Elem(), GetClusterStorageConfigBlockStorageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterUpgradePolicyInput)(nil)).Elem(), GetClusterUpgradePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterUpgradePolicyArrayInput)(nil)).Elem(), GetClusterUpgradePolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterVpcConfigInput)(nil)).Elem(), GetClusterVpcConfigArgs{}) @@ -5412,6 +7194,8 @@ func init() { pulumi.RegisterOutputType(ClusterCertificateAuthorityOutput{}) pulumi.RegisterOutputType(ClusterCertificateAuthorityPtrOutput{}) pulumi.RegisterOutputType(ClusterCertificateAuthorityArrayOutput{}) + pulumi.RegisterOutputType(ClusterComputeConfigOutput{}) + pulumi.RegisterOutputType(ClusterComputeConfigPtrOutput{}) pulumi.RegisterOutputType(ClusterEncryptionConfigOutput{}) pulumi.RegisterOutputType(ClusterEncryptionConfigPtrOutput{}) pulumi.RegisterOutputType(ClusterEncryptionConfigProviderOutput{}) @@ -5422,10 +7206,22 @@ func init() { pulumi.RegisterOutputType(ClusterIdentityOidcArrayOutput{}) pulumi.RegisterOutputType(ClusterKubernetesNetworkConfigOutput{}) pulumi.RegisterOutputType(ClusterKubernetesNetworkConfigPtrOutput{}) + pulumi.RegisterOutputType(ClusterKubernetesNetworkConfigElasticLoadBalancingOutput{}) + pulumi.RegisterOutputType(ClusterKubernetesNetworkConfigElasticLoadBalancingPtrOutput{}) pulumi.RegisterOutputType(ClusterOutpostConfigOutput{}) pulumi.RegisterOutputType(ClusterOutpostConfigPtrOutput{}) pulumi.RegisterOutputType(ClusterOutpostConfigControlPlanePlacementOutput{}) pulumi.RegisterOutputType(ClusterOutpostConfigControlPlanePlacementPtrOutput{}) + pulumi.RegisterOutputType(ClusterRemoteNetworkConfigOutput{}) + pulumi.RegisterOutputType(ClusterRemoteNetworkConfigPtrOutput{}) + pulumi.RegisterOutputType(ClusterRemoteNetworkConfigRemoteNodeNetworksOutput{}) + pulumi.RegisterOutputType(ClusterRemoteNetworkConfigRemoteNodeNetworksPtrOutput{}) + pulumi.RegisterOutputType(ClusterRemoteNetworkConfigRemotePodNetworksOutput{}) + pulumi.RegisterOutputType(ClusterRemoteNetworkConfigRemotePodNetworksPtrOutput{}) + pulumi.RegisterOutputType(ClusterStorageConfigOutput{}) + pulumi.RegisterOutputType(ClusterStorageConfigPtrOutput{}) + pulumi.RegisterOutputType(ClusterStorageConfigBlockStorageOutput{}) + pulumi.RegisterOutputType(ClusterStorageConfigBlockStoragePtrOutput{}) pulumi.RegisterOutputType(ClusterUpgradePolicyOutput{}) pulumi.RegisterOutputType(ClusterUpgradePolicyPtrOutput{}) pulumi.RegisterOutputType(ClusterVpcConfigOutput{}) @@ -5456,16 +7252,30 @@ func init() { pulumi.RegisterOutputType(GetClusterAccessConfigArrayOutput{}) pulumi.RegisterOutputType(GetClusterCertificateAuthorityOutput{}) pulumi.RegisterOutputType(GetClusterCertificateAuthorityArrayOutput{}) + pulumi.RegisterOutputType(GetClusterComputeConfigOutput{}) + pulumi.RegisterOutputType(GetClusterComputeConfigArrayOutput{}) pulumi.RegisterOutputType(GetClusterIdentityOutput{}) pulumi.RegisterOutputType(GetClusterIdentityArrayOutput{}) pulumi.RegisterOutputType(GetClusterIdentityOidcOutput{}) pulumi.RegisterOutputType(GetClusterIdentityOidcArrayOutput{}) pulumi.RegisterOutputType(GetClusterKubernetesNetworkConfigOutput{}) pulumi.RegisterOutputType(GetClusterKubernetesNetworkConfigArrayOutput{}) + pulumi.RegisterOutputType(GetClusterKubernetesNetworkConfigElasticLoadBalancingOutput{}) + pulumi.RegisterOutputType(GetClusterKubernetesNetworkConfigElasticLoadBalancingArrayOutput{}) pulumi.RegisterOutputType(GetClusterOutpostConfigOutput{}) pulumi.RegisterOutputType(GetClusterOutpostConfigArrayOutput{}) pulumi.RegisterOutputType(GetClusterOutpostConfigControlPlanePlacementOutput{}) pulumi.RegisterOutputType(GetClusterOutpostConfigControlPlanePlacementArrayOutput{}) + pulumi.RegisterOutputType(GetClusterRemoteNetworkConfigOutput{}) + pulumi.RegisterOutputType(GetClusterRemoteNetworkConfigArrayOutput{}) + pulumi.RegisterOutputType(GetClusterRemoteNetworkConfigRemoteNodeNetworkOutput{}) + pulumi.RegisterOutputType(GetClusterRemoteNetworkConfigRemoteNodeNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetClusterRemoteNetworkConfigRemotePodNetworkOutput{}) + pulumi.RegisterOutputType(GetClusterRemoteNetworkConfigRemotePodNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetClusterStorageConfigOutput{}) + pulumi.RegisterOutputType(GetClusterStorageConfigArrayOutput{}) + pulumi.RegisterOutputType(GetClusterStorageConfigBlockStorageOutput{}) + pulumi.RegisterOutputType(GetClusterStorageConfigBlockStorageArrayOutput{}) pulumi.RegisterOutputType(GetClusterUpgradePolicyOutput{}) pulumi.RegisterOutputType(GetClusterUpgradePolicyArrayOutput{}) pulumi.RegisterOutputType(GetClusterVpcConfigOutput{}) diff --git a/sdk/go/aws/lambda/eventSourceMapping.go b/sdk/go/aws/lambda/eventSourceMapping.go index f5315c3544c..d26b3ad51bc 100644 --- a/sdk/go/aws/lambda/eventSourceMapping.go +++ b/sdk/go/aws/lambda/eventSourceMapping.go @@ -109,55 +109,6 @@ import ( // // ``` // -// ### Self Managed Apache Kafka -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := lambda.NewEventSourceMapping(ctx, "example", &lambda.EventSourceMappingArgs{ -// FunctionName: pulumi.Any(exampleAwsLambdaFunction.Arn), -// Topics: pulumi.StringArray{ -// pulumi.String("Example"), -// }, -// StartingPosition: pulumi.String("TRIM_HORIZON"), -// SelfManagedEventSource: &lambda.EventSourceMappingSelfManagedEventSourceArgs{ -// Endpoints: pulumi.StringMap{ -// "KAFKA_BOOTSTRAP_SERVERS": pulumi.String("kafka1.example.com:9092,kafka2.example.com:9092"), -// }, -// }, -// SourceAccessConfigurations: lambda.EventSourceMappingSourceAccessConfigurationArray{ -// &lambda.EventSourceMappingSourceAccessConfigurationArgs{ -// Type: pulumi.String("VPC_SUBNET"), -// Uri: pulumi.String("subnet:subnet-example1"), -// }, -// &lambda.EventSourceMappingSourceAccessConfigurationArgs{ -// Type: pulumi.String("VPC_SUBNET"), -// Uri: pulumi.String("subnet:subnet-example2"), -// }, -// &lambda.EventSourceMappingSourceAccessConfigurationArgs{ -// Type: pulumi.String("VPC_SECURITY_GROUP"), -// Uri: pulumi.String("security_group:sg-example"), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ### SQS // // ```go @@ -364,8 +315,12 @@ type EventSourceMapping struct { MaximumRecordAgeInSeconds pulumi.IntOutput `pulumi:"maximumRecordAgeInSeconds"` // - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. MaximumRetryAttempts pulumi.IntOutput `pulumi:"maximumRetryAttempts"` + // - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + MetricsConfig EventSourceMappingMetricsConfigPtrOutput `pulumi:"metricsConfig"` // - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. ParallelizationFactor pulumi.IntOutput `pulumi:"parallelizationFactor"` + // - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + ProvisionedPollerConfig EventSourceMappingProvisionedPollerConfigPtrOutput `pulumi:"provisionedPollerConfig"` // The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. Queues pulumi.StringPtrOutput `pulumi:"queues"` // Scaling configuration of the event source. Only available for SQS queues. Detailed below. @@ -467,8 +422,12 @@ type eventSourceMappingState struct { MaximumRecordAgeInSeconds *int `pulumi:"maximumRecordAgeInSeconds"` // - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` + // - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + MetricsConfig *EventSourceMappingMetricsConfig `pulumi:"metricsConfig"` // - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. ParallelizationFactor *int `pulumi:"parallelizationFactor"` + // - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + ProvisionedPollerConfig *EventSourceMappingProvisionedPollerConfig `pulumi:"provisionedPollerConfig"` // The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. Queues *string `pulumi:"queues"` // Scaling configuration of the event source. Only available for SQS queues. Detailed below. @@ -538,8 +497,12 @@ type EventSourceMappingState struct { MaximumRecordAgeInSeconds pulumi.IntPtrInput // - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. MaximumRetryAttempts pulumi.IntPtrInput + // - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + MetricsConfig EventSourceMappingMetricsConfigPtrInput // - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. ParallelizationFactor pulumi.IntPtrInput + // - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + ProvisionedPollerConfig EventSourceMappingProvisionedPollerConfigPtrInput // The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. Queues pulumi.StringPtrInput // Scaling configuration of the event source. Only available for SQS queues. Detailed below. @@ -605,8 +568,12 @@ type eventSourceMappingArgs struct { MaximumRecordAgeInSeconds *int `pulumi:"maximumRecordAgeInSeconds"` // - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` + // - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + MetricsConfig *EventSourceMappingMetricsConfig `pulumi:"metricsConfig"` // - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. ParallelizationFactor *int `pulumi:"parallelizationFactor"` + // - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + ProvisionedPollerConfig *EventSourceMappingProvisionedPollerConfig `pulumi:"provisionedPollerConfig"` // The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. Queues *string `pulumi:"queues"` // Scaling configuration of the event source. Only available for SQS queues. Detailed below. @@ -659,8 +626,12 @@ type EventSourceMappingArgs struct { MaximumRecordAgeInSeconds pulumi.IntPtrInput // - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. MaximumRetryAttempts pulumi.IntPtrInput + // - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + MetricsConfig EventSourceMappingMetricsConfigPtrInput // - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. ParallelizationFactor pulumi.IntPtrInput + // - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + ProvisionedPollerConfig EventSourceMappingProvisionedPollerConfigPtrInput // The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. Queues pulumi.StringPtrInput // Scaling configuration of the event source. Only available for SQS queues. Detailed below. @@ -864,11 +835,23 @@ func (o EventSourceMappingOutput) MaximumRetryAttempts() pulumi.IntOutput { return o.ApplyT(func(v *EventSourceMapping) pulumi.IntOutput { return v.MaximumRetryAttempts }).(pulumi.IntOutput) } +// - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. +func (o EventSourceMappingOutput) MetricsConfig() EventSourceMappingMetricsConfigPtrOutput { + return o.ApplyT(func(v *EventSourceMapping) EventSourceMappingMetricsConfigPtrOutput { return v.MetricsConfig }).(EventSourceMappingMetricsConfigPtrOutput) +} + // - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. func (o EventSourceMappingOutput) ParallelizationFactor() pulumi.IntOutput { return o.ApplyT(func(v *EventSourceMapping) pulumi.IntOutput { return v.ParallelizationFactor }).(pulumi.IntOutput) } +// - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. +func (o EventSourceMappingOutput) ProvisionedPollerConfig() EventSourceMappingProvisionedPollerConfigPtrOutput { + return o.ApplyT(func(v *EventSourceMapping) EventSourceMappingProvisionedPollerConfigPtrOutput { + return v.ProvisionedPollerConfig + }).(EventSourceMappingProvisionedPollerConfigPtrOutput) +} + // The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. func (o EventSourceMappingOutput) Queues() pulumi.StringPtrOutput { return o.ApplyT(func(v *EventSourceMapping) pulumi.StringPtrOutput { return v.Queues }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/lambda/pulumiTypes.go b/sdk/go/aws/lambda/pulumiTypes.go index 211e9aeebb6..2f685c36b90 100644 --- a/sdk/go/aws/lambda/pulumiTypes.go +++ b/sdk/go/aws/lambda/pulumiTypes.go @@ -1246,6 +1246,299 @@ func (o EventSourceMappingFilterCriteriaFilterArrayOutput) Index(i pulumi.IntInp }).(EventSourceMappingFilterCriteriaFilterOutput) } +type EventSourceMappingMetricsConfig struct { + // A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + Metrics []string `pulumi:"metrics"` +} + +// EventSourceMappingMetricsConfigInput is an input type that accepts EventSourceMappingMetricsConfigArgs and EventSourceMappingMetricsConfigOutput values. +// You can construct a concrete instance of `EventSourceMappingMetricsConfigInput` via: +// +// EventSourceMappingMetricsConfigArgs{...} +type EventSourceMappingMetricsConfigInput interface { + pulumi.Input + + ToEventSourceMappingMetricsConfigOutput() EventSourceMappingMetricsConfigOutput + ToEventSourceMappingMetricsConfigOutputWithContext(context.Context) EventSourceMappingMetricsConfigOutput +} + +type EventSourceMappingMetricsConfigArgs struct { + // A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + Metrics pulumi.StringArrayInput `pulumi:"metrics"` +} + +func (EventSourceMappingMetricsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingMetricsConfig)(nil)).Elem() +} + +func (i EventSourceMappingMetricsConfigArgs) ToEventSourceMappingMetricsConfigOutput() EventSourceMappingMetricsConfigOutput { + return i.ToEventSourceMappingMetricsConfigOutputWithContext(context.Background()) +} + +func (i EventSourceMappingMetricsConfigArgs) ToEventSourceMappingMetricsConfigOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingMetricsConfigOutput) +} + +func (i EventSourceMappingMetricsConfigArgs) ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput { + return i.ToEventSourceMappingMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (i EventSourceMappingMetricsConfigArgs) ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingMetricsConfigOutput).ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx) +} + +// EventSourceMappingMetricsConfigPtrInput is an input type that accepts EventSourceMappingMetricsConfigArgs, EventSourceMappingMetricsConfigPtr and EventSourceMappingMetricsConfigPtrOutput values. +// You can construct a concrete instance of `EventSourceMappingMetricsConfigPtrInput` via: +// +// EventSourceMappingMetricsConfigArgs{...} +// +// or: +// +// nil +type EventSourceMappingMetricsConfigPtrInput interface { + pulumi.Input + + ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput + ToEventSourceMappingMetricsConfigPtrOutputWithContext(context.Context) EventSourceMappingMetricsConfigPtrOutput +} + +type eventSourceMappingMetricsConfigPtrType EventSourceMappingMetricsConfigArgs + +func EventSourceMappingMetricsConfigPtr(v *EventSourceMappingMetricsConfigArgs) EventSourceMappingMetricsConfigPtrInput { + return (*eventSourceMappingMetricsConfigPtrType)(v) +} + +func (*eventSourceMappingMetricsConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingMetricsConfig)(nil)).Elem() +} + +func (i *eventSourceMappingMetricsConfigPtrType) ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput { + return i.ToEventSourceMappingMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (i *eventSourceMappingMetricsConfigPtrType) ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingMetricsConfigPtrOutput) +} + +type EventSourceMappingMetricsConfigOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingMetricsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingMetricsConfig)(nil)).Elem() +} + +func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfigOutput() EventSourceMappingMetricsConfigOutput { + return o +} + +func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfigOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigOutput { + return o +} + +func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput { + return o.ToEventSourceMappingMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EventSourceMappingMetricsConfig) *EventSourceMappingMetricsConfig { + return &v + }).(EventSourceMappingMetricsConfigPtrOutput) +} + +// A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. +func (o EventSourceMappingMetricsConfigOutput) Metrics() pulumi.StringArrayOutput { + return o.ApplyT(func(v EventSourceMappingMetricsConfig) []string { return v.Metrics }).(pulumi.StringArrayOutput) +} + +type EventSourceMappingMetricsConfigPtrOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingMetricsConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingMetricsConfig)(nil)).Elem() +} + +func (o EventSourceMappingMetricsConfigPtrOutput) ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput { + return o +} + +func (o EventSourceMappingMetricsConfigPtrOutput) ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigPtrOutput { + return o +} + +func (o EventSourceMappingMetricsConfigPtrOutput) Elem() EventSourceMappingMetricsConfigOutput { + return o.ApplyT(func(v *EventSourceMappingMetricsConfig) EventSourceMappingMetricsConfig { + if v != nil { + return *v + } + var ret EventSourceMappingMetricsConfig + return ret + }).(EventSourceMappingMetricsConfigOutput) +} + +// A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. +func (o EventSourceMappingMetricsConfigPtrOutput) Metrics() pulumi.StringArrayOutput { + return o.ApplyT(func(v *EventSourceMappingMetricsConfig) []string { + if v == nil { + return nil + } + return v.Metrics + }).(pulumi.StringArrayOutput) +} + +type EventSourceMappingProvisionedPollerConfig struct { + // The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + MaximumPollers *int `pulumi:"maximumPollers"` + // The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + MinimumPollers *int `pulumi:"minimumPollers"` +} + +// EventSourceMappingProvisionedPollerConfigInput is an input type that accepts EventSourceMappingProvisionedPollerConfigArgs and EventSourceMappingProvisionedPollerConfigOutput values. +// You can construct a concrete instance of `EventSourceMappingProvisionedPollerConfigInput` via: +// +// EventSourceMappingProvisionedPollerConfigArgs{...} +type EventSourceMappingProvisionedPollerConfigInput interface { + pulumi.Input + + ToEventSourceMappingProvisionedPollerConfigOutput() EventSourceMappingProvisionedPollerConfigOutput + ToEventSourceMappingProvisionedPollerConfigOutputWithContext(context.Context) EventSourceMappingProvisionedPollerConfigOutput +} + +type EventSourceMappingProvisionedPollerConfigArgs struct { + // The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + MaximumPollers pulumi.IntPtrInput `pulumi:"maximumPollers"` + // The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + MinimumPollers pulumi.IntPtrInput `pulumi:"minimumPollers"` +} + +func (EventSourceMappingProvisionedPollerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingProvisionedPollerConfig)(nil)).Elem() +} + +func (i EventSourceMappingProvisionedPollerConfigArgs) ToEventSourceMappingProvisionedPollerConfigOutput() EventSourceMappingProvisionedPollerConfigOutput { + return i.ToEventSourceMappingProvisionedPollerConfigOutputWithContext(context.Background()) +} + +func (i EventSourceMappingProvisionedPollerConfigArgs) ToEventSourceMappingProvisionedPollerConfigOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingProvisionedPollerConfigOutput) +} + +func (i EventSourceMappingProvisionedPollerConfigArgs) ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput { + return i.ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(context.Background()) +} + +func (i EventSourceMappingProvisionedPollerConfigArgs) ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingProvisionedPollerConfigOutput).ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx) +} + +// EventSourceMappingProvisionedPollerConfigPtrInput is an input type that accepts EventSourceMappingProvisionedPollerConfigArgs, EventSourceMappingProvisionedPollerConfigPtr and EventSourceMappingProvisionedPollerConfigPtrOutput values. +// You can construct a concrete instance of `EventSourceMappingProvisionedPollerConfigPtrInput` via: +// +// EventSourceMappingProvisionedPollerConfigArgs{...} +// +// or: +// +// nil +type EventSourceMappingProvisionedPollerConfigPtrInput interface { + pulumi.Input + + ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput + ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput +} + +type eventSourceMappingProvisionedPollerConfigPtrType EventSourceMappingProvisionedPollerConfigArgs + +func EventSourceMappingProvisionedPollerConfigPtr(v *EventSourceMappingProvisionedPollerConfigArgs) EventSourceMappingProvisionedPollerConfigPtrInput { + return (*eventSourceMappingProvisionedPollerConfigPtrType)(v) +} + +func (*eventSourceMappingProvisionedPollerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingProvisionedPollerConfig)(nil)).Elem() +} + +func (i *eventSourceMappingProvisionedPollerConfigPtrType) ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput { + return i.ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(context.Background()) +} + +func (i *eventSourceMappingProvisionedPollerConfigPtrType) ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingProvisionedPollerConfigPtrOutput) +} + +type EventSourceMappingProvisionedPollerConfigOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingProvisionedPollerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingProvisionedPollerConfig)(nil)).Elem() +} + +func (o EventSourceMappingProvisionedPollerConfigOutput) ToEventSourceMappingProvisionedPollerConfigOutput() EventSourceMappingProvisionedPollerConfigOutput { + return o +} + +func (o EventSourceMappingProvisionedPollerConfigOutput) ToEventSourceMappingProvisionedPollerConfigOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigOutput { + return o +} + +func (o EventSourceMappingProvisionedPollerConfigOutput) ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput { + return o.ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(context.Background()) +} + +func (o EventSourceMappingProvisionedPollerConfigOutput) ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EventSourceMappingProvisionedPollerConfig) *EventSourceMappingProvisionedPollerConfig { + return &v + }).(EventSourceMappingProvisionedPollerConfigPtrOutput) +} + +// The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. +func (o EventSourceMappingProvisionedPollerConfigOutput) MaximumPollers() pulumi.IntPtrOutput { + return o.ApplyT(func(v EventSourceMappingProvisionedPollerConfig) *int { return v.MaximumPollers }).(pulumi.IntPtrOutput) +} + +// The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. +func (o EventSourceMappingProvisionedPollerConfigOutput) MinimumPollers() pulumi.IntPtrOutput { + return o.ApplyT(func(v EventSourceMappingProvisionedPollerConfig) *int { return v.MinimumPollers }).(pulumi.IntPtrOutput) +} + +type EventSourceMappingProvisionedPollerConfigPtrOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingProvisionedPollerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingProvisionedPollerConfig)(nil)).Elem() +} + +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput { + return o +} + +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput { + return o +} + +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) Elem() EventSourceMappingProvisionedPollerConfigOutput { + return o.ApplyT(func(v *EventSourceMappingProvisionedPollerConfig) EventSourceMappingProvisionedPollerConfig { + if v != nil { + return *v + } + var ret EventSourceMappingProvisionedPollerConfig + return ret + }).(EventSourceMappingProvisionedPollerConfigOutput) +} + +// The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) MaximumPollers() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EventSourceMappingProvisionedPollerConfig) *int { + if v == nil { + return nil + } + return v.MaximumPollers + }).(pulumi.IntPtrOutput) +} + +// The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) MinimumPollers() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EventSourceMappingProvisionedPollerConfig) *int { + if v == nil { + return nil + } + return v.MinimumPollers + }).(pulumi.IntPtrOutput) +} + type EventSourceMappingScalingConfig struct { // Limits the number of concurrent instances that the Amazon SQS event source can invoke. Must be greater than or equal to `2`. See [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). You need to raise a [Service Quota Ticket](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) to increase the concurrency beyond 1000. MaximumConcurrency *int `pulumi:"maximumConcurrency"` @@ -4712,6 +5005,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFilterCriteriaPtrInput)(nil)).Elem(), EventSourceMappingFilterCriteriaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFilterCriteriaFilterInput)(nil)).Elem(), EventSourceMappingFilterCriteriaFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFilterCriteriaFilterArrayInput)(nil)).Elem(), EventSourceMappingFilterCriteriaFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingMetricsConfigInput)(nil)).Elem(), EventSourceMappingMetricsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingMetricsConfigPtrInput)(nil)).Elem(), EventSourceMappingMetricsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingProvisionedPollerConfigInput)(nil)).Elem(), EventSourceMappingProvisionedPollerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingProvisionedPollerConfigPtrInput)(nil)).Elem(), EventSourceMappingProvisionedPollerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingScalingConfigInput)(nil)).Elem(), EventSourceMappingScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingScalingConfigPtrInput)(nil)).Elem(), EventSourceMappingScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingSelfManagedEventSourceInput)(nil)).Elem(), EventSourceMappingSelfManagedEventSourceArgs{}) @@ -4780,6 +5077,10 @@ func init() { pulumi.RegisterOutputType(EventSourceMappingFilterCriteriaPtrOutput{}) pulumi.RegisterOutputType(EventSourceMappingFilterCriteriaFilterOutput{}) pulumi.RegisterOutputType(EventSourceMappingFilterCriteriaFilterArrayOutput{}) + pulumi.RegisterOutputType(EventSourceMappingMetricsConfigOutput{}) + pulumi.RegisterOutputType(EventSourceMappingMetricsConfigPtrOutput{}) + pulumi.RegisterOutputType(EventSourceMappingProvisionedPollerConfigOutput{}) + pulumi.RegisterOutputType(EventSourceMappingProvisionedPollerConfigPtrOutput{}) pulumi.RegisterOutputType(EventSourceMappingScalingConfigOutput{}) pulumi.RegisterOutputType(EventSourceMappingScalingConfigPtrOutput{}) pulumi.RegisterOutputType(EventSourceMappingSelfManagedEventSourceOutput{}) diff --git a/sdk/go/aws/rds/cluster.go b/sdk/go/aws/rds/cluster.go index 1a7d67e4e8d..0b698dcc6af 100644 --- a/sdk/go/aws/rds/cluster.go +++ b/sdk/go/aws/rds/cluster.go @@ -478,7 +478,7 @@ type Cluster struct { // Read-only endpoint for the Aurora cluster, automatically // load-balanced across replicas ReaderEndpoint pulumi.StringOutput `pulumi:"readerEndpoint"` - // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. + // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. ReplicationSourceIdentifier pulumi.StringPtrOutput `pulumi:"replicationSourceIdentifier"` // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. RestoreToPointInTime ClusterRestoreToPointInTimePtrOutput `pulumi:"restoreToPointInTime"` @@ -662,7 +662,7 @@ type clusterState struct { // Read-only endpoint for the Aurora cluster, automatically // load-balanced across replicas ReaderEndpoint *string `pulumi:"readerEndpoint"` - // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. + // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. ReplicationSourceIdentifier *string `pulumi:"replicationSourceIdentifier"` // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. RestoreToPointInTime *ClusterRestoreToPointInTime `pulumi:"restoreToPointInTime"` @@ -807,7 +807,7 @@ type ClusterState struct { // Read-only endpoint for the Aurora cluster, automatically // load-balanced across replicas ReaderEndpoint pulumi.StringPtrInput - // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. + // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. ReplicationSourceIdentifier pulumi.StringPtrInput // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. RestoreToPointInTime ClusterRestoreToPointInTimePtrInput @@ -939,7 +939,7 @@ type clusterArgs struct { PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` // Weekly time range during which system maintenance can occur, in (UTC) e.g., `wed:04:00-wed:04:30` PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` - // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. + // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. ReplicationSourceIdentifier *string `pulumi:"replicationSourceIdentifier"` // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. RestoreToPointInTime *ClusterRestoreToPointInTime `pulumi:"restoreToPointInTime"` @@ -1064,7 +1064,7 @@ type ClusterArgs struct { PreferredBackupWindow pulumi.StringPtrInput // Weekly time range during which system maintenance can occur, in (UTC) e.g., `wed:04:00-wed:04:30` PreferredMaintenanceWindow pulumi.StringPtrInput - // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. + // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. ReplicationSourceIdentifier pulumi.StringPtrInput // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. RestoreToPointInTime ClusterRestoreToPointInTimePtrInput @@ -1453,7 +1453,7 @@ func (o ClusterOutput) ReaderEndpoint() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ReaderEndpoint }).(pulumi.StringOutput) } -// ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. +// ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. func (o ClusterOutput) ReplicationSourceIdentifier() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.ReplicationSourceIdentifier }).(pulumi.StringPtrOutput) } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessExclusion.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessExclusion.java new file mode 100644 index 00000000000..0eb030c652d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessExclusion.java @@ -0,0 +1,280 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.ec2.VpcBlockPublicAccessExclusionArgs; +import com.pulumi.aws.ec2.inputs.VpcBlockPublicAccessExclusionState; +import com.pulumi.aws.ec2.outputs.VpcBlockPublicAccessExclusionTimeouts; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.ec2.Vpc;
+ * import com.pulumi.aws.ec2.VpcArgs;
+ * import com.pulumi.aws.ec2.VpcBlockPublicAccessExclusion;
+ * import com.pulumi.aws.ec2.VpcBlockPublicAccessExclusionArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var test = new Vpc("test", VpcArgs.builder()
+ *             .cidrBlock("10.1.0.0/16")
+ *             .build());
+ * 
+ *         var testVpcBlockPublicAccessExclusion = new VpcBlockPublicAccessExclusion("testVpcBlockPublicAccessExclusion", VpcBlockPublicAccessExclusionArgs.builder()
+ *             .vpcId(test.id())
+ *             .internetGatewayExclusionMode("allow-bidirectional")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### Usage with subnet id + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.ec2.Vpc;
+ * import com.pulumi.aws.ec2.VpcArgs;
+ * import com.pulumi.aws.ec2.Subnet;
+ * import com.pulumi.aws.ec2.SubnetArgs;
+ * import com.pulumi.aws.ec2.VpcBlockPublicAccessExclusion;
+ * import com.pulumi.aws.ec2.VpcBlockPublicAccessExclusionArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var test = new Vpc("test", VpcArgs.builder()
+ *             .cidrBlock("10.1.0.0/16")
+ *             .build());
+ * 
+ *         var testSubnet = new Subnet("testSubnet", SubnetArgs.builder()
+ *             .cidrBlock("10.1.1.0/24")
+ *             .vpcId(test.id())
+ *             .build());
+ * 
+ *         var testVpcBlockPublicAccessExclusion = new VpcBlockPublicAccessExclusion("testVpcBlockPublicAccessExclusion", VpcBlockPublicAccessExclusionArgs.builder()
+ *             .subnetId(testSubnet.id())
+ *             .internetGatewayExclusionMode("allow-egress")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion using the `id`. For example: + * + * ```sh + * $ pulumi import aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion example vpcbpa-exclude-1234abcd + * ``` + * + */ +@ResourceType(type="aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion") +public class VpcBlockPublicAccessExclusion extends com.pulumi.resources.CustomResource { + /** + * Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + */ + @Export(name="internetGatewayExclusionMode", refs={String.class}, tree="[0]") + private Output internetGatewayExclusionMode; + + /** + * @return Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + */ + public Output internetGatewayExclusionMode() { + return this.internetGatewayExclusionMode; + } + /** + * The Amazon Resource Name (ARN) the excluded resource. + * + */ + @Export(name="resourceArn", refs={String.class}, tree="[0]") + private Output resourceArn; + + /** + * @return The Amazon Resource Name (ARN) the excluded resource. + * + */ + public Output resourceArn() { + return this.resourceArn; + } + /** + * Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + */ + @Export(name="subnetId", refs={String.class}, tree="[0]") + private Output subnetId; + + /** + * @return Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + */ + public Output> subnetId() { + return Codegen.optional(this.subnetId); + } + /** + * A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + @Export(name="timeouts", refs={VpcBlockPublicAccessExclusionTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + /** + * Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + */ + @Export(name="vpcId", refs={String.class}, tree="[0]") + private Output vpcId; + + /** + * @return Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + */ + public Output> vpcId() { + return Codegen.optional(this.vpcId); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public VpcBlockPublicAccessExclusion(java.lang.String name) { + this(name, VpcBlockPublicAccessExclusionArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public VpcBlockPublicAccessExclusion(java.lang.String name, VpcBlockPublicAccessExclusionArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public VpcBlockPublicAccessExclusion(java.lang.String name, VpcBlockPublicAccessExclusionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private VpcBlockPublicAccessExclusion(java.lang.String name, Output id, @Nullable VpcBlockPublicAccessExclusionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion", name, state, makeResourceOptions(options, id), false); + } + + private static VpcBlockPublicAccessExclusionArgs makeArgs(VpcBlockPublicAccessExclusionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? VpcBlockPublicAccessExclusionArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static VpcBlockPublicAccessExclusion get(java.lang.String name, Output id, @Nullable VpcBlockPublicAccessExclusionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new VpcBlockPublicAccessExclusion(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessExclusionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessExclusionArgs.java new file mode 100644 index 00000000000..eaae25953d5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessExclusionArgs.java @@ -0,0 +1,225 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2; + +import com.pulumi.aws.ec2.inputs.VpcBlockPublicAccessExclusionTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VpcBlockPublicAccessExclusionArgs extends com.pulumi.resources.ResourceArgs { + + public static final VpcBlockPublicAccessExclusionArgs Empty = new VpcBlockPublicAccessExclusionArgs(); + + /** + * Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + */ + @Import(name="internetGatewayExclusionMode", required=true) + private Output internetGatewayExclusionMode; + + /** + * @return Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + */ + public Output internetGatewayExclusionMode() { + return this.internetGatewayExclusionMode; + } + + /** + * Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + */ + @Import(name="subnetId") + private @Nullable Output subnetId; + + /** + * @return Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + */ + public Optional> subnetId() { + return Optional.ofNullable(this.subnetId); + } + + /** + * A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + /** + * Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + private VpcBlockPublicAccessExclusionArgs() {} + + private VpcBlockPublicAccessExclusionArgs(VpcBlockPublicAccessExclusionArgs $) { + this.internetGatewayExclusionMode = $.internetGatewayExclusionMode; + this.subnetId = $.subnetId; + this.tags = $.tags; + this.timeouts = $.timeouts; + this.vpcId = $.vpcId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcBlockPublicAccessExclusionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcBlockPublicAccessExclusionArgs $; + + public Builder() { + $ = new VpcBlockPublicAccessExclusionArgs(); + } + + public Builder(VpcBlockPublicAccessExclusionArgs defaults) { + $ = new VpcBlockPublicAccessExclusionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param internetGatewayExclusionMode Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder internetGatewayExclusionMode(Output internetGatewayExclusionMode) { + $.internetGatewayExclusionMode = internetGatewayExclusionMode; + return this; + } + + /** + * @param internetGatewayExclusionMode Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder internetGatewayExclusionMode(String internetGatewayExclusionMode) { + return internetGatewayExclusionMode(Output.of(internetGatewayExclusionMode)); + } + + /** + * @param subnetId Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + * @return builder + * + */ + public Builder subnetId(@Nullable Output subnetId) { + $.subnetId = subnetId; + return this; + } + + /** + * @param subnetId Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + * @return builder + * + */ + public Builder subnetId(String subnetId) { + return subnetId(Output.of(subnetId)); + } + + /** + * @param tags A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(VpcBlockPublicAccessExclusionTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + /** + * @param vpcId Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + public VpcBlockPublicAccessExclusionArgs build() { + if ($.internetGatewayExclusionMode == null) { + throw new MissingRequiredPropertyException("VpcBlockPublicAccessExclusionArgs", "internetGatewayExclusionMode"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessOptions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessOptions.java new file mode 100644 index 00000000000..7d951f35825 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessOptions.java @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.ec2.VpcBlockPublicAccessOptionsArgs; +import com.pulumi.aws.ec2.inputs.VpcBlockPublicAccessOptionsState; +import com.pulumi.aws.ec2.outputs.VpcBlockPublicAccessOptionsTimeouts; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS VPC Block Public Access Options. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.ec2.VpcBlockPublicAccessOptions;
+ * import com.pulumi.aws.ec2.VpcBlockPublicAccessOptionsArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new VpcBlockPublicAccessOptions("example", VpcBlockPublicAccessOptionsArgs.builder()
+ *             .internetGatewayBlockMode("block-bidirectional")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import VPC Block Public Access Options using the `aws_region`. For example: + * + * ```sh + * $ pulumi import aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions example us-east-1 + * ``` + * + */ +@ResourceType(type="aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions") +public class VpcBlockPublicAccessOptions extends com.pulumi.resources.CustomResource { + /** + * The AWS account id to which these options apply. + * + */ + @Export(name="awsAccountId", refs={String.class}, tree="[0]") + private Output awsAccountId; + + /** + * @return The AWS account id to which these options apply. + * + */ + public Output awsAccountId() { + return this.awsAccountId; + } + /** + * The AWS region to which these options apply. + * + */ + @Export(name="awsRegion", refs={String.class}, tree="[0]") + private Output awsRegion; + + /** + * @return The AWS region to which these options apply. + * + */ + public Output awsRegion() { + return this.awsRegion; + } + /** + * Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + */ + @Export(name="internetGatewayBlockMode", refs={String.class}, tree="[0]") + private Output internetGatewayBlockMode; + + /** + * @return Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + */ + public Output internetGatewayBlockMode() { + return this.internetGatewayBlockMode; + } + @Export(name="timeouts", refs={VpcBlockPublicAccessOptionsTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public VpcBlockPublicAccessOptions(java.lang.String name) { + this(name, VpcBlockPublicAccessOptionsArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public VpcBlockPublicAccessOptions(java.lang.String name, VpcBlockPublicAccessOptionsArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public VpcBlockPublicAccessOptions(java.lang.String name, VpcBlockPublicAccessOptionsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private VpcBlockPublicAccessOptions(java.lang.String name, Output id, @Nullable VpcBlockPublicAccessOptionsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions", name, state, makeResourceOptions(options, id), false); + } + + private static VpcBlockPublicAccessOptionsArgs makeArgs(VpcBlockPublicAccessOptionsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? VpcBlockPublicAccessOptionsArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static VpcBlockPublicAccessOptions get(java.lang.String name, Output id, @Nullable VpcBlockPublicAccessOptionsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new VpcBlockPublicAccessOptions(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessOptionsArgs.java new file mode 100644 index 00000000000..edae3d16ce0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcBlockPublicAccessOptionsArgs.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2; + +import com.pulumi.aws.ec2.inputs.VpcBlockPublicAccessOptionsTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VpcBlockPublicAccessOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final VpcBlockPublicAccessOptionsArgs Empty = new VpcBlockPublicAccessOptionsArgs(); + + /** + * Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + */ + @Import(name="internetGatewayBlockMode", required=true) + private Output internetGatewayBlockMode; + + /** + * @return Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + */ + public Output internetGatewayBlockMode() { + return this.internetGatewayBlockMode; + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private VpcBlockPublicAccessOptionsArgs() {} + + private VpcBlockPublicAccessOptionsArgs(VpcBlockPublicAccessOptionsArgs $) { + this.internetGatewayBlockMode = $.internetGatewayBlockMode; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcBlockPublicAccessOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcBlockPublicAccessOptionsArgs $; + + public Builder() { + $ = new VpcBlockPublicAccessOptionsArgs(); + } + + public Builder(VpcBlockPublicAccessOptionsArgs defaults) { + $ = new VpcBlockPublicAccessOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param internetGatewayBlockMode Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + * @return builder + * + */ + public Builder internetGatewayBlockMode(Output internetGatewayBlockMode) { + $.internetGatewayBlockMode = internetGatewayBlockMode; + return this; + } + + /** + * @param internetGatewayBlockMode Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + * @return builder + * + */ + public Builder internetGatewayBlockMode(String internetGatewayBlockMode) { + return internetGatewayBlockMode(Output.of(internetGatewayBlockMode)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(VpcBlockPublicAccessOptionsTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public VpcBlockPublicAccessOptionsArgs build() { + if ($.internetGatewayBlockMode == null) { + throw new MissingRequiredPropertyException("VpcBlockPublicAccessOptionsArgs", "internetGatewayBlockMode"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointService.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointService.java index dcb322f3f49..d4d3f8760a3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointService.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointService.java @@ -309,6 +309,20 @@ public Output state() { public Output> supportedIpAddressTypes() { return this.supportedIpAddressTypes; } + /** + * The set of regions from which service consumers can access the service. + * + */ + @Export(name="supportedRegions", refs={List.class,String.class}, tree="[0,1]") + private Output> supportedRegions; + + /** + * @return The set of regions from which service consumers can access the service. + * + */ + public Output> supportedRegions() { + return this.supportedRegions; + } /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointServiceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointServiceArgs.java index 1925602d16b..7dba7904183 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointServiceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointServiceArgs.java @@ -109,6 +109,21 @@ public Optional>> supportedIpAddressTypes() { return Optional.ofNullable(this.supportedIpAddressTypes); } + /** + * The set of regions from which service consumers can access the service. + * + */ + @Import(name="supportedRegions") + private @Nullable Output> supportedRegions; + + /** + * @return The set of regions from which service consumers can access the service. + * + */ + public Optional>> supportedRegions() { + return Optional.ofNullable(this.supportedRegions); + } + /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -133,6 +148,7 @@ private VpcEndpointServiceArgs(VpcEndpointServiceArgs $) { this.networkLoadBalancerArns = $.networkLoadBalancerArns; this.privateDnsName = $.privateDnsName; this.supportedIpAddressTypes = $.supportedIpAddressTypes; + this.supportedRegions = $.supportedRegions; this.tags = $.tags; } @@ -320,6 +336,37 @@ public Builder supportedIpAddressTypes(String... supportedIpAddressTypes) { return supportedIpAddressTypes(List.of(supportedIpAddressTypes)); } + /** + * @param supportedRegions The set of regions from which service consumers can access the service. + * + * @return builder + * + */ + public Builder supportedRegions(@Nullable Output> supportedRegions) { + $.supportedRegions = supportedRegions; + return this; + } + + /** + * @param supportedRegions The set of regions from which service consumers can access the service. + * + * @return builder + * + */ + public Builder supportedRegions(List supportedRegions) { + return supportedRegions(Output.of(supportedRegions)); + } + + /** + * @param supportedRegions The set of regions from which service consumers can access the service. + * + * @return builder + * + */ + public Builder supportedRegions(String... supportedRegions) { + return supportedRegions(List.of(supportedRegions)); + } + /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessExclusionState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessExclusionState.java new file mode 100644 index 00000000000..8b382bf822b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessExclusionState.java @@ -0,0 +1,311 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.inputs; + +import com.pulumi.aws.ec2.inputs.VpcBlockPublicAccessExclusionTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VpcBlockPublicAccessExclusionState extends com.pulumi.resources.ResourceArgs { + + public static final VpcBlockPublicAccessExclusionState Empty = new VpcBlockPublicAccessExclusionState(); + + /** + * Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + */ + @Import(name="internetGatewayExclusionMode") + private @Nullable Output internetGatewayExclusionMode; + + /** + * @return Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + */ + public Optional> internetGatewayExclusionMode() { + return Optional.ofNullable(this.internetGatewayExclusionMode); + } + + /** + * The Amazon Resource Name (ARN) the excluded resource. + * + */ + @Import(name="resourceArn") + private @Nullable Output resourceArn; + + /** + * @return The Amazon Resource Name (ARN) the excluded resource. + * + */ + public Optional> resourceArn() { + return Optional.ofNullable(this.resourceArn); + } + + /** + * Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + */ + @Import(name="subnetId") + private @Nullable Output subnetId; + + /** + * @return Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + */ + public Optional> subnetId() { + return Optional.ofNullable(this.subnetId); + } + + /** + * A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + /** + * Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + private VpcBlockPublicAccessExclusionState() {} + + private VpcBlockPublicAccessExclusionState(VpcBlockPublicAccessExclusionState $) { + this.internetGatewayExclusionMode = $.internetGatewayExclusionMode; + this.resourceArn = $.resourceArn; + this.subnetId = $.subnetId; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + this.vpcId = $.vpcId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcBlockPublicAccessExclusionState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcBlockPublicAccessExclusionState $; + + public Builder() { + $ = new VpcBlockPublicAccessExclusionState(); + } + + public Builder(VpcBlockPublicAccessExclusionState defaults) { + $ = new VpcBlockPublicAccessExclusionState(Objects.requireNonNull(defaults)); + } + + /** + * @param internetGatewayExclusionMode Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder internetGatewayExclusionMode(@Nullable Output internetGatewayExclusionMode) { + $.internetGatewayExclusionMode = internetGatewayExclusionMode; + return this; + } + + /** + * @param internetGatewayExclusionMode Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder internetGatewayExclusionMode(String internetGatewayExclusionMode) { + return internetGatewayExclusionMode(Output.of(internetGatewayExclusionMode)); + } + + /** + * @param resourceArn The Amazon Resource Name (ARN) the excluded resource. + * + * @return builder + * + */ + public Builder resourceArn(@Nullable Output resourceArn) { + $.resourceArn = resourceArn; + return this; + } + + /** + * @param resourceArn The Amazon Resource Name (ARN) the excluded resource. + * + * @return builder + * + */ + public Builder resourceArn(String resourceArn) { + return resourceArn(Output.of(resourceArn)); + } + + /** + * @param subnetId Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + * @return builder + * + */ + public Builder subnetId(@Nullable Output subnetId) { + $.subnetId = subnetId; + return this; + } + + /** + * @param subnetId Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + * + * @return builder + * + */ + public Builder subnetId(String subnetId) { + return subnetId(Output.of(subnetId)); + } + + /** + * @param tags A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(VpcBlockPublicAccessExclusionTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + /** + * @param vpcId Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + public VpcBlockPublicAccessExclusionState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessExclusionTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessExclusionTimeoutsArgs.java new file mode 100644 index 00000000000..3e4808bfcec --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessExclusionTimeoutsArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VpcBlockPublicAccessExclusionTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final VpcBlockPublicAccessExclusionTimeoutsArgs Empty = new VpcBlockPublicAccessExclusionTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + @Import(name="create") + private @Nullable Output create; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional> create() { + return Optional.ofNullable(this.create); + } + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + @Import(name="delete") + private @Nullable Output delete; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + public Optional> delete() { + return Optional.ofNullable(this.delete); + } + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + @Import(name="update") + private @Nullable Output update; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional> update() { + return Optional.ofNullable(this.update); + } + + private VpcBlockPublicAccessExclusionTimeoutsArgs() {} + + private VpcBlockPublicAccessExclusionTimeoutsArgs(VpcBlockPublicAccessExclusionTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcBlockPublicAccessExclusionTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcBlockPublicAccessExclusionTimeoutsArgs $; + + public Builder() { + $ = new VpcBlockPublicAccessExclusionTimeoutsArgs(); + } + + public Builder(VpcBlockPublicAccessExclusionTimeoutsArgs defaults) { + $ = new VpcBlockPublicAccessExclusionTimeoutsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param create A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder create(@Nullable Output create) { + $.create = create; + return this; + } + + /** + * @param create A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder create(String create) { + return create(Output.of(create)); + } + + /** + * @param delete A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + * @return builder + * + */ + public Builder delete(@Nullable Output delete) { + $.delete = delete; + return this; + } + + /** + * @param delete A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + * @return builder + * + */ + public Builder delete(String delete) { + return delete(Output.of(delete)); + } + + /** + * @param update A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder update(@Nullable Output update) { + $.update = update; + return this; + } + + /** + * @param update A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder update(String update) { + return update(Output.of(update)); + } + + public VpcBlockPublicAccessExclusionTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessOptionsState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessOptionsState.java new file mode 100644 index 00000000000..41ede79e1f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessOptionsState.java @@ -0,0 +1,175 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.inputs; + +import com.pulumi.aws.ec2.inputs.VpcBlockPublicAccessOptionsTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VpcBlockPublicAccessOptionsState extends com.pulumi.resources.ResourceArgs { + + public static final VpcBlockPublicAccessOptionsState Empty = new VpcBlockPublicAccessOptionsState(); + + /** + * The AWS account id to which these options apply. + * + */ + @Import(name="awsAccountId") + private @Nullable Output awsAccountId; + + /** + * @return The AWS account id to which these options apply. + * + */ + public Optional> awsAccountId() { + return Optional.ofNullable(this.awsAccountId); + } + + /** + * The AWS region to which these options apply. + * + */ + @Import(name="awsRegion") + private @Nullable Output awsRegion; + + /** + * @return The AWS region to which these options apply. + * + */ + public Optional> awsRegion() { + return Optional.ofNullable(this.awsRegion); + } + + /** + * Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + */ + @Import(name="internetGatewayBlockMode") + private @Nullable Output internetGatewayBlockMode; + + /** + * @return Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + */ + public Optional> internetGatewayBlockMode() { + return Optional.ofNullable(this.internetGatewayBlockMode); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private VpcBlockPublicAccessOptionsState() {} + + private VpcBlockPublicAccessOptionsState(VpcBlockPublicAccessOptionsState $) { + this.awsAccountId = $.awsAccountId; + this.awsRegion = $.awsRegion; + this.internetGatewayBlockMode = $.internetGatewayBlockMode; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcBlockPublicAccessOptionsState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcBlockPublicAccessOptionsState $; + + public Builder() { + $ = new VpcBlockPublicAccessOptionsState(); + } + + public Builder(VpcBlockPublicAccessOptionsState defaults) { + $ = new VpcBlockPublicAccessOptionsState(Objects.requireNonNull(defaults)); + } + + /** + * @param awsAccountId The AWS account id to which these options apply. + * + * @return builder + * + */ + public Builder awsAccountId(@Nullable Output awsAccountId) { + $.awsAccountId = awsAccountId; + return this; + } + + /** + * @param awsAccountId The AWS account id to which these options apply. + * + * @return builder + * + */ + public Builder awsAccountId(String awsAccountId) { + return awsAccountId(Output.of(awsAccountId)); + } + + /** + * @param awsRegion The AWS region to which these options apply. + * + * @return builder + * + */ + public Builder awsRegion(@Nullable Output awsRegion) { + $.awsRegion = awsRegion; + return this; + } + + /** + * @param awsRegion The AWS region to which these options apply. + * + * @return builder + * + */ + public Builder awsRegion(String awsRegion) { + return awsRegion(Output.of(awsRegion)); + } + + /** + * @param internetGatewayBlockMode Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + * @return builder + * + */ + public Builder internetGatewayBlockMode(@Nullable Output internetGatewayBlockMode) { + $.internetGatewayBlockMode = internetGatewayBlockMode; + return this; + } + + /** + * @param internetGatewayBlockMode Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + * + * @return builder + * + */ + public Builder internetGatewayBlockMode(String internetGatewayBlockMode) { + return internetGatewayBlockMode(Output.of(internetGatewayBlockMode)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(VpcBlockPublicAccessOptionsTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public VpcBlockPublicAccessOptionsState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessOptionsTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessOptionsTimeoutsArgs.java new file mode 100644 index 00000000000..5792f9d8303 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcBlockPublicAccessOptionsTimeoutsArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VpcBlockPublicAccessOptionsTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final VpcBlockPublicAccessOptionsTimeoutsArgs Empty = new VpcBlockPublicAccessOptionsTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + @Import(name="create") + private @Nullable Output create; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional> create() { + return Optional.ofNullable(this.create); + } + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + @Import(name="delete") + private @Nullable Output delete; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + public Optional> delete() { + return Optional.ofNullable(this.delete); + } + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + @Import(name="update") + private @Nullable Output update; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional> update() { + return Optional.ofNullable(this.update); + } + + private VpcBlockPublicAccessOptionsTimeoutsArgs() {} + + private VpcBlockPublicAccessOptionsTimeoutsArgs(VpcBlockPublicAccessOptionsTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcBlockPublicAccessOptionsTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcBlockPublicAccessOptionsTimeoutsArgs $; + + public Builder() { + $ = new VpcBlockPublicAccessOptionsTimeoutsArgs(); + } + + public Builder(VpcBlockPublicAccessOptionsTimeoutsArgs defaults) { + $ = new VpcBlockPublicAccessOptionsTimeoutsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param create A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder create(@Nullable Output create) { + $.create = create; + return this; + } + + /** + * @param create A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder create(String create) { + return create(Output.of(create)); + } + + /** + * @param delete A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + * @return builder + * + */ + public Builder delete(@Nullable Output delete) { + $.delete = delete; + return this; + } + + /** + * @param delete A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + * @return builder + * + */ + public Builder delete(String delete) { + return delete(Output.of(delete)); + } + + /** + * @param update A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder update(@Nullable Output update) { + $.update = update; + return this; + } + + /** + * @param update A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder update(String update) { + return update(Output.of(update)); + } + + public VpcBlockPublicAccessOptionsTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointServiceState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointServiceState.java index b681cfa41b7..a074d8174e9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointServiceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointServiceState.java @@ -229,6 +229,21 @@ public Optional>> supportedIpAddressTypes() { return Optional.ofNullable(this.supportedIpAddressTypes); } + /** + * The set of regions from which service consumers can access the service. + * + */ + @Import(name="supportedRegions") + private @Nullable Output> supportedRegions; + + /** + * @return The set of regions from which service consumers can access the service. + * + */ + public Optional>> supportedRegions() { + return Optional.ofNullable(this.supportedRegions); + } + /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -284,6 +299,7 @@ private VpcEndpointServiceState(VpcEndpointServiceState $) { this.serviceType = $.serviceType; this.state = $.state; this.supportedIpAddressTypes = $.supportedIpAddressTypes; + this.supportedRegions = $.supportedRegions; this.tags = $.tags; this.tagsAll = $.tagsAll; } @@ -670,6 +686,37 @@ public Builder supportedIpAddressTypes(String... supportedIpAddressTypes) { return supportedIpAddressTypes(List.of(supportedIpAddressTypes)); } + /** + * @param supportedRegions The set of regions from which service consumers can access the service. + * + * @return builder + * + */ + public Builder supportedRegions(@Nullable Output> supportedRegions) { + $.supportedRegions = supportedRegions; + return this; + } + + /** + * @param supportedRegions The set of regions from which service consumers can access the service. + * + * @return builder + * + */ + public Builder supportedRegions(List supportedRegions) { + return supportedRegions(Output.of(supportedRegions)); + } + + /** + * @param supportedRegions The set of regions from which service consumers can access the service. + * + * @return builder + * + */ + public Builder supportedRegions(String... supportedRegions) { + return supportedRegions(List.of(supportedRegions)); + } + /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcBlockPublicAccessExclusionTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcBlockPublicAccessExclusionTimeouts.java new file mode 100644 index 00000000000..98a1b5e285e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcBlockPublicAccessExclusionTimeouts.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VpcBlockPublicAccessExclusionTimeouts { + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + private @Nullable String create; + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + private @Nullable String delete; + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + private @Nullable String update; + + private VpcBlockPublicAccessExclusionTimeouts() {} + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional create() { + return Optional.ofNullable(this.create); + } + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + public Optional delete() { + return Optional.ofNullable(this.delete); + } + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional update() { + return Optional.ofNullable(this.update); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VpcBlockPublicAccessExclusionTimeouts defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String create; + private @Nullable String delete; + private @Nullable String update; + public Builder() {} + public Builder(VpcBlockPublicAccessExclusionTimeouts defaults) { + Objects.requireNonNull(defaults); + this.create = defaults.create; + this.delete = defaults.delete; + this.update = defaults.update; + } + + @CustomType.Setter + public Builder create(@Nullable String create) { + + this.create = create; + return this; + } + @CustomType.Setter + public Builder delete(@Nullable String delete) { + + this.delete = delete; + return this; + } + @CustomType.Setter + public Builder update(@Nullable String update) { + + this.update = update; + return this; + } + public VpcBlockPublicAccessExclusionTimeouts build() { + final var _resultValue = new VpcBlockPublicAccessExclusionTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcBlockPublicAccessOptionsTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcBlockPublicAccessOptionsTimeouts.java new file mode 100644 index 00000000000..4690e5ec563 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcBlockPublicAccessOptionsTimeouts.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VpcBlockPublicAccessOptionsTimeouts { + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + private @Nullable String create; + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + private @Nullable String delete; + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + private @Nullable String update; + + private VpcBlockPublicAccessOptionsTimeouts() {} + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional create() { + return Optional.ofNullable(this.create); + } + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + public Optional delete() { + return Optional.ofNullable(this.delete); + } + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional update() { + return Optional.ofNullable(this.update); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VpcBlockPublicAccessOptionsTimeouts defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String create; + private @Nullable String delete; + private @Nullable String update; + public Builder() {} + public Builder(VpcBlockPublicAccessOptionsTimeouts defaults) { + Objects.requireNonNull(defaults); + this.create = defaults.create; + this.delete = defaults.delete; + this.update = defaults.update; + } + + @CustomType.Setter + public Builder create(@Nullable String create) { + + this.create = create; + return this; + } + @CustomType.Setter + public Builder delete(@Nullable String delete) { + + this.delete = delete; + return this; + } + @CustomType.Setter + public Builder update(@Nullable String update) { + + this.update = update; + return this; + } + public VpcBlockPublicAccessOptionsTimeouts build() { + final var _resultValue = new VpcBlockPublicAccessOptionsTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java index e385c0a4f72..3c8ebd56c08 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/Cluster.java @@ -8,10 +8,13 @@ import com.pulumi.aws.eks.inputs.ClusterState; import com.pulumi.aws.eks.outputs.ClusterAccessConfig; import com.pulumi.aws.eks.outputs.ClusterCertificateAuthority; +import com.pulumi.aws.eks.outputs.ClusterComputeConfig; import com.pulumi.aws.eks.outputs.ClusterEncryptionConfig; import com.pulumi.aws.eks.outputs.ClusterIdentity; import com.pulumi.aws.eks.outputs.ClusterKubernetesNetworkConfig; import com.pulumi.aws.eks.outputs.ClusterOutpostConfig; +import com.pulumi.aws.eks.outputs.ClusterRemoteNetworkConfig; +import com.pulumi.aws.eks.outputs.ClusterStorageConfig; import com.pulumi.aws.eks.outputs.ClusterUpgradePolicy; import com.pulumi.aws.eks.outputs.ClusterVpcConfig; import com.pulumi.aws.eks.outputs.ClusterZonalShiftConfig; @@ -31,7 +34,7 @@ * * ## Example Usage * - * ### Basic Usage + * ### EKS Cluster * * <!--Start PulumiCodeChooser --> *
@@ -41,9 +44,15 @@
  * import com.pulumi.Context;
  * import com.pulumi.Pulumi;
  * import com.pulumi.core.Output;
+ * import com.pulumi.aws.iam.Role;
+ * import com.pulumi.aws.iam.RoleArgs;
+ * import com.pulumi.aws.iam.RolePolicyAttachment;
+ * import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
  * import com.pulumi.aws.eks.Cluster;
  * import com.pulumi.aws.eks.ClusterArgs;
+ * import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;
  * import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;
+ * import static com.pulumi.codegen.internal.Serialization.*;
  * import com.pulumi.resources.CustomResourceOptions;
  * import java.util.List;
  * import java.util.ArrayList;
@@ -58,29 +67,55 @@
  *     }
  * 
  *     public static void stack(Context ctx) {
+ *         var cluster = new Role("cluster", RoleArgs.builder()
+ *             .name("eks-cluster-example")
+ *             .assumeRolePolicy(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("Version", "2012-10-17"),
+ *                     jsonProperty("Statement", jsonArray(jsonObject(
+ *                         jsonProperty("Action", jsonArray(
+ *                             "sts:AssumeRole", 
+ *                             "sts:TagSession"
+ *                         )),
+ *                         jsonProperty("Effect", "Allow"),
+ *                         jsonProperty("Principal", jsonObject(
+ *                             jsonProperty("Service", "eks.amazonaws.com")
+ *                         ))
+ *                     )))
+ *                 )))
+ *             .build());
+ * 
+ *         var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment("clusterAmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder()
+ *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy")
+ *             .role(cluster.name())
+ *             .build());
+ * 
  *         var example = new Cluster("example", ClusterArgs.builder()
  *             .name("example")
+ *             .accessConfig(ClusterAccessConfigArgs.builder()
+ *                 .authenticationMode("API")
+ *                 .build())
  *             .roleArn(exampleAwsIamRole.arn())
+ *             .version("1.31")
  *             .vpcConfig(ClusterVpcConfigArgs.builder()
  *                 .subnetIds(                
- *                     example1.id(),
- *                     example2.id())
+ *                     az1.id(),
+ *                     az2.id(),
+ *                     az3.id())
  *                 .build())
  *             .build(), CustomResourceOptions.builder()
- *                 .dependsOn(                
- *                     example_AmazonEKSClusterPolicy,
- *                     example_AmazonEKSVPCResourceController)
+ *                 .dependsOn(clusterAmazonEKSClusterPolicy)
  *                 .build());
  * 
- *         ctx.export("endpoint", example.endpoint());
- *         ctx.export("kubeconfig-certificate-authority-data", example.certificateAuthority().applyValue(certificateAuthority -> certificateAuthority.data()));
  *     }
  * }
  * }
  * 
* <!--End PulumiCodeChooser --> * - * ### Example IAM Role for EKS Cluster + * ### EKS Cluster with EKS Auto Mode + * + * > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`. * * <!--Start PulumiCodeChooser --> *
@@ -90,12 +125,21 @@
  * import com.pulumi.Context;
  * import com.pulumi.Pulumi;
  * import com.pulumi.core.Output;
- * import com.pulumi.aws.iam.IamFunctions;
- * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
  * import com.pulumi.aws.iam.Role;
  * import com.pulumi.aws.iam.RoleArgs;
  * import com.pulumi.aws.iam.RolePolicyAttachment;
  * import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
+ * import com.pulumi.aws.eks.Cluster;
+ * import com.pulumi.aws.eks.ClusterArgs;
+ * import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;
+ * import com.pulumi.aws.eks.inputs.ClusterComputeConfigArgs;
+ * import com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigArgs;
+ * import com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs;
+ * import com.pulumi.aws.eks.inputs.ClusterStorageConfigArgs;
+ * import com.pulumi.aws.eks.inputs.ClusterStorageConfigBlockStorageArgs;
+ * import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;
+ * import static com.pulumi.codegen.internal.Serialization.*;
+ * import com.pulumi.resources.CustomResourceOptions;
  * import java.util.List;
  * import java.util.ArrayList;
  * import java.util.Map;
@@ -109,159 +153,111 @@
  *     }
  * 
  *     public static void stack(Context ctx) {
- *         final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
- *             .statements(GetPolicyDocumentStatementArgs.builder()
- *                 .effect("Allow")
- *                 .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
- *                     .type("Service")
- *                     .identifiers("eks.amazonaws.com")
- *                     .build())
- *                 .actions("sts:AssumeRole")
- *                 .build())
+ *         var node = new Role("node", RoleArgs.builder()
+ *             .name("eks-auto-node-example")
+ *             .assumeRolePolicy(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("Version", "2012-10-17"),
+ *                     jsonProperty("Statement", jsonArray(jsonObject(
+ *                         jsonProperty("Action", jsonArray("sts:AssumeRole")),
+ *                         jsonProperty("Effect", "Allow"),
+ *                         jsonProperty("Principal", jsonObject(
+ *                             jsonProperty("Service", "ec2.amazonaws.com")
+ *                         ))
+ *                     )))
+ *                 )))
  *             .build());
  * 
- *         var example = new Role("example", RoleArgs.builder()
+ *         var cluster = new Role("cluster", RoleArgs.builder()
  *             .name("eks-cluster-example")
- *             .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+ *             .assumeRolePolicy(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("Version", "2012-10-17"),
+ *                     jsonProperty("Statement", jsonArray(jsonObject(
+ *                         jsonProperty("Action", jsonArray(
+ *                             "sts:AssumeRole", 
+ *                             "sts:TagSession"
+ *                         )),
+ *                         jsonProperty("Effect", "Allow"),
+ *                         jsonProperty("Principal", jsonObject(
+ *                             jsonProperty("Service", "eks.amazonaws.com")
+ *                         ))
+ *                     )))
+ *                 )))
  *             .build());
  * 
- *         var example_AmazonEKSClusterPolicy = new RolePolicyAttachment("example-AmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder()
+ *         var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment("clusterAmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder()
  *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy")
- *             .role(example.name())
+ *             .role(cluster.name())
  *             .build());
  * 
- *         // Optionally, enable Security Groups for Pods
- *         // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html
- *         var example_AmazonEKSVPCResourceController = new RolePolicyAttachment("example-AmazonEKSVPCResourceController", RolePolicyAttachmentArgs.builder()
- *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSVPCResourceController")
- *             .role(example.name())
+ *         var clusterAmazonEKSComputePolicy = new RolePolicyAttachment("clusterAmazonEKSComputePolicy", RolePolicyAttachmentArgs.builder()
+ *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSComputePolicy")
+ *             .role(cluster.name())
  *             .build());
  * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * ### Enabling Control Plane Logging - * - * [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `aws.cloudwatch.LogGroup` resource can be used. - * - * > The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment. - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.cloudwatch.LogGroup;
- * import com.pulumi.aws.cloudwatch.LogGroupArgs;
- * import com.pulumi.aws.eks.Cluster;
- * import com.pulumi.aws.eks.ClusterArgs;
- * import com.pulumi.resources.CustomResourceOptions;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         final var config = ctx.config();
- *         final var clusterName = config.get("clusterName").orElse("example");
- *         var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder()
- *             .name(String.format("/aws/eks/%s/cluster", clusterName))
- *             .retentionInDays(7)
+ *         var clusterAmazonEKSBlockStoragePolicy = new RolePolicyAttachment("clusterAmazonEKSBlockStoragePolicy", RolePolicyAttachmentArgs.builder()
+ *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy")
+ *             .role(cluster.name())
  *             .build());
  * 
- *         var example = new Cluster("example", ClusterArgs.builder()
- *             .enabledClusterLogTypes(            
- *                 "api",
- *                 "audit")
- *             .name(clusterName)
- *             .build(), CustomResourceOptions.builder()
- *                 .dependsOn(exampleLogGroup)
- *                 .build());
- * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * ### Enabling IAM Roles for Service Accounts - * - * For more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.eks.Cluster;
- * import com.pulumi.tls.TlsFunctions;
- * import com.pulumi.tls.inputs.GetCertificateArgs;
- * import com.pulumi.aws.iam.OpenIdConnectProvider;
- * import com.pulumi.aws.iam.OpenIdConnectProviderArgs;
- * import com.pulumi.aws.iam.IamFunctions;
- * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
- * import com.pulumi.aws.iam.Role;
- * import com.pulumi.aws.iam.RoleArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var exampleCluster = new Cluster("exampleCluster");
- * 
- *         final var example = TlsFunctions.getCertificate(GetCertificateArgs.builder()
- *             .url(exampleCluster.identities().applyValue(identities -> identities[0].oidcs()[0].issuer()))
+ *         var clusterAmazonEKSLoadBalancingPolicy = new RolePolicyAttachment("clusterAmazonEKSLoadBalancingPolicy", RolePolicyAttachmentArgs.builder()
+ *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy")
+ *             .role(cluster.name())
  *             .build());
  * 
- *         var exampleOpenIdConnectProvider = new OpenIdConnectProvider("exampleOpenIdConnectProvider", OpenIdConnectProviderArgs.builder()
- *             .clientIdLists("sts.amazonaws.com")
- *             .thumbprintLists(example.applyValue(getCertificateResult -> getCertificateResult).applyValue(example -> example.applyValue(getCertificateResult -> getCertificateResult.certificates()[0].sha1Fingerprint())))
- *             .url(example.applyValue(getCertificateResult -> getCertificateResult).applyValue(example -> example.applyValue(getCertificateResult -> getCertificateResult.url())))
+ *         var clusterAmazonEKSNetworkingPolicy = new RolePolicyAttachment("clusterAmazonEKSNetworkingPolicy", RolePolicyAttachmentArgs.builder()
+ *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy")
+ *             .role(cluster.name())
  *             .build());
  * 
- *         final var exampleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
- *             .statements(GetPolicyDocumentStatementArgs.builder()
- *                 .actions("sts:AssumeRoleWithWebIdentity")
- *                 .effect("Allow")
- *                 .conditions(GetPolicyDocumentStatementConditionArgs.builder()
- *                     .test("StringEquals")
- *                     .variable(StdFunctions.replace().applyValue(invoke -> String.format("%s:sub", invoke.result())))
- *                     .values("system:serviceaccount:kube-system:aws-node")
+ *         var example = new Cluster("example", ClusterArgs.builder()
+ *             .name("example")
+ *             .accessConfig(ClusterAccessConfigArgs.builder()
+ *                 .authenticationMode("API")
+ *                 .build())
+ *             .roleArn(cluster.arn())
+ *             .version("1.31")
+ *             .computeConfig(ClusterComputeConfigArgs.builder()
+ *                 .enabled(true)
+ *                 .nodePools("general-purpose")
+ *                 .nodeRoleArn(node.arn())
+ *                 .build())
+ *             .kubernetesNetworkConfig(ClusterKubernetesNetworkConfigArgs.builder()
+ *                 .elasticLoadBalancing(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.builder()
+ *                     .enabled(true)
  *                     .build())
- *                 .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
- *                     .identifiers(exampleOpenIdConnectProvider.arn())
- *                     .type("Federated")
+ *                 .build())
+ *             .storageConfig(ClusterStorageConfigArgs.builder()
+ *                 .blockStorage(ClusterStorageConfigBlockStorageArgs.builder()
+ *                     .enabled(true)
  *                     .build())
  *                 .build())
+ *             .vpcConfig(ClusterVpcConfigArgs.builder()
+ *                 .endpointPrivateAccess(true)
+ *                 .endpointPublicAccess(true)
+ *                 .subnetIds(                
+ *                     az1.id(),
+ *                     az2.id(),
+ *                     az3.id())
+ *                 .build())
+ *             .build(), CustomResourceOptions.builder()
+ *                 .dependsOn(                
+ *                     clusterAmazonEKSClusterPolicy,
+ *                     clusterAmazonEKSComputePolicy,
+ *                     clusterAmazonEKSBlockStoragePolicy,
+ *                     clusterAmazonEKSLoadBalancingPolicy,
+ *                     clusterAmazonEKSNetworkingPolicy)
+ *                 .build());
+ * 
+ *         var nodeAmazonEKSWorkerNodeMinimalPolicy = new RolePolicyAttachment("nodeAmazonEKSWorkerNodeMinimalPolicy", RolePolicyAttachmentArgs.builder()
+ *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy")
+ *             .role(node.name())
  *             .build());
  * 
- *         var exampleRole = new Role("exampleRole", RoleArgs.builder()
- *             .assumeRolePolicy(exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(exampleAssumeRolePolicy -> exampleAssumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
- *             .name("example")
+ *         var nodeAmazonEC2ContainerRegistryPullOnly = new RolePolicyAttachment("nodeAmazonEC2ContainerRegistryPullOnly", RolePolicyAttachmentArgs.builder()
+ *             .policyArn("arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly")
+ *             .role(node.name())
  *             .build());
  * 
  *     }
@@ -270,7 +266,12 @@
  * 
* <!--End PulumiCodeChooser --> * - * ### EKS Cluster on AWS Outpost + * ### EKS Cluster with EKS Hybrid Nodes + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + * ### Local EKS Cluster on AWS Outpost * * [Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) * @@ -282,12 +283,19 @@ * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; + * import com.pulumi.aws.outposts.OutpostsFunctions; + * import com.pulumi.aws.outposts.inputs.GetOutpostArgs; * import com.pulumi.aws.iam.Role; * import com.pulumi.aws.iam.RoleArgs; + * import com.pulumi.aws.iam.RolePolicyAttachment; + * import com.pulumi.aws.iam.RolePolicyAttachmentArgs; * import com.pulumi.aws.eks.Cluster; * import com.pulumi.aws.eks.ClusterArgs; + * import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs; * import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs; * import com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs; + * import static com.pulumi.codegen.internal.Serialization.*; + * import com.pulumi.resources.CustomResourceOptions; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -301,76 +309,58 @@ * } * * public static void stack(Context ctx) { - * var example = new Role("example", RoleArgs.builder() - * .assumeRolePolicy(exampleAssumeRolePolicy.json()) + * final var example = OutpostsFunctions.getOutpost(GetOutpostArgs.builder() * .name("example") * .build()); * - * var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder() - * .name("example-cluster") - * .roleArn(example.arn()) - * .vpcConfig(ClusterVpcConfigArgs.builder() - * .endpointPrivateAccess(true) - * .endpointPublicAccess(false) - * .build()) - * .outpostConfig(ClusterOutpostConfigArgs.builder() - * .controlPlaneInstanceType("m5d.large") - * .outpostArns(exampleAwsOutpostsOutpost.arn()) - * .build()) + * var cluster = new Role("cluster", RoleArgs.builder() + * .name("eks-cluster-example") + * .assumeRolePolicy(serializeJson( + * jsonObject( + * jsonProperty("Version", "2012-10-17"), + * jsonProperty("Statement", jsonArray(jsonObject( + * jsonProperty("Action", jsonArray( + * "sts:AssumeRole", + * "sts:TagSession" + * )), + * jsonProperty("Effect", "Allow"), + * jsonProperty("Principal", jsonObject( + * jsonProperty("Service", jsonArray( + * "eks.amazonaws.com", + * "ec2.amazonaws.com" + * )) + * )) + * ))) + * ))) * .build()); * - * } - * } - * } - * - * <!--End PulumiCodeChooser --> - * - * ### EKS Cluster with Access Config - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.iam.Role;
- * import com.pulumi.aws.iam.RoleArgs;
- * import com.pulumi.aws.eks.Cluster;
- * import com.pulumi.aws.eks.ClusterArgs;
- * import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;
- * import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         var example = new Role("example", RoleArgs.builder()
- *             .assumeRolePolicy(exampleAssumeRolePolicy.json())
- *             .name("example")
+ *         var clusterAmazonEKSLocalOutpostClusterPolicy = new RolePolicyAttachment("clusterAmazonEKSLocalOutpostClusterPolicy", RolePolicyAttachmentArgs.builder()
+ *             .policyArn("arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy")
+ *             .role(cluster.name())
  *             .build());
  * 
  *         var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
- *             .name("example-cluster")
- *             .roleArn(example.arn())
+ *             .name("example")
+ *             .accessConfig(ClusterAccessConfigArgs.builder()
+ *                 .authenticationMode("CONFIG_MAP")
+ *                 .build())
+ *             .roleArn(exampleAwsIamRole.arn())
+ *             .version("1.31")
  *             .vpcConfig(ClusterVpcConfigArgs.builder()
  *                 .endpointPrivateAccess(true)
  *                 .endpointPublicAccess(false)
+ *                 .subnetIds(                
+ *                     az1.id(),
+ *                     az2.id(),
+ *                     az3.id())
  *                 .build())
- *             .accessConfig(ClusterAccessConfigArgs.builder()
- *                 .authenticationMode("CONFIG_MAP")
- *                 .bootstrapClusterCreatorAdminPermissions(true)
+ *             .outpostConfig(ClusterOutpostConfigArgs.builder()
+ *                 .controlPlaneInstanceType("m5.large")
+ *                 .outpostArns(example.applyValue(getOutpostResult -> getOutpostResult.arn()))
  *                 .build())
- *             .build());
+ *             .build(), CustomResourceOptions.builder()
+ *                 .dependsOn(clusterAmazonEKSLocalOutpostClusterPolicy)
+ *                 .build());
  * 
  *     }
  * }
@@ -378,8 +368,6 @@
  * 
* <!--End PulumiCodeChooser --> * - * After adding inline IAM Policies (e.g., `aws.iam.RolePolicy` resource) or attaching IAM Policies (e.g., `aws.iam.Policy` resource and `aws.iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetes_service_account` resource) and recreate any pods. - * * ## Import * * Using `pulumi import`, import EKS Clusters using the `name`. For example: @@ -467,6 +455,20 @@ public Output certificateAuthority() { public Output clusterId() { return this.clusterId; } + /** + * Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + */ + @Export(name="computeConfig", refs={ClusterComputeConfig.class}, tree="[0]") + private Output computeConfig; + + /** + * @return Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + */ + public Output> computeConfig() { + return Codegen.optional(this.computeConfig); + } /** * Unix epoch timestamp in seconds for when the cluster was created. * @@ -599,6 +601,20 @@ public Output> outpostConfig() { public Output platformVersion() { return this.platformVersion; } + /** + * Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + @Export(name="remoteNetworkConfig", refs={ClusterRemoteNetworkConfig.class}, tree="[0]") + private Output remoteNetworkConfig; + + /** + * @return Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + public Output> remoteNetworkConfig() { + return Codegen.optional(this.remoteNetworkConfig); + } /** * ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. * @@ -627,6 +643,20 @@ public Output roleArn() { public Output status() { return this.status; } + /** + * Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + */ + @Export(name="storageConfig", refs={ClusterStorageConfig.class}, tree="[0]") + private Output storageConfig; + + /** + * @return Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + */ + public Output> storageConfig() { + return Codegen.optional(this.storageConfig); + } /** * Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/ClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/ClusterArgs.java index 4b4331f0e74..3c32c284710 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/ClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/ClusterArgs.java @@ -4,9 +4,12 @@ package com.pulumi.aws.eks; import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs; +import com.pulumi.aws.eks.inputs.ClusterComputeConfigArgs; import com.pulumi.aws.eks.inputs.ClusterEncryptionConfigArgs; import com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigArgs; import com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs; +import com.pulumi.aws.eks.inputs.ClusterRemoteNetworkConfigArgs; +import com.pulumi.aws.eks.inputs.ClusterStorageConfigArgs; import com.pulumi.aws.eks.inputs.ClusterUpgradePolicyArgs; import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs; import com.pulumi.aws.eks.inputs.ClusterZonalShiftConfigArgs; @@ -56,6 +59,21 @@ public Optional> bootstrapSelfManagedAddons() { return Optional.ofNullable(this.bootstrapSelfManagedAddons); } + /** + * Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + */ + @Import(name="computeConfig") + private @Nullable Output computeConfig; + + /** + * @return Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + */ + public Optional> computeConfig() { + return Optional.ofNullable(this.computeConfig); + } + @Import(name="defaultAddonsToRemoves") private @Nullable Output> defaultAddonsToRemoves; @@ -138,6 +156,21 @@ public Optional> outpostConfig() { return Optional.ofNullable(this.outpostConfig); } + /** + * Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + @Import(name="remoteNetworkConfig") + private @Nullable Output remoteNetworkConfig; + + /** + * @return Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + public Optional> remoteNetworkConfig() { + return Optional.ofNullable(this.remoteNetworkConfig); + } + /** * ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. * @@ -153,6 +186,21 @@ public Output roleArn() { return this.roleArn; } + /** + * Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + */ + @Import(name="storageConfig") + private @Nullable Output storageConfig; + + /** + * @return Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + */ + public Optional> storageConfig() { + return Optional.ofNullable(this.storageConfig); + } + /** * Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -237,13 +285,16 @@ private ClusterArgs() {} private ClusterArgs(ClusterArgs $) { this.accessConfig = $.accessConfig; this.bootstrapSelfManagedAddons = $.bootstrapSelfManagedAddons; + this.computeConfig = $.computeConfig; this.defaultAddonsToRemoves = $.defaultAddonsToRemoves; this.enabledClusterLogTypes = $.enabledClusterLogTypes; this.encryptionConfig = $.encryptionConfig; this.kubernetesNetworkConfig = $.kubernetesNetworkConfig; this.name = $.name; this.outpostConfig = $.outpostConfig; + this.remoteNetworkConfig = $.remoteNetworkConfig; this.roleArn = $.roleArn; + this.storageConfig = $.storageConfig; this.tags = $.tags; this.upgradePolicy = $.upgradePolicy; this.version = $.version; @@ -311,6 +362,27 @@ public Builder bootstrapSelfManagedAddons(Boolean bootstrapSelfManagedAddons) { return bootstrapSelfManagedAddons(Output.of(bootstrapSelfManagedAddons)); } + /** + * @param computeConfig Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + * @return builder + * + */ + public Builder computeConfig(@Nullable Output computeConfig) { + $.computeConfig = computeConfig; + return this; + } + + /** + * @param computeConfig Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + * @return builder + * + */ + public Builder computeConfig(ClusterComputeConfigArgs computeConfig) { + return computeConfig(Output.of(computeConfig)); + } + public Builder defaultAddonsToRemoves(@Nullable Output> defaultAddonsToRemoves) { $.defaultAddonsToRemoves = defaultAddonsToRemoves; return this; @@ -439,6 +511,27 @@ public Builder outpostConfig(ClusterOutpostConfigArgs outpostConfig) { return outpostConfig(Output.of(outpostConfig)); } + /** + * @param remoteNetworkConfig Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + * @return builder + * + */ + public Builder remoteNetworkConfig(@Nullable Output remoteNetworkConfig) { + $.remoteNetworkConfig = remoteNetworkConfig; + return this; + } + + /** + * @param remoteNetworkConfig Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + * @return builder + * + */ + public Builder remoteNetworkConfig(ClusterRemoteNetworkConfigArgs remoteNetworkConfig) { + return remoteNetworkConfig(Output.of(remoteNetworkConfig)); + } + /** * @param roleArn ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. * @@ -460,6 +553,27 @@ public Builder roleArn(String roleArn) { return roleArn(Output.of(roleArn)); } + /** + * @param storageConfig Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + * @return builder + * + */ + public Builder storageConfig(@Nullable Output storageConfig) { + $.storageConfig = storageConfig; + return this; + } + + /** + * @param storageConfig Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + * @return builder + * + */ + public Builder storageConfig(ClusterStorageConfigArgs storageConfig) { + return storageConfig(Output.of(storageConfig)); + } + /** * @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java index 392eb79ac1f..445102cf240 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java @@ -656,7 +656,6 @@ public static CompletableFuture getAddonVersionPlain(GetA * * ctx.export("endpoint", example.applyValue(getClusterResult -> getClusterResult.endpoint())); * ctx.export("kubeconfig-certificate-authority-data", example.applyValue(getClusterResult -> getClusterResult.certificateAuthorities()[0].data())); - * ctx.export("identity-oidc-issuer", example.applyValue(getClusterResult -> getClusterResult.identities()[0].oidcs()[0].issuer())); * } * } * } @@ -701,7 +700,6 @@ public static Output getCluster(GetClusterArgs args) { * * ctx.export("endpoint", example.applyValue(getClusterResult -> getClusterResult.endpoint())); * ctx.export("kubeconfig-certificate-authority-data", example.applyValue(getClusterResult -> getClusterResult.certificateAuthorities()[0].data())); - * ctx.export("identity-oidc-issuer", example.applyValue(getClusterResult -> getClusterResult.identities()[0].oidcs()[0].issuer())); * } * } * } @@ -746,7 +744,6 @@ public static CompletableFuture getClusterPlain(GetClusterPlai * * ctx.export("endpoint", example.applyValue(getClusterResult -> getClusterResult.endpoint())); * ctx.export("kubeconfig-certificate-authority-data", example.applyValue(getClusterResult -> getClusterResult.certificateAuthorities()[0].data())); - * ctx.export("identity-oidc-issuer", example.applyValue(getClusterResult -> getClusterResult.identities()[0].oidcs()[0].issuer())); * } * } * } @@ -791,7 +788,6 @@ public static Output getCluster(GetClusterArgs args, InvokeOpt * * ctx.export("endpoint", example.applyValue(getClusterResult -> getClusterResult.endpoint())); * ctx.export("kubeconfig-certificate-authority-data", example.applyValue(getClusterResult -> getClusterResult.certificateAuthorities()[0].data())); - * ctx.export("identity-oidc-issuer", example.applyValue(getClusterResult -> getClusterResult.identities()[0].oidcs()[0].issuer())); * } * } * } diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterComputeConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterComputeConfigArgs.java new file mode 100644 index 00000000000..f4848026ff7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterComputeConfigArgs.java @@ -0,0 +1,169 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterComputeConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterComputeConfigArgs Empty = new ClusterComputeConfigArgs(); + + /** + * Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + * + */ + @Import(name="nodePools") + private @Nullable Output> nodePools; + + /** + * @return Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + * + */ + public Optional>> nodePools() { + return Optional.ofNullable(this.nodePools); + } + + /** + * The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + * + */ + @Import(name="nodeRoleArn") + private @Nullable Output nodeRoleArn; + + /** + * @return The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + * + */ + public Optional> nodeRoleArn() { + return Optional.ofNullable(this.nodeRoleArn); + } + + private ClusterComputeConfigArgs() {} + + private ClusterComputeConfigArgs(ClusterComputeConfigArgs $) { + this.enabled = $.enabled; + this.nodePools = $.nodePools; + this.nodeRoleArn = $.nodeRoleArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterComputeConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterComputeConfigArgs $; + + public Builder() { + $ = new ClusterComputeConfigArgs(); + } + + public Builder(ClusterComputeConfigArgs defaults) { + $ = new ClusterComputeConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param nodePools Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + * + * @return builder + * + */ + public Builder nodePools(@Nullable Output> nodePools) { + $.nodePools = nodePools; + return this; + } + + /** + * @param nodePools Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + * + * @return builder + * + */ + public Builder nodePools(List nodePools) { + return nodePools(Output.of(nodePools)); + } + + /** + * @param nodePools Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + * + * @return builder + * + */ + public Builder nodePools(String... nodePools) { + return nodePools(List.of(nodePools)); + } + + /** + * @param nodeRoleArn The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + * + * @return builder + * + */ + public Builder nodeRoleArn(@Nullable Output nodeRoleArn) { + $.nodeRoleArn = nodeRoleArn; + return this; + } + + /** + * @param nodeRoleArn The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + * + * @return builder + * + */ + public Builder nodeRoleArn(String nodeRoleArn) { + return nodeRoleArn(Output.of(nodeRoleArn)); + } + + public ClusterComputeConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterKubernetesNetworkConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterKubernetesNetworkConfigArgs.java index ea1ea69ce49..6ae593d6673 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterKubernetesNetworkConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterKubernetesNetworkConfigArgs.java @@ -3,6 +3,7 @@ package com.pulumi.aws.eks.inputs; +import com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -15,6 +16,21 @@ public final class ClusterKubernetesNetworkConfigArgs extends com.pulumi.resourc public static final ClusterKubernetesNetworkConfigArgs Empty = new ClusterKubernetesNetworkConfigArgs(); + /** + * Configuration block with elastic load balancing configuration for the cluster. Detailed below. + * + */ + @Import(name="elasticLoadBalancing") + private @Nullable Output elasticLoadBalancing; + + /** + * @return Configuration block with elastic load balancing configuration for the cluster. Detailed below. + * + */ + public Optional> elasticLoadBalancing() { + return Optional.ofNullable(this.elasticLoadBalancing); + } + /** * The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. * @@ -58,14 +74,14 @@ public Optional> serviceIpv4Cidr() { } /** - * The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + * The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. * */ @Import(name="serviceIpv6Cidr") private @Nullable Output serviceIpv6Cidr; /** - * @return The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + * @return The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. * */ public Optional> serviceIpv6Cidr() { @@ -75,6 +91,7 @@ public Optional> serviceIpv6Cidr() { private ClusterKubernetesNetworkConfigArgs() {} private ClusterKubernetesNetworkConfigArgs(ClusterKubernetesNetworkConfigArgs $) { + this.elasticLoadBalancing = $.elasticLoadBalancing; this.ipFamily = $.ipFamily; this.serviceIpv4Cidr = $.serviceIpv4Cidr; this.serviceIpv6Cidr = $.serviceIpv6Cidr; @@ -98,6 +115,27 @@ public Builder(ClusterKubernetesNetworkConfigArgs defaults) { $ = new ClusterKubernetesNetworkConfigArgs(Objects.requireNonNull(defaults)); } + /** + * @param elasticLoadBalancing Configuration block with elastic load balancing configuration for the cluster. Detailed below. + * + * @return builder + * + */ + public Builder elasticLoadBalancing(@Nullable Output elasticLoadBalancing) { + $.elasticLoadBalancing = elasticLoadBalancing; + return this; + } + + /** + * @param elasticLoadBalancing Configuration block with elastic load balancing configuration for the cluster. Detailed below. + * + * @return builder + * + */ + public Builder elasticLoadBalancing(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs elasticLoadBalancing) { + return elasticLoadBalancing(Output.of(elasticLoadBalancing)); + } + /** * @param ipFamily The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. * @@ -153,7 +191,7 @@ public Builder serviceIpv4Cidr(String serviceIpv4Cidr) { } /** - * @param serviceIpv6Cidr The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + * @param serviceIpv6Cidr The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. * * @return builder * @@ -164,7 +202,7 @@ public Builder serviceIpv6Cidr(@Nullable Output serviceIpv6Cidr) { } /** - * @param serviceIpv6Cidr The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + * @param serviceIpv6Cidr The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.java new file mode 100644 index 00000000000..ceaf504437a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterKubernetesNetworkConfigElasticLoadBalancingArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterKubernetesNetworkConfigElasticLoadBalancingArgs Empty = new ClusterKubernetesNetworkConfigElasticLoadBalancingArgs(); + + /** + * Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + private ClusterKubernetesNetworkConfigElasticLoadBalancingArgs() {} + + private ClusterKubernetesNetworkConfigElasticLoadBalancingArgs(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs $) { + this.enabled = $.enabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterKubernetesNetworkConfigElasticLoadBalancingArgs $; + + public Builder() { + $ = new ClusterKubernetesNetworkConfigElasticLoadBalancingArgs(); + } + + public Builder(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs defaults) { + $ = new ClusterKubernetesNetworkConfigElasticLoadBalancingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public ClusterKubernetesNetworkConfigElasticLoadBalancingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigArgs.java new file mode 100644 index 00000000000..d090ece5e3a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.inputs; + +import com.pulumi.aws.eks.inputs.ClusterRemoteNetworkConfigRemoteNodeNetworksArgs; +import com.pulumi.aws.eks.inputs.ClusterRemoteNetworkConfigRemotePodNetworksArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterRemoteNetworkConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterRemoteNetworkConfigArgs Empty = new ClusterRemoteNetworkConfigArgs(); + + /** + * Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + @Import(name="remoteNodeNetworks", required=true) + private Output remoteNodeNetworks; + + /** + * @return Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + public Output remoteNodeNetworks() { + return this.remoteNodeNetworks; + } + + /** + * Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + @Import(name="remotePodNetworks") + private @Nullable Output remotePodNetworks; + + /** + * @return Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + public Optional> remotePodNetworks() { + return Optional.ofNullable(this.remotePodNetworks); + } + + private ClusterRemoteNetworkConfigArgs() {} + + private ClusterRemoteNetworkConfigArgs(ClusterRemoteNetworkConfigArgs $) { + this.remoteNodeNetworks = $.remoteNodeNetworks; + this.remotePodNetworks = $.remotePodNetworks; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterRemoteNetworkConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterRemoteNetworkConfigArgs $; + + public Builder() { + $ = new ClusterRemoteNetworkConfigArgs(); + } + + public Builder(ClusterRemoteNetworkConfigArgs defaults) { + $ = new ClusterRemoteNetworkConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param remoteNodeNetworks Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + * + * @return builder + * + */ + public Builder remoteNodeNetworks(Output remoteNodeNetworks) { + $.remoteNodeNetworks = remoteNodeNetworks; + return this; + } + + /** + * @param remoteNodeNetworks Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + * + * @return builder + * + */ + public Builder remoteNodeNetworks(ClusterRemoteNetworkConfigRemoteNodeNetworksArgs remoteNodeNetworks) { + return remoteNodeNetworks(Output.of(remoteNodeNetworks)); + } + + /** + * @param remotePodNetworks Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + * + * @return builder + * + */ + public Builder remotePodNetworks(@Nullable Output remotePodNetworks) { + $.remotePodNetworks = remotePodNetworks; + return this; + } + + /** + * @param remotePodNetworks Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + * + * @return builder + * + */ + public Builder remotePodNetworks(ClusterRemoteNetworkConfigRemotePodNetworksArgs remotePodNetworks) { + return remotePodNetworks(Output.of(remotePodNetworks)); + } + + public ClusterRemoteNetworkConfigArgs build() { + if ($.remoteNodeNetworks == null) { + throw new MissingRequiredPropertyException("ClusterRemoteNetworkConfigArgs", "remoteNodeNetworks"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksArgs.java new file mode 100644 index 00000000000..95365a2471c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigRemoteNodeNetworksArgs.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterRemoteNetworkConfigRemoteNodeNetworksArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterRemoteNetworkConfigRemoteNodeNetworksArgs Empty = new ClusterRemoteNetworkConfigRemoteNodeNetworksArgs(); + + /** + * List of network CIDRs that can contain hybrid nodes. + * + */ + @Import(name="cidrs") + private @Nullable Output> cidrs; + + /** + * @return List of network CIDRs that can contain hybrid nodes. + * + */ + public Optional>> cidrs() { + return Optional.ofNullable(this.cidrs); + } + + private ClusterRemoteNetworkConfigRemoteNodeNetworksArgs() {} + + private ClusterRemoteNetworkConfigRemoteNodeNetworksArgs(ClusterRemoteNetworkConfigRemoteNodeNetworksArgs $) { + this.cidrs = $.cidrs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterRemoteNetworkConfigRemoteNodeNetworksArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterRemoteNetworkConfigRemoteNodeNetworksArgs $; + + public Builder() { + $ = new ClusterRemoteNetworkConfigRemoteNodeNetworksArgs(); + } + + public Builder(ClusterRemoteNetworkConfigRemoteNodeNetworksArgs defaults) { + $ = new ClusterRemoteNetworkConfigRemoteNodeNetworksArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cidrs List of network CIDRs that can contain hybrid nodes. + * + * @return builder + * + */ + public Builder cidrs(@Nullable Output> cidrs) { + $.cidrs = cidrs; + return this; + } + + /** + * @param cidrs List of network CIDRs that can contain hybrid nodes. + * + * @return builder + * + */ + public Builder cidrs(List cidrs) { + return cidrs(Output.of(cidrs)); + } + + /** + * @param cidrs List of network CIDRs that can contain hybrid nodes. + * + * @return builder + * + */ + public Builder cidrs(String... cidrs) { + return cidrs(List.of(cidrs)); + } + + public ClusterRemoteNetworkConfigRemoteNodeNetworksArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigRemotePodNetworksArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigRemotePodNetworksArgs.java new file mode 100644 index 00000000000..1ba10f77b29 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterRemoteNetworkConfigRemotePodNetworksArgs.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterRemoteNetworkConfigRemotePodNetworksArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterRemoteNetworkConfigRemotePodNetworksArgs Empty = new ClusterRemoteNetworkConfigRemotePodNetworksArgs(); + + /** + * List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + @Import(name="cidrs") + private @Nullable Output> cidrs; + + /** + * @return List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + public Optional>> cidrs() { + return Optional.ofNullable(this.cidrs); + } + + private ClusterRemoteNetworkConfigRemotePodNetworksArgs() {} + + private ClusterRemoteNetworkConfigRemotePodNetworksArgs(ClusterRemoteNetworkConfigRemotePodNetworksArgs $) { + this.cidrs = $.cidrs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterRemoteNetworkConfigRemotePodNetworksArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterRemoteNetworkConfigRemotePodNetworksArgs $; + + public Builder() { + $ = new ClusterRemoteNetworkConfigRemotePodNetworksArgs(); + } + + public Builder(ClusterRemoteNetworkConfigRemotePodNetworksArgs defaults) { + $ = new ClusterRemoteNetworkConfigRemotePodNetworksArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cidrs List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + * @return builder + * + */ + public Builder cidrs(@Nullable Output> cidrs) { + $.cidrs = cidrs; + return this; + } + + /** + * @param cidrs List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + * @return builder + * + */ + public Builder cidrs(List cidrs) { + return cidrs(Output.of(cidrs)); + } + + /** + * @param cidrs List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + * @return builder + * + */ + public Builder cidrs(String... cidrs) { + return cidrs(List.of(cidrs)); + } + + public ClusterRemoteNetworkConfigRemotePodNetworksArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterState.java index fe54c6193ee..741b64fb0e0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterState.java @@ -5,10 +5,13 @@ import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs; import com.pulumi.aws.eks.inputs.ClusterCertificateAuthorityArgs; +import com.pulumi.aws.eks.inputs.ClusterComputeConfigArgs; import com.pulumi.aws.eks.inputs.ClusterEncryptionConfigArgs; import com.pulumi.aws.eks.inputs.ClusterIdentityArgs; import com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigArgs; import com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs; +import com.pulumi.aws.eks.inputs.ClusterRemoteNetworkConfigArgs; +import com.pulumi.aws.eks.inputs.ClusterStorageConfigArgs; import com.pulumi.aws.eks.inputs.ClusterUpgradePolicyArgs; import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs; import com.pulumi.aws.eks.inputs.ClusterZonalShiftConfigArgs; @@ -109,6 +112,21 @@ public Optional> clusterId() { return Optional.ofNullable(this.clusterId); } + /** + * Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + */ + @Import(name="computeConfig") + private @Nullable Output computeConfig; + + /** + * @return Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + */ + public Optional> computeConfig() { + return Optional.ofNullable(this.computeConfig); + } + /** * Unix epoch timestamp in seconds for when the cluster was created. * @@ -251,6 +269,21 @@ public Optional> platformVersion() { return Optional.ofNullable(this.platformVersion); } + /** + * Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + @Import(name="remoteNetworkConfig") + private @Nullable Output remoteNetworkConfig; + + /** + * @return Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + public Optional> remoteNetworkConfig() { + return Optional.ofNullable(this.remoteNetworkConfig); + } + /** * ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. * @@ -281,6 +314,21 @@ public Optional> status() { return Optional.ofNullable(this.status); } + /** + * Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + */ + @Import(name="storageConfig") + private @Nullable Output storageConfig; + + /** + * @return Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + */ + public Optional> storageConfig() { + return Optional.ofNullable(this.storageConfig); + } + /** * Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -392,6 +440,7 @@ private ClusterState(ClusterState $) { this.certificateAuthorities = $.certificateAuthorities; this.certificateAuthority = $.certificateAuthority; this.clusterId = $.clusterId; + this.computeConfig = $.computeConfig; this.createdAt = $.createdAt; this.defaultAddonsToRemoves = $.defaultAddonsToRemoves; this.enabledClusterLogTypes = $.enabledClusterLogTypes; @@ -402,8 +451,10 @@ private ClusterState(ClusterState $) { this.name = $.name; this.outpostConfig = $.outpostConfig; this.platformVersion = $.platformVersion; + this.remoteNetworkConfig = $.remoteNetworkConfig; this.roleArn = $.roleArn; this.status = $.status; + this.storageConfig = $.storageConfig; this.tags = $.tags; this.tagsAll = $.tagsAll; this.upgradePolicy = $.upgradePolicy; @@ -548,6 +599,27 @@ public Builder clusterId(String clusterId) { return clusterId(Output.of(clusterId)); } + /** + * @param computeConfig Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + * @return builder + * + */ + public Builder computeConfig(@Nullable Output computeConfig) { + $.computeConfig = computeConfig; + return this; + } + + /** + * @param computeConfig Configuration block with compute configuration for EKS Auto Mode. Detailed below. + * + * @return builder + * + */ + public Builder computeConfig(ClusterComputeConfigArgs computeConfig) { + return computeConfig(Output.of(computeConfig)); + } + /** * @param createdAt Unix epoch timestamp in seconds for when the cluster was created. * @@ -770,6 +842,27 @@ public Builder platformVersion(String platformVersion) { return platformVersion(Output.of(platformVersion)); } + /** + * @param remoteNetworkConfig Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + * @return builder + * + */ + public Builder remoteNetworkConfig(@Nullable Output remoteNetworkConfig) { + $.remoteNetworkConfig = remoteNetworkConfig; + return this; + } + + /** + * @param remoteNetworkConfig Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + * + * @return builder + * + */ + public Builder remoteNetworkConfig(ClusterRemoteNetworkConfigArgs remoteNetworkConfig) { + return remoteNetworkConfig(Output.of(remoteNetworkConfig)); + } + /** * @param roleArn ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. * @@ -812,6 +905,27 @@ public Builder status(String status) { return status(Output.of(status)); } + /** + * @param storageConfig Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + * @return builder + * + */ + public Builder storageConfig(@Nullable Output storageConfig) { + $.storageConfig = storageConfig; + return this; + } + + /** + * @param storageConfig Configuration block with storage configuration for EKS Auto Mode. Detailed below. + * + * @return builder + * + */ + public Builder storageConfig(ClusterStorageConfigArgs storageConfig) { + return storageConfig(Output.of(storageConfig)); + } + /** * @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterStorageConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterStorageConfigArgs.java new file mode 100644 index 00000000000..8219651a7d9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterStorageConfigArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.inputs; + +import com.pulumi.aws.eks.inputs.ClusterStorageConfigBlockStorageArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterStorageConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterStorageConfigArgs Empty = new ClusterStorageConfigArgs(); + + @Import(name="blockStorage") + private @Nullable Output blockStorage; + + public Optional> blockStorage() { + return Optional.ofNullable(this.blockStorage); + } + + private ClusterStorageConfigArgs() {} + + private ClusterStorageConfigArgs(ClusterStorageConfigArgs $) { + this.blockStorage = $.blockStorage; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterStorageConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterStorageConfigArgs $; + + public Builder() { + $ = new ClusterStorageConfigArgs(); + } + + public Builder(ClusterStorageConfigArgs defaults) { + $ = new ClusterStorageConfigArgs(Objects.requireNonNull(defaults)); + } + + public Builder blockStorage(@Nullable Output blockStorage) { + $.blockStorage = blockStorage; + return this; + } + + public Builder blockStorage(ClusterStorageConfigBlockStorageArgs blockStorage) { + return blockStorage(Output.of(blockStorage)); + } + + public ClusterStorageConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterStorageConfigBlockStorageArgs.java b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterStorageConfigBlockStorageArgs.java new file mode 100644 index 00000000000..6bb57aa072e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/inputs/ClusterStorageConfigBlockStorageArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterStorageConfigBlockStorageArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterStorageConfigBlockStorageArgs Empty = new ClusterStorageConfigBlockStorageArgs(); + + @Import(name="enabled") + private @Nullable Output enabled; + + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + private ClusterStorageConfigBlockStorageArgs() {} + + private ClusterStorageConfigBlockStorageArgs(ClusterStorageConfigBlockStorageArgs $) { + this.enabled = $.enabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterStorageConfigBlockStorageArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterStorageConfigBlockStorageArgs $; + + public Builder() { + $ = new ClusterStorageConfigBlockStorageArgs(); + } + + public Builder(ClusterStorageConfigBlockStorageArgs defaults) { + $ = new ClusterStorageConfigBlockStorageArgs(Objects.requireNonNull(defaults)); + } + + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public ClusterStorageConfigBlockStorageArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterComputeConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterComputeConfig.java new file mode 100644 index 00000000000..2bdcefeda9e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterComputeConfig.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterComputeConfig { + /** + * @return Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + * + */ + private @Nullable Boolean enabled; + /** + * @return Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + * + */ + private @Nullable List nodePools; + /** + * @return The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + * + */ + private @Nullable String nodeRoleArn; + + private ClusterComputeConfig() {} + /** + * @return Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + /** + * @return Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + * + */ + public List nodePools() { + return this.nodePools == null ? List.of() : this.nodePools; + } + /** + * @return The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + * + */ + public Optional nodeRoleArn() { + return Optional.ofNullable(this.nodeRoleArn); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterComputeConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + private @Nullable List nodePools; + private @Nullable String nodeRoleArn; + public Builder() {} + public Builder(ClusterComputeConfig defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + this.nodePools = defaults.nodePools; + this.nodeRoleArn = defaults.nodeRoleArn; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + @CustomType.Setter + public Builder nodePools(@Nullable List nodePools) { + + this.nodePools = nodePools; + return this; + } + public Builder nodePools(String... nodePools) { + return nodePools(List.of(nodePools)); + } + @CustomType.Setter + public Builder nodeRoleArn(@Nullable String nodeRoleArn) { + + this.nodeRoleArn = nodeRoleArn; + return this; + } + public ClusterComputeConfig build() { + final var _resultValue = new ClusterComputeConfig(); + _resultValue.enabled = enabled; + _resultValue.nodePools = nodePools; + _resultValue.nodeRoleArn = nodeRoleArn; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterKubernetesNetworkConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterKubernetesNetworkConfig.java index 6c5528156c3..32b668df954 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterKubernetesNetworkConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterKubernetesNetworkConfig.java @@ -3,6 +3,7 @@ package com.pulumi.aws.eks.outputs; +import com.pulumi.aws.eks.outputs.ClusterKubernetesNetworkConfigElasticLoadBalancing; import com.pulumi.core.annotations.CustomType; import java.lang.String; import java.util.Objects; @@ -11,6 +12,11 @@ @CustomType public final class ClusterKubernetesNetworkConfig { + /** + * @return Configuration block with elastic load balancing configuration for the cluster. Detailed below. + * + */ + private @Nullable ClusterKubernetesNetworkConfigElasticLoadBalancing elasticLoadBalancing; /** * @return The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. * @@ -28,12 +34,19 @@ public final class ClusterKubernetesNetworkConfig { */ private @Nullable String serviceIpv4Cidr; /** - * @return The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + * @return The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. * */ private @Nullable String serviceIpv6Cidr; private ClusterKubernetesNetworkConfig() {} + /** + * @return Configuration block with elastic load balancing configuration for the cluster. Detailed below. + * + */ + public Optional elasticLoadBalancing() { + return Optional.ofNullable(this.elasticLoadBalancing); + } /** * @return The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. * @@ -55,7 +68,7 @@ public Optional serviceIpv4Cidr() { return Optional.ofNullable(this.serviceIpv4Cidr); } /** - * @return The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + * @return The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. * */ public Optional serviceIpv6Cidr() { @@ -71,17 +84,25 @@ public static Builder builder(ClusterKubernetesNetworkConfig defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable ClusterKubernetesNetworkConfigElasticLoadBalancing elasticLoadBalancing; private @Nullable String ipFamily; private @Nullable String serviceIpv4Cidr; private @Nullable String serviceIpv6Cidr; public Builder() {} public Builder(ClusterKubernetesNetworkConfig defaults) { Objects.requireNonNull(defaults); + this.elasticLoadBalancing = defaults.elasticLoadBalancing; this.ipFamily = defaults.ipFamily; this.serviceIpv4Cidr = defaults.serviceIpv4Cidr; this.serviceIpv6Cidr = defaults.serviceIpv6Cidr; } + @CustomType.Setter + public Builder elasticLoadBalancing(@Nullable ClusterKubernetesNetworkConfigElasticLoadBalancing elasticLoadBalancing) { + + this.elasticLoadBalancing = elasticLoadBalancing; + return this; + } @CustomType.Setter public Builder ipFamily(@Nullable String ipFamily) { @@ -102,6 +123,7 @@ public Builder serviceIpv6Cidr(@Nullable String serviceIpv6Cidr) { } public ClusterKubernetesNetworkConfig build() { final var _resultValue = new ClusterKubernetesNetworkConfig(); + _resultValue.elasticLoadBalancing = elasticLoadBalancing; _resultValue.ipFamily = ipFamily; _resultValue.serviceIpv4Cidr = serviceIpv4Cidr; _resultValue.serviceIpv6Cidr = serviceIpv6Cidr; diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterKubernetesNetworkConfigElasticLoadBalancing.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterKubernetesNetworkConfigElasticLoadBalancing.java new file mode 100644 index 00000000000..cbb7801cc8b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterKubernetesNetworkConfigElasticLoadBalancing.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterKubernetesNetworkConfigElasticLoadBalancing { + /** + * @return Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + * + */ + private @Nullable Boolean enabled; + + private ClusterKubernetesNetworkConfigElasticLoadBalancing() {} + /** + * @return Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterKubernetesNetworkConfigElasticLoadBalancing defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + public Builder() {} + public Builder(ClusterKubernetesNetworkConfigElasticLoadBalancing defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + public ClusterKubernetesNetworkConfigElasticLoadBalancing build() { + final var _resultValue = new ClusterKubernetesNetworkConfigElasticLoadBalancing(); + _resultValue.enabled = enabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfig.java new file mode 100644 index 00000000000..b6e4c95bdd5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfig.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.aws.eks.outputs.ClusterRemoteNetworkConfigRemoteNodeNetworks; +import com.pulumi.aws.eks.outputs.ClusterRemoteNetworkConfigRemotePodNetworks; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterRemoteNetworkConfig { + /** + * @return Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + private ClusterRemoteNetworkConfigRemoteNodeNetworks remoteNodeNetworks; + /** + * @return Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + private @Nullable ClusterRemoteNetworkConfigRemotePodNetworks remotePodNetworks; + + private ClusterRemoteNetworkConfig() {} + /** + * @return Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + public ClusterRemoteNetworkConfigRemoteNodeNetworks remoteNodeNetworks() { + return this.remoteNodeNetworks; + } + /** + * @return Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + * + */ + public Optional remotePodNetworks() { + return Optional.ofNullable(this.remotePodNetworks); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterRemoteNetworkConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private ClusterRemoteNetworkConfigRemoteNodeNetworks remoteNodeNetworks; + private @Nullable ClusterRemoteNetworkConfigRemotePodNetworks remotePodNetworks; + public Builder() {} + public Builder(ClusterRemoteNetworkConfig defaults) { + Objects.requireNonNull(defaults); + this.remoteNodeNetworks = defaults.remoteNodeNetworks; + this.remotePodNetworks = defaults.remotePodNetworks; + } + + @CustomType.Setter + public Builder remoteNodeNetworks(ClusterRemoteNetworkConfigRemoteNodeNetworks remoteNodeNetworks) { + if (remoteNodeNetworks == null) { + throw new MissingRequiredPropertyException("ClusterRemoteNetworkConfig", "remoteNodeNetworks"); + } + this.remoteNodeNetworks = remoteNodeNetworks; + return this; + } + @CustomType.Setter + public Builder remotePodNetworks(@Nullable ClusterRemoteNetworkConfigRemotePodNetworks remotePodNetworks) { + + this.remotePodNetworks = remotePodNetworks; + return this; + } + public ClusterRemoteNetworkConfig build() { + final var _resultValue = new ClusterRemoteNetworkConfig(); + _resultValue.remoteNodeNetworks = remoteNodeNetworks; + _resultValue.remotePodNetworks = remotePodNetworks; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfigRemoteNodeNetworks.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfigRemoteNodeNetworks.java new file mode 100644 index 00000000000..2c05d40c0fe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfigRemoteNodeNetworks.java @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterRemoteNetworkConfigRemoteNodeNetworks { + /** + * @return List of network CIDRs that can contain hybrid nodes. + * + */ + private @Nullable List cidrs; + + private ClusterRemoteNetworkConfigRemoteNodeNetworks() {} + /** + * @return List of network CIDRs that can contain hybrid nodes. + * + */ + public List cidrs() { + return this.cidrs == null ? List.of() : this.cidrs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterRemoteNetworkConfigRemoteNodeNetworks defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List cidrs; + public Builder() {} + public Builder(ClusterRemoteNetworkConfigRemoteNodeNetworks defaults) { + Objects.requireNonNull(defaults); + this.cidrs = defaults.cidrs; + } + + @CustomType.Setter + public Builder cidrs(@Nullable List cidrs) { + + this.cidrs = cidrs; + return this; + } + public Builder cidrs(String... cidrs) { + return cidrs(List.of(cidrs)); + } + public ClusterRemoteNetworkConfigRemoteNodeNetworks build() { + final var _resultValue = new ClusterRemoteNetworkConfigRemoteNodeNetworks(); + _resultValue.cidrs = cidrs; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfigRemotePodNetworks.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfigRemotePodNetworks.java new file mode 100644 index 00000000000..d265e4ff414 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterRemoteNetworkConfigRemotePodNetworks.java @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterRemoteNetworkConfigRemotePodNetworks { + /** + * @return List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + private @Nullable List cidrs; + + private ClusterRemoteNetworkConfigRemotePodNetworks() {} + /** + * @return List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + public List cidrs() { + return this.cidrs == null ? List.of() : this.cidrs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterRemoteNetworkConfigRemotePodNetworks defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List cidrs; + public Builder() {} + public Builder(ClusterRemoteNetworkConfigRemotePodNetworks defaults) { + Objects.requireNonNull(defaults); + this.cidrs = defaults.cidrs; + } + + @CustomType.Setter + public Builder cidrs(@Nullable List cidrs) { + + this.cidrs = cidrs; + return this; + } + public Builder cidrs(String... cidrs) { + return cidrs(List.of(cidrs)); + } + public ClusterRemoteNetworkConfigRemotePodNetworks build() { + final var _resultValue = new ClusterRemoteNetworkConfigRemotePodNetworks(); + _resultValue.cidrs = cidrs; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterStorageConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterStorageConfig.java new file mode 100644 index 00000000000..7c04f63a4c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterStorageConfig.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.aws.eks.outputs.ClusterStorageConfigBlockStorage; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterStorageConfig { + private @Nullable ClusterStorageConfigBlockStorage blockStorage; + + private ClusterStorageConfig() {} + public Optional blockStorage() { + return Optional.ofNullable(this.blockStorage); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterStorageConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable ClusterStorageConfigBlockStorage blockStorage; + public Builder() {} + public Builder(ClusterStorageConfig defaults) { + Objects.requireNonNull(defaults); + this.blockStorage = defaults.blockStorage; + } + + @CustomType.Setter + public Builder blockStorage(@Nullable ClusterStorageConfigBlockStorage blockStorage) { + + this.blockStorage = blockStorage; + return this; + } + public ClusterStorageConfig build() { + final var _resultValue = new ClusterStorageConfig(); + _resultValue.blockStorage = blockStorage; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterStorageConfigBlockStorage.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterStorageConfigBlockStorage.java new file mode 100644 index 00000000000..915b3af5460 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/ClusterStorageConfigBlockStorage.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterStorageConfigBlockStorage { + private @Nullable Boolean enabled; + + private ClusterStorageConfigBlockStorage() {} + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterStorageConfigBlockStorage defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + public Builder() {} + public Builder(ClusterStorageConfigBlockStorage defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + public ClusterStorageConfigBlockStorage build() { + final var _resultValue = new ClusterStorageConfigBlockStorage(); + _resultValue.enabled = enabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterComputeConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterComputeConfig.java new file mode 100644 index 00000000000..b15a6d5ed5e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterComputeConfig.java @@ -0,0 +1,109 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetClusterComputeConfig { + /** + * @return Whether zonal shift is enabled. + * + */ + private Boolean enabled; + /** + * @return List of node pools for the EKS Auto Mode compute capability. + * + */ + private List nodePools; + /** + * @return The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. + * + */ + private String nodeRoleArn; + + private GetClusterComputeConfig() {} + /** + * @return Whether zonal shift is enabled. + * + */ + public Boolean enabled() { + return this.enabled; + } + /** + * @return List of node pools for the EKS Auto Mode compute capability. + * + */ + public List nodePools() { + return this.nodePools; + } + /** + * @return The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. + * + */ + public String nodeRoleArn() { + return this.nodeRoleArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetClusterComputeConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean enabled; + private List nodePools; + private String nodeRoleArn; + public Builder() {} + public Builder(GetClusterComputeConfig defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + this.nodePools = defaults.nodePools; + this.nodeRoleArn = defaults.nodeRoleArn; + } + + @CustomType.Setter + public Builder enabled(Boolean enabled) { + if (enabled == null) { + throw new MissingRequiredPropertyException("GetClusterComputeConfig", "enabled"); + } + this.enabled = enabled; + return this; + } + @CustomType.Setter + public Builder nodePools(List nodePools) { + if (nodePools == null) { + throw new MissingRequiredPropertyException("GetClusterComputeConfig", "nodePools"); + } + this.nodePools = nodePools; + return this; + } + public Builder nodePools(String... nodePools) { + return nodePools(List.of(nodePools)); + } + @CustomType.Setter + public Builder nodeRoleArn(String nodeRoleArn) { + if (nodeRoleArn == null) { + throw new MissingRequiredPropertyException("GetClusterComputeConfig", "nodeRoleArn"); + } + this.nodeRoleArn = nodeRoleArn; + return this; + } + public GetClusterComputeConfig build() { + final var _resultValue = new GetClusterComputeConfig(); + _resultValue.enabled = enabled; + _resultValue.nodePools = nodePools; + _resultValue.nodeRoleArn = nodeRoleArn; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterKubernetesNetworkConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterKubernetesNetworkConfig.java index 4b87cf46cd3..297592d8282 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterKubernetesNetworkConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterKubernetesNetworkConfig.java @@ -3,13 +3,20 @@ package com.pulumi.aws.eks.outputs; +import com.pulumi.aws.eks.outputs.GetClusterKubernetesNetworkConfigElasticLoadBalancing; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; +import java.util.List; import java.util.Objects; @CustomType public final class GetClusterKubernetesNetworkConfig { + /** + * @return Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. + * + */ + private List elasticLoadBalancings; /** * @return `ipv4` or `ipv6`. * @@ -27,6 +34,13 @@ public final class GetClusterKubernetesNetworkConfig { private String serviceIpv6Cidr; private GetClusterKubernetesNetworkConfig() {} + /** + * @return Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. + * + */ + public List elasticLoadBalancings() { + return this.elasticLoadBalancings; + } /** * @return `ipv4` or `ipv6`. * @@ -58,17 +72,30 @@ public static Builder builder(GetClusterKubernetesNetworkConfig defaults) { } @CustomType.Builder public static final class Builder { + private List elasticLoadBalancings; private String ipFamily; private String serviceIpv4Cidr; private String serviceIpv6Cidr; public Builder() {} public Builder(GetClusterKubernetesNetworkConfig defaults) { Objects.requireNonNull(defaults); + this.elasticLoadBalancings = defaults.elasticLoadBalancings; this.ipFamily = defaults.ipFamily; this.serviceIpv4Cidr = defaults.serviceIpv4Cidr; this.serviceIpv6Cidr = defaults.serviceIpv6Cidr; } + @CustomType.Setter + public Builder elasticLoadBalancings(List elasticLoadBalancings) { + if (elasticLoadBalancings == null) { + throw new MissingRequiredPropertyException("GetClusterKubernetesNetworkConfig", "elasticLoadBalancings"); + } + this.elasticLoadBalancings = elasticLoadBalancings; + return this; + } + public Builder elasticLoadBalancings(GetClusterKubernetesNetworkConfigElasticLoadBalancing... elasticLoadBalancings) { + return elasticLoadBalancings(List.of(elasticLoadBalancings)); + } @CustomType.Setter public Builder ipFamily(String ipFamily) { if (ipFamily == null) { @@ -95,6 +122,7 @@ public Builder serviceIpv6Cidr(String serviceIpv6Cidr) { } public GetClusterKubernetesNetworkConfig build() { final var _resultValue = new GetClusterKubernetesNetworkConfig(); + _resultValue.elasticLoadBalancings = elasticLoadBalancings; _resultValue.ipFamily = ipFamily; _resultValue.serviceIpv4Cidr = serviceIpv4Cidr; _resultValue.serviceIpv6Cidr = serviceIpv6Cidr; diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterKubernetesNetworkConfigElasticLoadBalancing.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterKubernetesNetworkConfigElasticLoadBalancing.java new file mode 100644 index 00000000000..705ade76e6c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterKubernetesNetworkConfigElasticLoadBalancing.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.util.Objects; + +@CustomType +public final class GetClusterKubernetesNetworkConfigElasticLoadBalancing { + /** + * @return Whether zonal shift is enabled. + * + */ + private Boolean enabled; + + private GetClusterKubernetesNetworkConfigElasticLoadBalancing() {} + /** + * @return Whether zonal shift is enabled. + * + */ + public Boolean enabled() { + return this.enabled; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetClusterKubernetesNetworkConfigElasticLoadBalancing defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean enabled; + public Builder() {} + public Builder(GetClusterKubernetesNetworkConfigElasticLoadBalancing defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder enabled(Boolean enabled) { + if (enabled == null) { + throw new MissingRequiredPropertyException("GetClusterKubernetesNetworkConfigElasticLoadBalancing", "enabled"); + } + this.enabled = enabled; + return this; + } + public GetClusterKubernetesNetworkConfigElasticLoadBalancing build() { + final var _resultValue = new GetClusterKubernetesNetworkConfigElasticLoadBalancing(); + _resultValue.enabled = enabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfig.java new file mode 100644 index 00000000000..c1ab4c044f1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfig.java @@ -0,0 +1,89 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.aws.eks.outputs.GetClusterRemoteNetworkConfigRemoteNodeNetwork; +import com.pulumi.aws.eks.outputs.GetClusterRemoteNetworkConfigRemotePodNetwork; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetClusterRemoteNetworkConfig { + /** + * @return The networks that can contain hybrid nodes. + * + */ + private List remoteNodeNetworks; + /** + * @return The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + private List remotePodNetworks; + + private GetClusterRemoteNetworkConfig() {} + /** + * @return The networks that can contain hybrid nodes. + * + */ + public List remoteNodeNetworks() { + return this.remoteNodeNetworks; + } + /** + * @return The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + public List remotePodNetworks() { + return this.remotePodNetworks; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetClusterRemoteNetworkConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List remoteNodeNetworks; + private List remotePodNetworks; + public Builder() {} + public Builder(GetClusterRemoteNetworkConfig defaults) { + Objects.requireNonNull(defaults); + this.remoteNodeNetworks = defaults.remoteNodeNetworks; + this.remotePodNetworks = defaults.remotePodNetworks; + } + + @CustomType.Setter + public Builder remoteNodeNetworks(List remoteNodeNetworks) { + if (remoteNodeNetworks == null) { + throw new MissingRequiredPropertyException("GetClusterRemoteNetworkConfig", "remoteNodeNetworks"); + } + this.remoteNodeNetworks = remoteNodeNetworks; + return this; + } + public Builder remoteNodeNetworks(GetClusterRemoteNetworkConfigRemoteNodeNetwork... remoteNodeNetworks) { + return remoteNodeNetworks(List.of(remoteNodeNetworks)); + } + @CustomType.Setter + public Builder remotePodNetworks(List remotePodNetworks) { + if (remotePodNetworks == null) { + throw new MissingRequiredPropertyException("GetClusterRemoteNetworkConfig", "remotePodNetworks"); + } + this.remotePodNetworks = remotePodNetworks; + return this; + } + public Builder remotePodNetworks(GetClusterRemoteNetworkConfigRemotePodNetwork... remotePodNetworks) { + return remotePodNetworks(List.of(remotePodNetworks)); + } + public GetClusterRemoteNetworkConfig build() { + final var _resultValue = new GetClusterRemoteNetworkConfig(); + _resultValue.remoteNodeNetworks = remoteNodeNetworks; + _resultValue.remotePodNetworks = remotePodNetworks; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfigRemoteNodeNetwork.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfigRemoteNodeNetwork.java new file mode 100644 index 00000000000..627fa095d8a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfigRemoteNodeNetwork.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetClusterRemoteNetworkConfigRemoteNodeNetwork { + /** + * @return List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + private List cidrs; + + private GetClusterRemoteNetworkConfigRemoteNodeNetwork() {} + /** + * @return List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + public List cidrs() { + return this.cidrs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetClusterRemoteNetworkConfigRemoteNodeNetwork defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List cidrs; + public Builder() {} + public Builder(GetClusterRemoteNetworkConfigRemoteNodeNetwork defaults) { + Objects.requireNonNull(defaults); + this.cidrs = defaults.cidrs; + } + + @CustomType.Setter + public Builder cidrs(List cidrs) { + if (cidrs == null) { + throw new MissingRequiredPropertyException("GetClusterRemoteNetworkConfigRemoteNodeNetwork", "cidrs"); + } + this.cidrs = cidrs; + return this; + } + public Builder cidrs(String... cidrs) { + return cidrs(List.of(cidrs)); + } + public GetClusterRemoteNetworkConfigRemoteNodeNetwork build() { + final var _resultValue = new GetClusterRemoteNetworkConfigRemoteNodeNetwork(); + _resultValue.cidrs = cidrs; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfigRemotePodNetwork.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfigRemotePodNetwork.java new file mode 100644 index 00000000000..97fc0a4306e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterRemoteNetworkConfigRemotePodNetwork.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetClusterRemoteNetworkConfigRemotePodNetwork { + /** + * @return List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + private List cidrs; + + private GetClusterRemoteNetworkConfigRemotePodNetwork() {} + /** + * @return List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + * + */ + public List cidrs() { + return this.cidrs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetClusterRemoteNetworkConfigRemotePodNetwork defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List cidrs; + public Builder() {} + public Builder(GetClusterRemoteNetworkConfigRemotePodNetwork defaults) { + Objects.requireNonNull(defaults); + this.cidrs = defaults.cidrs; + } + + @CustomType.Setter + public Builder cidrs(List cidrs) { + if (cidrs == null) { + throw new MissingRequiredPropertyException("GetClusterRemoteNetworkConfigRemotePodNetwork", "cidrs"); + } + this.cidrs = cidrs; + return this; + } + public Builder cidrs(String... cidrs) { + return cidrs(List.of(cidrs)); + } + public GetClusterRemoteNetworkConfigRemotePodNetwork build() { + final var _resultValue = new GetClusterRemoteNetworkConfigRemotePodNetwork(); + _resultValue.cidrs = cidrs; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterResult.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterResult.java index 5486f623c39..a7651d1b54a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterResult.java @@ -5,9 +5,12 @@ import com.pulumi.aws.eks.outputs.GetClusterAccessConfig; import com.pulumi.aws.eks.outputs.GetClusterCertificateAuthority; +import com.pulumi.aws.eks.outputs.GetClusterComputeConfig; import com.pulumi.aws.eks.outputs.GetClusterIdentity; import com.pulumi.aws.eks.outputs.GetClusterKubernetesNetworkConfig; import com.pulumi.aws.eks.outputs.GetClusterOutpostConfig; +import com.pulumi.aws.eks.outputs.GetClusterRemoteNetworkConfig; +import com.pulumi.aws.eks.outputs.GetClusterStorageConfig; import com.pulumi.aws.eks.outputs.GetClusterUpgradePolicy; import com.pulumi.aws.eks.outputs.GetClusterVpcConfig; import com.pulumi.aws.eks.outputs.GetClusterZonalShiftConfig; @@ -40,6 +43,11 @@ public final class GetClusterResult { * */ private String clusterId; + /** + * @return Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster. + * + */ + private List computeConfigs; /** * @return Unix epoch time stamp in seconds for when the cluster was created. * @@ -81,6 +89,11 @@ public final class GetClusterResult { * */ private String platformVersion; + /** + * @return Contains remote network configuration for EKS Hybrid Nodes. + * + */ + private List remoteNetworkConfigs; /** * @return ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. * @@ -91,13 +104,18 @@ public final class GetClusterResult { * */ private String status; + /** + * @return Contains storage configuration for EKS Auto Mode enabled cluster. + * + */ + private List storageConfigs; /** * @return Key-value map of resource tags. * */ private Map tags; /** - * @return (Optional) Configuration block for the support policy to use for the cluster. + * @return Configuration block for the support policy to use for the cluster. * */ private List upgradePolicies; @@ -146,6 +164,13 @@ public List certificateAuthorities() { public String clusterId() { return this.clusterId; } + /** + * @return Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster. + * + */ + public List computeConfigs() { + return this.computeConfigs; + } /** * @return Unix epoch time stamp in seconds for when the cluster was created. * @@ -205,6 +230,13 @@ public List outpostConfigs() { public String platformVersion() { return this.platformVersion; } + /** + * @return Contains remote network configuration for EKS Hybrid Nodes. + * + */ + public List remoteNetworkConfigs() { + return this.remoteNetworkConfigs; + } /** * @return ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. * @@ -219,6 +251,13 @@ public String roleArn() { public String status() { return this.status; } + /** + * @return Contains storage configuration for EKS Auto Mode enabled cluster. + * + */ + public List storageConfigs() { + return this.storageConfigs; + } /** * @return Key-value map of resource tags. * @@ -227,7 +266,7 @@ public Map tags() { return this.tags; } /** - * @return (Optional) Configuration block for the support policy to use for the cluster. + * @return Configuration block for the support policy to use for the cluster. * */ public List upgradePolicies() { @@ -268,6 +307,7 @@ public static final class Builder { private String arn; private List certificateAuthorities; private String clusterId; + private List computeConfigs; private String createdAt; private List enabledClusterLogTypes; private String endpoint; @@ -277,8 +317,10 @@ public static final class Builder { private String name; private List outpostConfigs; private String platformVersion; + private List remoteNetworkConfigs; private String roleArn; private String status; + private List storageConfigs; private Map tags; private List upgradePolicies; private String version; @@ -291,6 +333,7 @@ public Builder(GetClusterResult defaults) { this.arn = defaults.arn; this.certificateAuthorities = defaults.certificateAuthorities; this.clusterId = defaults.clusterId; + this.computeConfigs = defaults.computeConfigs; this.createdAt = defaults.createdAt; this.enabledClusterLogTypes = defaults.enabledClusterLogTypes; this.endpoint = defaults.endpoint; @@ -300,8 +343,10 @@ public Builder(GetClusterResult defaults) { this.name = defaults.name; this.outpostConfigs = defaults.outpostConfigs; this.platformVersion = defaults.platformVersion; + this.remoteNetworkConfigs = defaults.remoteNetworkConfigs; this.roleArn = defaults.roleArn; this.status = defaults.status; + this.storageConfigs = defaults.storageConfigs; this.tags = defaults.tags; this.upgradePolicies = defaults.upgradePolicies; this.version = defaults.version; @@ -348,6 +393,17 @@ public Builder clusterId(String clusterId) { return this; } @CustomType.Setter + public Builder computeConfigs(List computeConfigs) { + if (computeConfigs == null) { + throw new MissingRequiredPropertyException("GetClusterResult", "computeConfigs"); + } + this.computeConfigs = computeConfigs; + return this; + } + public Builder computeConfigs(GetClusterComputeConfig... computeConfigs) { + return computeConfigs(List.of(computeConfigs)); + } + @CustomType.Setter public Builder createdAt(String createdAt) { if (createdAt == null) { throw new MissingRequiredPropertyException("GetClusterResult", "createdAt"); @@ -432,6 +488,17 @@ public Builder platformVersion(String platformVersion) { return this; } @CustomType.Setter + public Builder remoteNetworkConfigs(List remoteNetworkConfigs) { + if (remoteNetworkConfigs == null) { + throw new MissingRequiredPropertyException("GetClusterResult", "remoteNetworkConfigs"); + } + this.remoteNetworkConfigs = remoteNetworkConfigs; + return this; + } + public Builder remoteNetworkConfigs(GetClusterRemoteNetworkConfig... remoteNetworkConfigs) { + return remoteNetworkConfigs(List.of(remoteNetworkConfigs)); + } + @CustomType.Setter public Builder roleArn(String roleArn) { if (roleArn == null) { throw new MissingRequiredPropertyException("GetClusterResult", "roleArn"); @@ -448,6 +515,17 @@ public Builder status(String status) { return this; } @CustomType.Setter + public Builder storageConfigs(List storageConfigs) { + if (storageConfigs == null) { + throw new MissingRequiredPropertyException("GetClusterResult", "storageConfigs"); + } + this.storageConfigs = storageConfigs; + return this; + } + public Builder storageConfigs(GetClusterStorageConfig... storageConfigs) { + return storageConfigs(List.of(storageConfigs)); + } + @CustomType.Setter public Builder tags(Map tags) { if (tags == null) { throw new MissingRequiredPropertyException("GetClusterResult", "tags"); @@ -499,6 +577,7 @@ public GetClusterResult build() { _resultValue.arn = arn; _resultValue.certificateAuthorities = certificateAuthorities; _resultValue.clusterId = clusterId; + _resultValue.computeConfigs = computeConfigs; _resultValue.createdAt = createdAt; _resultValue.enabledClusterLogTypes = enabledClusterLogTypes; _resultValue.endpoint = endpoint; @@ -508,8 +587,10 @@ public GetClusterResult build() { _resultValue.name = name; _resultValue.outpostConfigs = outpostConfigs; _resultValue.platformVersion = platformVersion; + _resultValue.remoteNetworkConfigs = remoteNetworkConfigs; _resultValue.roleArn = roleArn; _resultValue.status = status; + _resultValue.storageConfigs = storageConfigs; _resultValue.tags = tags; _resultValue.upgradePolicies = upgradePolicies; _resultValue.version = version; diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterStorageConfig.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterStorageConfig.java new file mode 100644 index 00000000000..911ea3c3821 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterStorageConfig.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.aws.eks.outputs.GetClusterStorageConfigBlockStorage; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetClusterStorageConfig { + /** + * @return Contains block storage configuration for EKS Auto Mode enabled cluster. + * + */ + private List blockStorages; + + private GetClusterStorageConfig() {} + /** + * @return Contains block storage configuration for EKS Auto Mode enabled cluster. + * + */ + public List blockStorages() { + return this.blockStorages; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetClusterStorageConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List blockStorages; + public Builder() {} + public Builder(GetClusterStorageConfig defaults) { + Objects.requireNonNull(defaults); + this.blockStorages = defaults.blockStorages; + } + + @CustomType.Setter + public Builder blockStorages(List blockStorages) { + if (blockStorages == null) { + throw new MissingRequiredPropertyException("GetClusterStorageConfig", "blockStorages"); + } + this.blockStorages = blockStorages; + return this; + } + public Builder blockStorages(GetClusterStorageConfigBlockStorage... blockStorages) { + return blockStorages(List.of(blockStorages)); + } + public GetClusterStorageConfig build() { + final var _resultValue = new GetClusterStorageConfig(); + _resultValue.blockStorages = blockStorages; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterStorageConfigBlockStorage.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterStorageConfigBlockStorage.java new file mode 100644 index 00000000000..27b11697670 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterStorageConfigBlockStorage.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.eks.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.util.Objects; + +@CustomType +public final class GetClusterStorageConfigBlockStorage { + /** + * @return Whether zonal shift is enabled. + * + */ + private Boolean enabled; + + private GetClusterStorageConfigBlockStorage() {} + /** + * @return Whether zonal shift is enabled. + * + */ + public Boolean enabled() { + return this.enabled; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetClusterStorageConfigBlockStorage defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean enabled; + public Builder() {} + public Builder(GetClusterStorageConfigBlockStorage defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder enabled(Boolean enabled) { + if (enabled == null) { + throw new MissingRequiredPropertyException("GetClusterStorageConfigBlockStorage", "enabled"); + } + this.enabled = enabled; + return this; + } + public GetClusterStorageConfigBlockStorage build() { + final var _resultValue = new GetClusterStorageConfigBlockStorage(); + _resultValue.enabled = enabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterUpgradePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterUpgradePolicy.java index 92a501bdf78..81e80fbb1bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterUpgradePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/outputs/GetClusterUpgradePolicy.java @@ -11,14 +11,14 @@ @CustomType public final class GetClusterUpgradePolicy { /** - * @return (Optional) Support type to use for the cluster. + * @return Support type to use for the cluster. * */ private String supportType; private GetClusterUpgradePolicy() {} /** - * @return (Optional) Support type to use for the cluster. + * @return Support type to use for the cluster. * */ public String supportType() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMapping.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMapping.java index 76d55c0932f..0bb047ff94e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMapping.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMapping.java @@ -10,6 +10,8 @@ import com.pulumi.aws.lambda.outputs.EventSourceMappingDestinationConfig; import com.pulumi.aws.lambda.outputs.EventSourceMappingDocumentDbEventSourceConfig; import com.pulumi.aws.lambda.outputs.EventSourceMappingFilterCriteria; +import com.pulumi.aws.lambda.outputs.EventSourceMappingMetricsConfig; +import com.pulumi.aws.lambda.outputs.EventSourceMappingProvisionedPollerConfig; import com.pulumi.aws.lambda.outputs.EventSourceMappingScalingConfig; import com.pulumi.aws.lambda.outputs.EventSourceMappingSelfManagedEventSource; import com.pulumi.aws.lambda.outputs.EventSourceMappingSelfManagedKafkaEventSourceConfig; @@ -159,6 +161,7 @@ * import com.pulumi.core.Output; * import com.pulumi.aws.lambda.EventSourceMapping; * import com.pulumi.aws.lambda.EventSourceMappingArgs; + * import com.pulumi.aws.lambda.inputs.EventSourceMappingProvisionedPollerConfigArgs; * import com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedEventSourceArgs; * import com.pulumi.aws.lambda.inputs.EventSourceMappingSourceAccessConfigurationArgs; * import java.util.List; @@ -178,6 +181,10 @@ * .functionName(exampleAwsLambdaFunction.arn()) * .topics("Example") * .startingPosition("TRIM_HORIZON") + * .provisionedPollerConfig(EventSourceMappingProvisionedPollerConfigArgs.builder() + * .maximumPoller(80) + * .minimumPoller(10) + * .build()) * .selfManagedEventSource(EventSourceMappingSelfManagedEventSourceArgs.builder() * .endpoints(Map.of("KAFKA_BOOTSTRAP_SERVERS", "kafka1.example.com:9092,kafka2.example.com:9092")) * .build()) @@ -650,6 +657,20 @@ public Output maximumRecordAgeInSeconds() { public Output maximumRetryAttempts() { return this.maximumRetryAttempts; } + /** + * - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + */ + @Export(name="metricsConfig", refs={EventSourceMappingMetricsConfig.class}, tree="[0]") + private Output metricsConfig; + + /** + * @return - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + */ + public Output> metricsConfig() { + return Codegen.optional(this.metricsConfig); + } /** * - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. * @@ -664,6 +685,20 @@ public Output maximumRetryAttempts() { public Output parallelizationFactor() { return this.parallelizationFactor; } + /** + * - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + */ + @Export(name="provisionedPollerConfig", refs={EventSourceMappingProvisionedPollerConfig.class}, tree="[0]") + private Output provisionedPollerConfig; + + /** + * @return - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + */ + public Output> provisionedPollerConfig() { + return Codegen.optional(this.provisionedPollerConfig); + } /** * The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMappingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMappingArgs.java index 4f6261dad2c..96751236199 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMappingArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/EventSourceMappingArgs.java @@ -7,6 +7,8 @@ import com.pulumi.aws.lambda.inputs.EventSourceMappingDestinationConfigArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingDocumentDbEventSourceConfigArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingFilterCriteriaArgs; +import com.pulumi.aws.lambda.inputs.EventSourceMappingMetricsConfigArgs; +import com.pulumi.aws.lambda.inputs.EventSourceMappingProvisionedPollerConfigArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingScalingConfigArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedEventSourceArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedKafkaEventSourceConfigArgs; @@ -238,6 +240,21 @@ public Optional> maximumRetryAttempts() { return Optional.ofNullable(this.maximumRetryAttempts); } + /** + * - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + */ + @Import(name="metricsConfig") + private @Nullable Output metricsConfig; + + /** + * @return - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + */ + public Optional> metricsConfig() { + return Optional.ofNullable(this.metricsConfig); + } + /** * - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. * @@ -253,6 +270,21 @@ public Optional> parallelizationFactor() { return Optional.ofNullable(this.parallelizationFactor); } + /** + * - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + */ + @Import(name="provisionedPollerConfig") + private @Nullable Output provisionedPollerConfig; + + /** + * @return - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + */ + public Optional> provisionedPollerConfig() { + return Optional.ofNullable(this.provisionedPollerConfig); + } + /** * The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. * @@ -420,7 +452,9 @@ private EventSourceMappingArgs(EventSourceMappingArgs $) { this.maximumBatchingWindowInSeconds = $.maximumBatchingWindowInSeconds; this.maximumRecordAgeInSeconds = $.maximumRecordAgeInSeconds; this.maximumRetryAttempts = $.maximumRetryAttempts; + this.metricsConfig = $.metricsConfig; this.parallelizationFactor = $.parallelizationFactor; + this.provisionedPollerConfig = $.provisionedPollerConfig; this.queues = $.queues; this.scalingConfig = $.scalingConfig; this.selfManagedEventSource = $.selfManagedEventSource; @@ -755,6 +789,27 @@ public Builder maximumRetryAttempts(Integer maximumRetryAttempts) { return maximumRetryAttempts(Output.of(maximumRetryAttempts)); } + /** + * @param metricsConfig - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + * @return builder + * + */ + public Builder metricsConfig(@Nullable Output metricsConfig) { + $.metricsConfig = metricsConfig; + return this; + } + + /** + * @param metricsConfig - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + * @return builder + * + */ + public Builder metricsConfig(EventSourceMappingMetricsConfigArgs metricsConfig) { + return metricsConfig(Output.of(metricsConfig)); + } + /** * @param parallelizationFactor - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. * @@ -776,6 +831,27 @@ public Builder parallelizationFactor(Integer parallelizationFactor) { return parallelizationFactor(Output.of(parallelizationFactor)); } + /** + * @param provisionedPollerConfig - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + * @return builder + * + */ + public Builder provisionedPollerConfig(@Nullable Output provisionedPollerConfig) { + $.provisionedPollerConfig = provisionedPollerConfig; + return this; + } + + /** + * @param provisionedPollerConfig - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + * @return builder + * + */ + public Builder provisionedPollerConfig(EventSourceMappingProvisionedPollerConfigArgs provisionedPollerConfig) { + return provisionedPollerConfig(Output.of(provisionedPollerConfig)); + } + /** * @param queues The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingMetricsConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingMetricsConfigArgs.java new file mode 100644 index 00000000000..8c20d60ad9a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingMetricsConfigArgs.java @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.lambda.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class EventSourceMappingMetricsConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final EventSourceMappingMetricsConfigArgs Empty = new EventSourceMappingMetricsConfigArgs(); + + /** + * A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + * + */ + @Import(name="metrics", required=true) + private Output> metrics; + + /** + * @return A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + * + */ + public Output> metrics() { + return this.metrics; + } + + private EventSourceMappingMetricsConfigArgs() {} + + private EventSourceMappingMetricsConfigArgs(EventSourceMappingMetricsConfigArgs $) { + this.metrics = $.metrics; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(EventSourceMappingMetricsConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private EventSourceMappingMetricsConfigArgs $; + + public Builder() { + $ = new EventSourceMappingMetricsConfigArgs(); + } + + public Builder(EventSourceMappingMetricsConfigArgs defaults) { + $ = new EventSourceMappingMetricsConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param metrics A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + * + * @return builder + * + */ + public Builder metrics(Output> metrics) { + $.metrics = metrics; + return this; + } + + /** + * @param metrics A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + * + * @return builder + * + */ + public Builder metrics(List metrics) { + return metrics(Output.of(metrics)); + } + + /** + * @param metrics A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + * + * @return builder + * + */ + public Builder metrics(String... metrics) { + return metrics(List.of(metrics)); + } + + public EventSourceMappingMetricsConfigArgs build() { + if ($.metrics == null) { + throw new MissingRequiredPropertyException("EventSourceMappingMetricsConfigArgs", "metrics"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingProvisionedPollerConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingProvisionedPollerConfigArgs.java new file mode 100644 index 00000000000..02d34e94721 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingProvisionedPollerConfigArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.lambda.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class EventSourceMappingProvisionedPollerConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final EventSourceMappingProvisionedPollerConfigArgs Empty = new EventSourceMappingProvisionedPollerConfigArgs(); + + /** + * The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + * + */ + @Import(name="maximumPollers") + private @Nullable Output maximumPollers; + + /** + * @return The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + * + */ + public Optional> maximumPollers() { + return Optional.ofNullable(this.maximumPollers); + } + + /** + * The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + * + */ + @Import(name="minimumPollers") + private @Nullable Output minimumPollers; + + /** + * @return The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + * + */ + public Optional> minimumPollers() { + return Optional.ofNullable(this.minimumPollers); + } + + private EventSourceMappingProvisionedPollerConfigArgs() {} + + private EventSourceMappingProvisionedPollerConfigArgs(EventSourceMappingProvisionedPollerConfigArgs $) { + this.maximumPollers = $.maximumPollers; + this.minimumPollers = $.minimumPollers; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(EventSourceMappingProvisionedPollerConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private EventSourceMappingProvisionedPollerConfigArgs $; + + public Builder() { + $ = new EventSourceMappingProvisionedPollerConfigArgs(); + } + + public Builder(EventSourceMappingProvisionedPollerConfigArgs defaults) { + $ = new EventSourceMappingProvisionedPollerConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param maximumPollers The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + * + * @return builder + * + */ + public Builder maximumPollers(@Nullable Output maximumPollers) { + $.maximumPollers = maximumPollers; + return this; + } + + /** + * @param maximumPollers The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + * + * @return builder + * + */ + public Builder maximumPollers(Integer maximumPollers) { + return maximumPollers(Output.of(maximumPollers)); + } + + /** + * @param minimumPollers The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + * + * @return builder + * + */ + public Builder minimumPollers(@Nullable Output minimumPollers) { + $.minimumPollers = minimumPollers; + return this; + } + + /** + * @param minimumPollers The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + * + * @return builder + * + */ + public Builder minimumPollers(Integer minimumPollers) { + return minimumPollers(Output.of(minimumPollers)); + } + + public EventSourceMappingProvisionedPollerConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingState.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingState.java index 657da965055..11ed4f2bc41 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/EventSourceMappingState.java @@ -7,6 +7,8 @@ import com.pulumi.aws.lambda.inputs.EventSourceMappingDestinationConfigArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingDocumentDbEventSourceConfigArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingFilterCriteriaArgs; +import com.pulumi.aws.lambda.inputs.EventSourceMappingMetricsConfigArgs; +import com.pulumi.aws.lambda.inputs.EventSourceMappingProvisionedPollerConfigArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingScalingConfigArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedEventSourceArgs; import com.pulumi.aws.lambda.inputs.EventSourceMappingSelfManagedKafkaEventSourceConfigArgs; @@ -297,6 +299,21 @@ public Optional> maximumRetryAttempts() { return Optional.ofNullable(this.maximumRetryAttempts); } + /** + * - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + */ + @Import(name="metricsConfig") + private @Nullable Output metricsConfig; + + /** + * @return - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + */ + public Optional> metricsConfig() { + return Optional.ofNullable(this.metricsConfig); + } + /** * - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. * @@ -312,6 +329,21 @@ public Optional> parallelizationFactor() { return Optional.ofNullable(this.parallelizationFactor); } + /** + * - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + */ + @Import(name="provisionedPollerConfig") + private @Nullable Output provisionedPollerConfig; + + /** + * @return - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + */ + public Optional> provisionedPollerConfig() { + return Optional.ofNullable(this.provisionedPollerConfig); + } + /** * The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. * @@ -551,7 +583,9 @@ private EventSourceMappingState(EventSourceMappingState $) { this.maximumBatchingWindowInSeconds = $.maximumBatchingWindowInSeconds; this.maximumRecordAgeInSeconds = $.maximumRecordAgeInSeconds; this.maximumRetryAttempts = $.maximumRetryAttempts; + this.metricsConfig = $.metricsConfig; this.parallelizationFactor = $.parallelizationFactor; + this.provisionedPollerConfig = $.provisionedPollerConfig; this.queues = $.queues; this.scalingConfig = $.scalingConfig; this.selfManagedEventSource = $.selfManagedEventSource; @@ -974,6 +1008,27 @@ public Builder maximumRetryAttempts(Integer maximumRetryAttempts) { return maximumRetryAttempts(Output.of(maximumRetryAttempts)); } + /** + * @param metricsConfig - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + * @return builder + * + */ + public Builder metricsConfig(@Nullable Output metricsConfig) { + $.metricsConfig = metricsConfig; + return this; + } + + /** + * @param metricsConfig - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + * + * @return builder + * + */ + public Builder metricsConfig(EventSourceMappingMetricsConfigArgs metricsConfig) { + return metricsConfig(Output.of(metricsConfig)); + } + /** * @param parallelizationFactor - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. * @@ -995,6 +1050,27 @@ public Builder parallelizationFactor(Integer parallelizationFactor) { return parallelizationFactor(Output.of(parallelizationFactor)); } + /** + * @param provisionedPollerConfig - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + * @return builder + * + */ + public Builder provisionedPollerConfig(@Nullable Output provisionedPollerConfig) { + $.provisionedPollerConfig = provisionedPollerConfig; + return this; + } + + /** + * @param provisionedPollerConfig - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + * + * @return builder + * + */ + public Builder provisionedPollerConfig(EventSourceMappingProvisionedPollerConfigArgs provisionedPollerConfig) { + return provisionedPollerConfig(Output.of(provisionedPollerConfig)); + } + /** * @param queues The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/EventSourceMappingMetricsConfig.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/EventSourceMappingMetricsConfig.java new file mode 100644 index 00000000000..cec11b5420c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/EventSourceMappingMetricsConfig.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.lambda.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class EventSourceMappingMetricsConfig { + /** + * @return A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + * + */ + private List metrics; + + private EventSourceMappingMetricsConfig() {} + /** + * @return A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + * + */ + public List metrics() { + return this.metrics; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(EventSourceMappingMetricsConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List metrics; + public Builder() {} + public Builder(EventSourceMappingMetricsConfig defaults) { + Objects.requireNonNull(defaults); + this.metrics = defaults.metrics; + } + + @CustomType.Setter + public Builder metrics(List metrics) { + if (metrics == null) { + throw new MissingRequiredPropertyException("EventSourceMappingMetricsConfig", "metrics"); + } + this.metrics = metrics; + return this; + } + public Builder metrics(String... metrics) { + return metrics(List.of(metrics)); + } + public EventSourceMappingMetricsConfig build() { + final var _resultValue = new EventSourceMappingMetricsConfig(); + _resultValue.metrics = metrics; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/EventSourceMappingProvisionedPollerConfig.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/EventSourceMappingProvisionedPollerConfig.java new file mode 100644 index 00000000000..0158ee62d1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/EventSourceMappingProvisionedPollerConfig.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.lambda.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class EventSourceMappingProvisionedPollerConfig { + /** + * @return The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + * + */ + private @Nullable Integer maximumPollers; + /** + * @return The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + * + */ + private @Nullable Integer minimumPollers; + + private EventSourceMappingProvisionedPollerConfig() {} + /** + * @return The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + * + */ + public Optional maximumPollers() { + return Optional.ofNullable(this.maximumPollers); + } + /** + * @return The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + * + */ + public Optional minimumPollers() { + return Optional.ofNullable(this.minimumPollers); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(EventSourceMappingProvisionedPollerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer maximumPollers; + private @Nullable Integer minimumPollers; + public Builder() {} + public Builder(EventSourceMappingProvisionedPollerConfig defaults) { + Objects.requireNonNull(defaults); + this.maximumPollers = defaults.maximumPollers; + this.minimumPollers = defaults.minimumPollers; + } + + @CustomType.Setter + public Builder maximumPollers(@Nullable Integer maximumPollers) { + + this.maximumPollers = maximumPollers; + return this; + } + @CustomType.Setter + public Builder minimumPollers(@Nullable Integer minimumPollers) { + + this.minimumPollers = minimumPollers; + return this; + } + public EventSourceMappingProvisionedPollerConfig build() { + final var _resultValue = new EventSourceMappingProvisionedPollerConfig(); + _resultValue.maximumPollers = maximumPollers; + _resultValue.minimumPollers = minimumPollers; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java index 0607cd72e52..eac48dc5237 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java @@ -1215,14 +1215,14 @@ public Output readerEndpoint() { return this.readerEndpoint; } /** - * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * */ @Export(name="replicationSourceIdentifier", refs={String.class}, tree="[0]") private Output replicationSourceIdentifier; /** - * @return ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * @return ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * */ public Output> replicationSourceIdentifier() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java index dc769c907ea..64b2481e55d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java @@ -730,14 +730,14 @@ public Optional> preferredMaintenanceWindow() { } /** - * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * */ @Import(name="replicationSourceIdentifier") private @Nullable Output replicationSourceIdentifier; /** - * @return ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * @return ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * */ public Optional> replicationSourceIdentifier() { @@ -2044,7 +2044,7 @@ public Builder preferredMaintenanceWindow(String preferredMaintenanceWindow) { } /** - * @param replicationSourceIdentifier ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * @param replicationSourceIdentifier ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * * @return builder * @@ -2055,7 +2055,7 @@ public Builder replicationSourceIdentifier(@Nullable Output replicationS } /** - * @param replicationSourceIdentifier ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * @param replicationSourceIdentifier ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java index 905351ab362..8dbc4f8ac82 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java @@ -852,14 +852,14 @@ public Optional> readerEndpoint() { } /** - * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * */ @Import(name="replicationSourceIdentifier") private @Nullable Output replicationSourceIdentifier; /** - * @return ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * @return ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * */ public Optional> replicationSourceIdentifier() { @@ -2378,7 +2378,7 @@ public Builder readerEndpoint(String readerEndpoint) { } /** - * @param replicationSourceIdentifier ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * @param replicationSourceIdentifier ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * * @return builder * @@ -2389,7 +2389,7 @@ public Builder replicationSourceIdentifier(@Nullable Output replicationS } /** - * @param replicationSourceIdentifier ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * @param replicationSourceIdentifier ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. * * @return builder * diff --git a/sdk/nodejs/ec2/index.ts b/sdk/nodejs/ec2/index.ts index 9457a153108..af8f9a60df5 100644 --- a/sdk/nodejs/ec2/index.ts +++ b/sdk/nodejs/ec2/index.ts @@ -665,6 +665,16 @@ export type Vpc = import("./vpc").Vpc; export const Vpc: typeof import("./vpc").Vpc = null as any; utilities.lazyLoad(exports, ["Vpc"], () => require("./vpc")); +export { VpcBlockPublicAccessExclusionArgs, VpcBlockPublicAccessExclusionState } from "./vpcBlockPublicAccessExclusion"; +export type VpcBlockPublicAccessExclusion = import("./vpcBlockPublicAccessExclusion").VpcBlockPublicAccessExclusion; +export const VpcBlockPublicAccessExclusion: typeof import("./vpcBlockPublicAccessExclusion").VpcBlockPublicAccessExclusion = null as any; +utilities.lazyLoad(exports, ["VpcBlockPublicAccessExclusion"], () => require("./vpcBlockPublicAccessExclusion")); + +export { VpcBlockPublicAccessOptionsArgs, VpcBlockPublicAccessOptionsState } from "./vpcBlockPublicAccessOptions"; +export type VpcBlockPublicAccessOptions = import("./vpcBlockPublicAccessOptions").VpcBlockPublicAccessOptions; +export const VpcBlockPublicAccessOptions: typeof import("./vpcBlockPublicAccessOptions").VpcBlockPublicAccessOptions = null as any; +utilities.lazyLoad(exports, ["VpcBlockPublicAccessOptions"], () => require("./vpcBlockPublicAccessOptions")); + export { VpcDhcpOptionsArgs, VpcDhcpOptionsState } from "./vpcDhcpOptions"; export type VpcDhcpOptions = import("./vpcDhcpOptions").VpcDhcpOptions; export const VpcDhcpOptions: typeof import("./vpcDhcpOptions").VpcDhcpOptions = null as any; @@ -952,6 +962,10 @@ const _module = { return new VolumeAttachment(name, undefined, { urn }) case "aws:ec2/vpc:Vpc": return new Vpc(name, undefined, { urn }) + case "aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion": + return new VpcBlockPublicAccessExclusion(name, undefined, { urn }) + case "aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions": + return new VpcBlockPublicAccessOptions(name, undefined, { urn }) case "aws:ec2/vpcDhcpOptions:VpcDhcpOptions": return new VpcDhcpOptions(name, undefined, { urn }) case "aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation": @@ -1082,6 +1096,8 @@ pulumi.runtime.registerResourceModule("aws", "ec2/trafficMirrorSession", _module pulumi.runtime.registerResourceModule("aws", "ec2/trafficMirrorTarget", _module) pulumi.runtime.registerResourceModule("aws", "ec2/volumeAttachment", _module) pulumi.runtime.registerResourceModule("aws", "ec2/vpc", _module) +pulumi.runtime.registerResourceModule("aws", "ec2/vpcBlockPublicAccessExclusion", _module) +pulumi.runtime.registerResourceModule("aws", "ec2/vpcBlockPublicAccessOptions", _module) pulumi.runtime.registerResourceModule("aws", "ec2/vpcDhcpOptions", _module) pulumi.runtime.registerResourceModule("aws", "ec2/vpcDhcpOptionsAssociation", _module) pulumi.runtime.registerResourceModule("aws", "ec2/vpcEndpoint", _module) diff --git a/sdk/nodejs/ec2/vpcBlockPublicAccessExclusion.ts b/sdk/nodejs/ec2/vpcBlockPublicAccessExclusion.ts new file mode 100644 index 00000000000..84c557028e1 --- /dev/null +++ b/sdk/nodejs/ec2/vpcBlockPublicAccessExclusion.ts @@ -0,0 +1,207 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = new aws.ec2.Vpc("test", {cidrBlock: "10.1.0.0/16"}); + * const testVpcBlockPublicAccessExclusion = new aws.ec2.VpcBlockPublicAccessExclusion("test", { + * vpcId: test.id, + * internetGatewayExclusionMode: "allow-bidirectional", + * }); + * ``` + * + * ### Usage with subnet id + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = new aws.ec2.Vpc("test", {cidrBlock: "10.1.0.0/16"}); + * const testSubnet = new aws.ec2.Subnet("test", { + * cidrBlock: "10.1.1.0/24", + * vpcId: test.id, + * }); + * const testVpcBlockPublicAccessExclusion = new aws.ec2.VpcBlockPublicAccessExclusion("test", { + * subnetId: testSubnet.id, + * internetGatewayExclusionMode: "allow-egress", + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion using the `id`. For example: + * + * ```sh + * $ pulumi import aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion example vpcbpa-exclude-1234abcd + * ``` + */ +export class VpcBlockPublicAccessExclusion extends pulumi.CustomResource { + /** + * Get an existing VpcBlockPublicAccessExclusion resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: VpcBlockPublicAccessExclusionState, opts?: pulumi.CustomResourceOptions): VpcBlockPublicAccessExclusion { + return new VpcBlockPublicAccessExclusion(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion'; + + /** + * Returns true if the given object is an instance of VpcBlockPublicAccessExclusion. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VpcBlockPublicAccessExclusion { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcBlockPublicAccessExclusion.__pulumiType; + } + + /** + * Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + */ + public readonly internetGatewayExclusionMode!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) the excluded resource. + */ + public /*out*/ readonly resourceArn!: pulumi.Output; + /** + * Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. + */ + public readonly subnetId!: pulumi.Output; + /** + * A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + /** + * Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. + */ + public readonly vpcId!: pulumi.Output; + + /** + * Create a VpcBlockPublicAccessExclusion resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: VpcBlockPublicAccessExclusionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpcBlockPublicAccessExclusionArgs | VpcBlockPublicAccessExclusionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpcBlockPublicAccessExclusionState | undefined; + resourceInputs["internetGatewayExclusionMode"] = state ? state.internetGatewayExclusionMode : undefined; + resourceInputs["resourceArn"] = state ? state.resourceArn : undefined; + resourceInputs["subnetId"] = state ? state.subnetId : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + resourceInputs["vpcId"] = state ? state.vpcId : undefined; + } else { + const args = argsOrState as VpcBlockPublicAccessExclusionArgs | undefined; + if ((!args || args.internetGatewayExclusionMode === undefined) && !opts.urn) { + throw new Error("Missing required property 'internetGatewayExclusionMode'"); + } + resourceInputs["internetGatewayExclusionMode"] = args ? args.internetGatewayExclusionMode : undefined; + resourceInputs["subnetId"] = args ? args.subnetId : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["vpcId"] = args ? args.vpcId : undefined; + resourceInputs["resourceArn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpcBlockPublicAccessExclusion.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpcBlockPublicAccessExclusion resources. + */ +export interface VpcBlockPublicAccessExclusionState { + /** + * Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + */ + internetGatewayExclusionMode?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) the excluded resource. + */ + resourceArn?: pulumi.Input; + /** + * Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. + */ + subnetId?: pulumi.Input; + /** + * A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; + /** + * Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. + */ + vpcId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpcBlockPublicAccessExclusion resource. + */ +export interface VpcBlockPublicAccessExclusionArgs { + /** + * Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + * + * The following arguments are optional: + */ + internetGatewayExclusionMode: pulumi.Input; + /** + * Id of the subnet to which this exclusion applies. Either this or the vpcId needs to be provided. + */ + subnetId?: pulumi.Input; + /** + * A map of tags to assign to the exclusion. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; + /** + * Id of the VPC to which this exclusion applies. Either this or the subnetId needs to be provided. + */ + vpcId?: pulumi.Input; +} diff --git a/sdk/nodejs/ec2/vpcBlockPublicAccessOptions.ts b/sdk/nodejs/ec2/vpcBlockPublicAccessOptions.ts new file mode 100644 index 00000000000..b9e4123dce8 --- /dev/null +++ b/sdk/nodejs/ec2/vpcBlockPublicAccessOptions.ts @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS VPC Block Public Access Options. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.ec2.VpcBlockPublicAccessOptions("example", {internetGatewayBlockMode: "block-bidirectional"}); + * ``` + * + * ## Import + * + * Using `pulumi import`, import VPC Block Public Access Options using the `aws_region`. For example: + * + * ```sh + * $ pulumi import aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions example us-east-1 + * ``` + */ +export class VpcBlockPublicAccessOptions extends pulumi.CustomResource { + /** + * Get an existing VpcBlockPublicAccessOptions resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: VpcBlockPublicAccessOptionsState, opts?: pulumi.CustomResourceOptions): VpcBlockPublicAccessOptions { + return new VpcBlockPublicAccessOptions(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions'; + + /** + * Returns true if the given object is an instance of VpcBlockPublicAccessOptions. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VpcBlockPublicAccessOptions { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcBlockPublicAccessOptions.__pulumiType; + } + + /** + * The AWS account id to which these options apply. + */ + public /*out*/ readonly awsAccountId!: pulumi.Output; + /** + * The AWS region to which these options apply. + */ + public /*out*/ readonly awsRegion!: pulumi.Output; + /** + * Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + */ + public readonly internetGatewayBlockMode!: pulumi.Output; + public readonly timeouts!: pulumi.Output; + + /** + * Create a VpcBlockPublicAccessOptions resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: VpcBlockPublicAccessOptionsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpcBlockPublicAccessOptionsArgs | VpcBlockPublicAccessOptionsState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpcBlockPublicAccessOptionsState | undefined; + resourceInputs["awsAccountId"] = state ? state.awsAccountId : undefined; + resourceInputs["awsRegion"] = state ? state.awsRegion : undefined; + resourceInputs["internetGatewayBlockMode"] = state ? state.internetGatewayBlockMode : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as VpcBlockPublicAccessOptionsArgs | undefined; + if ((!args || args.internetGatewayBlockMode === undefined) && !opts.urn) { + throw new Error("Missing required property 'internetGatewayBlockMode'"); + } + resourceInputs["internetGatewayBlockMode"] = args ? args.internetGatewayBlockMode : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["awsAccountId"] = undefined /*out*/; + resourceInputs["awsRegion"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpcBlockPublicAccessOptions.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpcBlockPublicAccessOptions resources. + */ +export interface VpcBlockPublicAccessOptionsState { + /** + * The AWS account id to which these options apply. + */ + awsAccountId?: pulumi.Input; + /** + * The AWS region to which these options apply. + */ + awsRegion?: pulumi.Input; + /** + * Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + */ + internetGatewayBlockMode?: pulumi.Input; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpcBlockPublicAccessOptions resource. + */ +export interface VpcBlockPublicAccessOptionsArgs { + /** + * Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + */ + internetGatewayBlockMode: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/ec2/vpcEndpointService.ts b/sdk/nodejs/ec2/vpcEndpointService.ts index 254b1cc9eb3..682b85f27ae 100644 --- a/sdk/nodejs/ec2/vpcEndpointService.ts +++ b/sdk/nodejs/ec2/vpcEndpointService.ts @@ -135,6 +135,10 @@ export class VpcEndpointService extends pulumi.CustomResource { * The supported IP address types. The possible values are `ipv4` and `ipv6`. */ public readonly supportedIpAddressTypes!: pulumi.Output; + /** + * The set of regions from which service consumers can access the service. + */ + public readonly supportedRegions!: pulumi.Output; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ @@ -173,6 +177,7 @@ export class VpcEndpointService extends pulumi.CustomResource { resourceInputs["serviceType"] = state ? state.serviceType : undefined; resourceInputs["state"] = state ? state.state : undefined; resourceInputs["supportedIpAddressTypes"] = state ? state.supportedIpAddressTypes : undefined; + resourceInputs["supportedRegions"] = state ? state.supportedRegions : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; } else { @@ -186,6 +191,7 @@ export class VpcEndpointService extends pulumi.CustomResource { resourceInputs["networkLoadBalancerArns"] = args ? args.networkLoadBalancerArns : undefined; resourceInputs["privateDnsName"] = args ? args.privateDnsName : undefined; resourceInputs["supportedIpAddressTypes"] = args ? args.supportedIpAddressTypes : undefined; + resourceInputs["supportedRegions"] = args ? args.supportedRegions : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["availabilityZones"] = undefined /*out*/; @@ -262,6 +268,10 @@ export interface VpcEndpointServiceState { * The supported IP address types. The possible values are `ipv4` and `ipv6`. */ supportedIpAddressTypes?: pulumi.Input[]>; + /** + * The set of regions from which service consumers can access the service. + */ + supportedRegions?: pulumi.Input[]>; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ @@ -302,6 +312,10 @@ export interface VpcEndpointServiceArgs { * The supported IP address types. The possible values are `ipv4` and `ipv6`. */ supportedIpAddressTypes?: pulumi.Input[]>; + /** + * The set of regions from which service consumers can access the service. + */ + supportedRegions?: pulumi.Input[]>; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ diff --git a/sdk/nodejs/eks/cluster.ts b/sdk/nodejs/eks/cluster.ts index 8a32a5b873f..b647adab431 100644 --- a/sdk/nodejs/eks/cluster.ts +++ b/sdk/nodejs/eks/cluster.ts @@ -12,139 +12,159 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### Basic Usage + * ### EKS Cluster * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * export = async () => { - * const example = new aws.eks.Cluster("example", { - * name: "example", - * roleArn: exampleAwsIamRole.arn, - * vpcConfig: { - * subnetIds: [ - * example1.id, - * example2.id, + * const cluster = new aws.iam.Role("cluster", { + * name: "eks-cluster-example", + * assumeRolePolicy: JSON.stringify({ + * Version: "2012-10-17", + * Statement: [{ + * Action: [ + * "sts:AssumeRole", + * "sts:TagSession", * ], - * }, - * }, { - * dependsOn: [ - * example_AmazonEKSClusterPolicy, - * example_AmazonEKSVPCResourceController, + * Effect: "Allow", + * Principal: { + * Service: "eks.amazonaws.com", + * }, + * }], + * }), + * }); + * const clusterAmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment("cluster_AmazonEKSClusterPolicy", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", + * role: cluster.name, + * }); + * const example = new aws.eks.Cluster("example", { + * name: "example", + * accessConfig: { + * authenticationMode: "API", + * }, + * roleArn: exampleAwsIamRole.arn, + * version: "1.31", + * vpcConfig: { + * subnetIds: [ + * az1.id, + * az2.id, + * az3.id, * ], - * }); - * return { - * endpoint: example.endpoint, - * "kubeconfig-certificate-authority-data": example.certificateAuthority.apply(certificateAuthority => certificateAuthority.data), - * }; - * } + * }, + * }, { + * dependsOn: [clusterAmazonEKSClusterPolicy], + * }); * ``` * - * ### Example IAM Role for EKS Cluster + * ### EKS Cluster with EKS Auto Mode + * + * > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const assumeRole = aws.iam.getPolicyDocument({ - * statements: [{ - * effect: "Allow", - * principals: [{ - * type: "Service", - * identifiers: ["eks.amazonaws.com"], + * const node = new aws.iam.Role("node", { + * name: "eks-auto-node-example", + * assumeRolePolicy: JSON.stringify({ + * Version: "2012-10-17", + * Statement: [{ + * Action: ["sts:AssumeRole"], + * Effect: "Allow", + * Principal: { + * Service: "ec2.amazonaws.com", + * }, * }], - * actions: ["sts:AssumeRole"], - * }], + * }), * }); - * const example = new aws.iam.Role("example", { + * const cluster = new aws.iam.Role("cluster", { * name: "eks-cluster-example", - * assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json), + * assumeRolePolicy: JSON.stringify({ + * Version: "2012-10-17", + * Statement: [{ + * Action: [ + * "sts:AssumeRole", + * "sts:TagSession", + * ], + * Effect: "Allow", + * Principal: { + * Service: "eks.amazonaws.com", + * }, + * }], + * }), * }); - * const example_AmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", { + * const clusterAmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment("cluster_AmazonEKSClusterPolicy", { * policyArn: "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", - * role: example.name, + * role: cluster.name, * }); - * // Optionally, enable Security Groups for Pods - * // Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html - * const example_AmazonEKSVPCResourceController = new aws.iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", { - * policyArn: "arn:aws:iam::aws:policy/AmazonEKSVPCResourceController", - * role: example.name, + * const clusterAmazonEKSComputePolicy = new aws.iam.RolePolicyAttachment("cluster_AmazonEKSComputePolicy", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSComputePolicy", + * role: cluster.name, * }); - * ``` - * - * ### Enabling Control Plane Logging - * - * [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabledClusterLogTypes` argument. To manage the CloudWatch Log Group retention period, the `aws.cloudwatch.LogGroup` resource can be used. - * - * > The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment. - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const config = new pulumi.Config(); - * const clusterName = config.get("clusterName") || "example"; - * const exampleLogGroup = new aws.cloudwatch.LogGroup("example", { - * name: `/aws/eks/${clusterName}/cluster`, - * retentionInDays: 7, + * const clusterAmazonEKSBlockStoragePolicy = new aws.iam.RolePolicyAttachment("cluster_AmazonEKSBlockStoragePolicy", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy", + * role: cluster.name, + * }); + * const clusterAmazonEKSLoadBalancingPolicy = new aws.iam.RolePolicyAttachment("cluster_AmazonEKSLoadBalancingPolicy", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy", + * role: cluster.name, + * }); + * const clusterAmazonEKSNetworkingPolicy = new aws.iam.RolePolicyAttachment("cluster_AmazonEKSNetworkingPolicy", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy", + * role: cluster.name, * }); * const example = new aws.eks.Cluster("example", { - * enabledClusterLogTypes: [ - * "api", - * "audit", - * ], - * name: clusterName, + * name: "example", + * accessConfig: { + * authenticationMode: "API", + * }, + * roleArn: cluster.arn, + * version: "1.31", + * computeConfig: { + * enabled: true, + * nodePools: ["general-purpose"], + * nodeRoleArn: node.arn, + * }, + * kubernetesNetworkConfig: { + * elasticLoadBalancing: { + * enabled: true, + * }, + * }, + * storageConfig: { + * blockStorage: { + * enabled: true, + * }, + * }, + * vpcConfig: { + * endpointPrivateAccess: true, + * endpointPublicAccess: true, + * subnetIds: [ + * az1.id, + * az2.id, + * az3.id, + * ], + * }, * }, { - * dependsOn: [exampleLogGroup], - * }); - * ``` - * - * ### Enabling IAM Roles for Service Accounts - * - * For more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * import * as std from "@pulumi/std"; - * import * as tls from "@pulumi/tls"; - * - * const exampleCluster = new aws.eks.Cluster("example", {}); - * const example = exampleCluster.identities.apply(identities => tls.getCertificateOutput({ - * url: identities[0].oidcs?.[0]?.issuer, - * })); - * const exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider("example", { - * clientIdLists: ["sts.amazonaws.com"], - * thumbprintLists: [example.apply(example => example.certificates?.[0]?.sha1Fingerprint)], - * url: example.apply(example => example.url), + * dependsOn: [ + * clusterAmazonEKSClusterPolicy, + * clusterAmazonEKSComputePolicy, + * clusterAmazonEKSBlockStoragePolicy, + * clusterAmazonEKSLoadBalancingPolicy, + * clusterAmazonEKSNetworkingPolicy, + * ], * }); - * const exampleAssumeRolePolicy = aws.iam.getPolicyDocumentOutput({ - * statements: [{ - * actions: ["sts:AssumeRoleWithWebIdentity"], - * effect: "Allow", - * conditions: [{ - * test: "StringEquals", - * variable: std.replaceOutput({ - * text: exampleOpenIdConnectProvider.url, - * search: "https://", - * replace: "", - * }).apply(invoke => `${invoke.result}:sub`), - * values: ["system:serviceaccount:kube-system:aws-node"], - * }], - * principals: [{ - * identifiers: [exampleOpenIdConnectProvider.arn], - * type: "Federated", - * }], - * }], + * const nodeAmazonEKSWorkerNodeMinimalPolicy = new aws.iam.RolePolicyAttachment("node_AmazonEKSWorkerNodeMinimalPolicy", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy", + * role: node.name, * }); - * const exampleRole = new aws.iam.Role("example", { - * assumeRolePolicy: exampleAssumeRolePolicy.apply(exampleAssumeRolePolicy => exampleAssumeRolePolicy.json), - * name: "example", + * const nodeAmazonEC2ContainerRegistryPullOnly = new aws.iam.RolePolicyAttachment("node_AmazonEC2ContainerRegistryPullOnly", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly", + * role: node.name, * }); * ``` * - * ### EKS Cluster on AWS Outpost + * ### Local EKS Cluster on AWS Outpost * * [Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) * @@ -152,50 +172,57 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const example = new aws.iam.Role("example", { - * assumeRolePolicy: exampleAssumeRolePolicy.json, + * const example = aws.outposts.getOutpost({ * name: "example", * }); - * const exampleCluster = new aws.eks.Cluster("example", { - * name: "example-cluster", - * roleArn: example.arn, - * vpcConfig: { - * endpointPrivateAccess: true, - * endpointPublicAccess: false, - * }, - * outpostConfig: { - * controlPlaneInstanceType: "m5d.large", - * outpostArns: [exampleAwsOutpostsOutpost.arn], - * }, + * const cluster = new aws.iam.Role("cluster", { + * name: "eks-cluster-example", + * assumeRolePolicy: JSON.stringify({ + * Version: "2012-10-17", + * Statement: [{ + * Action: [ + * "sts:AssumeRole", + * "sts:TagSession", + * ], + * Effect: "Allow", + * Principal: { + * Service: [ + * "eks.amazonaws.com", + * "ec2.amazonaws.com", + * ], + * }, + * }], + * }), * }); - * ``` - * - * ### EKS Cluster with Access Config - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const example = new aws.iam.Role("example", { - * assumeRolePolicy: exampleAssumeRolePolicy.json, - * name: "example", + * const clusterAmazonEKSLocalOutpostClusterPolicy = new aws.iam.RolePolicyAttachment("cluster_AmazonEKSLocalOutpostClusterPolicy", { + * policyArn: "arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy", + * role: cluster.name, * }); * const exampleCluster = new aws.eks.Cluster("example", { - * name: "example-cluster", - * roleArn: example.arn, + * name: "example", + * accessConfig: { + * authenticationMode: "CONFIG_MAP", + * }, + * roleArn: exampleAwsIamRole.arn, + * version: "1.31", * vpcConfig: { * endpointPrivateAccess: true, * endpointPublicAccess: false, + * subnetIds: [ + * az1.id, + * az2.id, + * az3.id, + * ], * }, - * accessConfig: { - * authenticationMode: "CONFIG_MAP", - * bootstrapClusterCreatorAdminPermissions: true, + * outpostConfig: { + * controlPlaneInstanceType: "m5.large", + * outpostArns: [example.then(example => example.arn)], * }, + * }, { + * dependsOn: [clusterAmazonEKSLocalOutpostClusterPolicy], * }); * ``` * - * After adding inline IAM Policies (e.g., `aws.iam.RolePolicy` resource) or attaching IAM Policies (e.g., `aws.iam.Policy` resource and `aws.iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetesServiceAccount` resource) and recreate any pods. - * * ## Import * * Using `pulumi import`, import EKS Clusters using the `name`. For example: @@ -253,6 +280,10 @@ export class Cluster extends pulumi.CustomResource { * The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. */ public /*out*/ readonly clusterId!: pulumi.Output; + /** + * Configuration block with compute configuration for EKS Auto Mode. Detailed below. + */ + public readonly computeConfig!: pulumi.Output; /** * Unix epoch timestamp in seconds for when the cluster was created. */ @@ -290,6 +321,10 @@ export class Cluster extends pulumi.CustomResource { * Platform version for the cluster. */ public /*out*/ readonly platformVersion!: pulumi.Output; + /** + * Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + */ + public readonly remoteNetworkConfig!: pulumi.Output; /** * ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. */ @@ -298,6 +333,10 @@ export class Cluster extends pulumi.CustomResource { * Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. */ public /*out*/ readonly status!: pulumi.Output; + /** + * Configuration block with storage configuration for EKS Auto Mode. Detailed below. + */ + public readonly storageConfig!: pulumi.Output; /** * Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ @@ -346,6 +385,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["certificateAuthorities"] = state ? state.certificateAuthorities : undefined; resourceInputs["certificateAuthority"] = state ? state.certificateAuthority : undefined; resourceInputs["clusterId"] = state ? state.clusterId : undefined; + resourceInputs["computeConfig"] = state ? state.computeConfig : undefined; resourceInputs["createdAt"] = state ? state.createdAt : undefined; resourceInputs["defaultAddonsToRemoves"] = state ? state.defaultAddonsToRemoves : undefined; resourceInputs["enabledClusterLogTypes"] = state ? state.enabledClusterLogTypes : undefined; @@ -356,8 +396,10 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["name"] = state ? state.name : undefined; resourceInputs["outpostConfig"] = state ? state.outpostConfig : undefined; resourceInputs["platformVersion"] = state ? state.platformVersion : undefined; + resourceInputs["remoteNetworkConfig"] = state ? state.remoteNetworkConfig : undefined; resourceInputs["roleArn"] = state ? state.roleArn : undefined; resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["storageConfig"] = state ? state.storageConfig : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["upgradePolicy"] = state ? state.upgradePolicy : undefined; @@ -374,13 +416,16 @@ export class Cluster extends pulumi.CustomResource { } resourceInputs["accessConfig"] = args ? args.accessConfig : undefined; resourceInputs["bootstrapSelfManagedAddons"] = args ? args.bootstrapSelfManagedAddons : undefined; + resourceInputs["computeConfig"] = args ? args.computeConfig : undefined; resourceInputs["defaultAddonsToRemoves"] = args ? args.defaultAddonsToRemoves : undefined; resourceInputs["enabledClusterLogTypes"] = args ? args.enabledClusterLogTypes : undefined; resourceInputs["encryptionConfig"] = args ? args.encryptionConfig : undefined; resourceInputs["kubernetesNetworkConfig"] = args ? args.kubernetesNetworkConfig : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["outpostConfig"] = args ? args.outpostConfig : undefined; + resourceInputs["remoteNetworkConfig"] = args ? args.remoteNetworkConfig : undefined; resourceInputs["roleArn"] = args ? args.roleArn : undefined; + resourceInputs["storageConfig"] = args ? args.storageConfig : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["upgradePolicy"] = args ? args.upgradePolicy : undefined; resourceInputs["version"] = args ? args.version : undefined; @@ -427,6 +472,10 @@ export interface ClusterState { * The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. */ clusterId?: pulumi.Input; + /** + * Configuration block with compute configuration for EKS Auto Mode. Detailed below. + */ + computeConfig?: pulumi.Input; /** * Unix epoch timestamp in seconds for when the cluster was created. */ @@ -464,6 +513,10 @@ export interface ClusterState { * Platform version for the cluster. */ platformVersion?: pulumi.Input; + /** + * Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + */ + remoteNetworkConfig?: pulumi.Input; /** * ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. */ @@ -472,6 +525,10 @@ export interface ClusterState { * Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. */ status?: pulumi.Input; + /** + * Configuration block with storage configuration for EKS Auto Mode. Detailed below. + */ + storageConfig?: pulumi.Input; /** * Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ @@ -514,6 +571,10 @@ export interface ClusterArgs { * Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`. */ bootstrapSelfManagedAddons?: pulumi.Input; + /** + * Configuration block with compute configuration for EKS Auto Mode. Detailed below. + */ + computeConfig?: pulumi.Input; defaultAddonsToRemoves?: pulumi.Input[]>; /** * List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html). @@ -535,10 +596,18 @@ export interface ClusterArgs { * Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud. */ outpostConfig?: pulumi.Input; + /** + * Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + */ + remoteNetworkConfig?: pulumi.Input; /** * ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. */ roleArn: pulumi.Input; + /** + * Configuration block with storage configuration for EKS Auto Mode. Detailed below. + */ + storageConfig?: pulumi.Input; /** * Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ diff --git a/sdk/nodejs/eks/getCluster.ts b/sdk/nodejs/eks/getCluster.ts index dde834178f8..0682b2d29b9 100644 --- a/sdk/nodejs/eks/getCluster.ts +++ b/sdk/nodejs/eks/getCluster.ts @@ -23,7 +23,6 @@ import * as utilities from "../utilities"; * return { * endpoint: example.endpoint, * "kubeconfig-certificate-authority-data": example.certificateAuthorities?.[0]?.data, - * "identity-oidc-issuer": example.identities?.[0]?.oidcs?.[0]?.issuer, * }; * } * ``` @@ -70,6 +69,10 @@ export interface GetClusterResult { * The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. */ readonly clusterId: string; + /** + * Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster. + */ + readonly computeConfigs: outputs.eks.GetClusterComputeConfig[]; /** * Unix epoch time stamp in seconds for when the cluster was created. */ @@ -103,6 +106,10 @@ export interface GetClusterResult { * Platform version for the cluster. */ readonly platformVersion: string; + /** + * Contains remote network configuration for EKS Hybrid Nodes. + */ + readonly remoteNetworkConfigs: outputs.eks.GetClusterRemoteNetworkConfig[]; /** * ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. */ @@ -111,12 +118,16 @@ export interface GetClusterResult { * Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. */ readonly status: string; + /** + * Contains storage configuration for EKS Auto Mode enabled cluster. + */ + readonly storageConfigs: outputs.eks.GetClusterStorageConfig[]; /** * Key-value map of resource tags. */ readonly tags: {[key: string]: string}; /** - * (Optional) Configuration block for the support policy to use for the cluster. + * Configuration block for the support policy to use for the cluster. */ readonly upgradePolicies: outputs.eks.GetClusterUpgradePolicy[]; /** @@ -148,7 +159,6 @@ export interface GetClusterResult { * return { * endpoint: example.endpoint, * "kubeconfig-certificate-authority-data": example.certificateAuthorities?.[0]?.data, - * "identity-oidc-issuer": example.identities?.[0]?.oidcs?.[0]?.issuer, * }; * } * ``` diff --git a/sdk/nodejs/lambda/eventSourceMapping.ts b/sdk/nodejs/lambda/eventSourceMapping.ts index 48cb48634a0..f6d938608c5 100644 --- a/sdk/nodejs/lambda/eventSourceMapping.ts +++ b/sdk/nodejs/lambda/eventSourceMapping.ts @@ -58,38 +58,6 @@ import * as utilities from "../utilities"; * }); * ``` * - * ### Self Managed Apache Kafka - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const example = new aws.lambda.EventSourceMapping("example", { - * functionName: exampleAwsLambdaFunction.arn, - * topics: ["Example"], - * startingPosition: "TRIM_HORIZON", - * selfManagedEventSource: { - * endpoints: { - * KAFKA_BOOTSTRAP_SERVERS: "kafka1.example.com:9092,kafka2.example.com:9092", - * }, - * }, - * sourceAccessConfigurations: [ - * { - * type: "VPC_SUBNET", - * uri: "subnet:subnet-example1", - * }, - * { - * type: "VPC_SUBNET", - * uri: "subnet:subnet-example2", - * }, - * { - * type: "VPC_SECURITY_GROUP", - * uri: "security_group:sg-example", - * }, - * ], - * }); - * ``` - * * ### SQS * * ```typescript @@ -283,10 +251,18 @@ export class EventSourceMapping extends pulumi.CustomResource { * - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. */ public readonly maximumRetryAttempts!: pulumi.Output; + /** + * - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + */ + public readonly metricsConfig!: pulumi.Output; /** * - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. */ public readonly parallelizationFactor!: pulumi.Output; + /** + * - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + */ + public readonly provisionedPollerConfig!: pulumi.Output; /** * The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. */ @@ -377,7 +353,9 @@ export class EventSourceMapping extends pulumi.CustomResource { resourceInputs["maximumBatchingWindowInSeconds"] = state ? state.maximumBatchingWindowInSeconds : undefined; resourceInputs["maximumRecordAgeInSeconds"] = state ? state.maximumRecordAgeInSeconds : undefined; resourceInputs["maximumRetryAttempts"] = state ? state.maximumRetryAttempts : undefined; + resourceInputs["metricsConfig"] = state ? state.metricsConfig : undefined; resourceInputs["parallelizationFactor"] = state ? state.parallelizationFactor : undefined; + resourceInputs["provisionedPollerConfig"] = state ? state.provisionedPollerConfig : undefined; resourceInputs["queues"] = state ? state.queues : undefined; resourceInputs["scalingConfig"] = state ? state.scalingConfig : undefined; resourceInputs["selfManagedEventSource"] = state ? state.selfManagedEventSource : undefined; @@ -411,7 +389,9 @@ export class EventSourceMapping extends pulumi.CustomResource { resourceInputs["maximumBatchingWindowInSeconds"] = args ? args.maximumBatchingWindowInSeconds : undefined; resourceInputs["maximumRecordAgeInSeconds"] = args ? args.maximumRecordAgeInSeconds : undefined; resourceInputs["maximumRetryAttempts"] = args ? args.maximumRetryAttempts : undefined; + resourceInputs["metricsConfig"] = args ? args.metricsConfig : undefined; resourceInputs["parallelizationFactor"] = args ? args.parallelizationFactor : undefined; + resourceInputs["provisionedPollerConfig"] = args ? args.provisionedPollerConfig : undefined; resourceInputs["queues"] = args ? args.queues : undefined; resourceInputs["scalingConfig"] = args ? args.scalingConfig : undefined; resourceInputs["selfManagedEventSource"] = args ? args.selfManagedEventSource : undefined; @@ -512,10 +492,18 @@ export interface EventSourceMappingState { * - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. */ maximumRetryAttempts?: pulumi.Input; + /** + * - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + */ + metricsConfig?: pulumi.Input; /** * - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. */ parallelizationFactor?: pulumi.Input; + /** + * - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + */ + provisionedPollerConfig?: pulumi.Input; /** * The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. */ @@ -636,10 +624,18 @@ export interface EventSourceMappingArgs { * - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. */ maximumRetryAttempts?: pulumi.Input; + /** + * - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + */ + metricsConfig?: pulumi.Input; /** * - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. */ parallelizationFactor?: pulumi.Input; + /** + * - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + */ + provisionedPollerConfig?: pulumi.Input; /** * The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. */ diff --git a/sdk/nodejs/rds/cluster.ts b/sdk/nodejs/rds/cluster.ts index 476a7d5c7d4..bc5605a4d4b 100644 --- a/sdk/nodejs/rds/cluster.ts +++ b/sdk/nodejs/rds/cluster.ts @@ -474,7 +474,7 @@ export class Cluster extends pulumi.CustomResource { */ public /*out*/ readonly readerEndpoint!: pulumi.Output; /** - * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. */ public readonly replicationSourceIdentifier!: pulumi.Output; /** @@ -913,7 +913,7 @@ export interface ClusterState { */ readerEndpoint?: pulumi.Input; /** - * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. */ replicationSourceIdentifier?: pulumi.Input; /** @@ -1160,7 +1160,7 @@ export interface ClusterArgs { */ preferredMaintenanceWindow?: pulumi.Input; /** - * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. + * ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. */ replicationSourceIdentifier?: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 228187505b2..7a7dc3bc2a8 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -820,6 +820,8 @@ "ec2/trafficMirrorTarget.ts", "ec2/volumeAttachment.ts", "ec2/vpc.ts", + "ec2/vpcBlockPublicAccessExclusion.ts", + "ec2/vpcBlockPublicAccessOptions.ts", "ec2/vpcDhcpOptions.ts", "ec2/vpcDhcpOptionsAssociation.ts", "ec2/vpcEndpoint.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 47519356600..27db0f44d85 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -25839,6 +25839,36 @@ export namespace ec2 { toPort?: pulumi.Input; } + export interface VpcBlockPublicAccessExclusionTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: pulumi.Input; + } + + export interface VpcBlockPublicAccessOptionsTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: pulumi.Input; + } + export interface VpcEndpointDnsEntry { /** * The DNS name. @@ -27920,6 +27950,21 @@ export namespace eks { data?: pulumi.Input; } + export interface ClusterComputeConfig { + /** + * Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + */ + enabled?: pulumi.Input; + /** + * Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + */ + nodePools?: pulumi.Input[]>; + /** + * The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + */ + nodeRoleArn?: pulumi.Input; + } + export interface ClusterEncryptionConfig { /** * Configuration block with provider for encryption. Detailed below. @@ -27953,6 +27998,10 @@ export namespace eks { } export interface ClusterKubernetesNetworkConfig { + /** + * Configuration block with elastic load balancing configuration for the cluster. Detailed below. + */ + elasticLoadBalancing?: pulumi.Input; /** * The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. */ @@ -27968,11 +28017,18 @@ export namespace eks { */ serviceIpv4Cidr?: pulumi.Input; /** - * The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + * The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ipFamily` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. */ serviceIpv6Cidr?: pulumi.Input; } + export interface ClusterKubernetesNetworkConfigElasticLoadBalancing { + /** + * Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + */ + enabled?: pulumi.Input; + } + export interface ClusterOutpostConfig { /** * The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts. The instance type that you specify is used for all Kubernetes control plane instances. The instance type can't be changed after cluster creation. Choose an instance type based on the number of nodes that your cluster will have. If your cluster will have: @@ -28004,6 +28060,39 @@ export namespace eks { groupName: pulumi.Input; } + export interface ClusterRemoteNetworkConfig { + /** + * Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + */ + remoteNodeNetworks: pulumi.Input; + /** + * Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + */ + remotePodNetworks?: pulumi.Input; + } + + export interface ClusterRemoteNetworkConfigRemoteNodeNetworks { + /** + * List of network CIDRs that can contain hybrid nodes. + */ + cidrs?: pulumi.Input[]>; + } + + export interface ClusterRemoteNetworkConfigRemotePodNetworks { + /** + * List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + */ + cidrs?: pulumi.Input[]>; + } + + export interface ClusterStorageConfig { + blockStorage?: pulumi.Input; + } + + export interface ClusterStorageConfigBlockStorage { + enabled?: pulumi.Input; + } + export interface ClusterUpgradePolicy { /** * Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` @@ -39972,6 +40061,24 @@ export namespace lambda { pattern?: pulumi.Input; } + export interface EventSourceMappingMetricsConfig { + /** + * A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + */ + metrics: pulumi.Input[]>; + } + + export interface EventSourceMappingProvisionedPollerConfig { + /** + * The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + */ + maximumPollers?: pulumi.Input; + /** + * The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + */ + minimumPollers?: pulumi.Input; + } + export interface EventSourceMappingScalingConfig { /** * Limits the number of concurrent instances that the Amazon SQS event source can invoke. Must be greater than or equal to `2`. See [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). You need to raise a [Service Quota Ticket](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) to increase the concurrency beyond 1000. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 68d031cb0b9..7e60c0c4d8a 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -31714,6 +31714,36 @@ export namespace ec2 { toPort?: number; } + export interface VpcBlockPublicAccessExclusionTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: string; + } + + export interface VpcBlockPublicAccessOptionsTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: string; + } + export interface VpcEndpointDnsEntry { /** * The DNS name. @@ -33577,6 +33607,21 @@ export namespace eks { data: string; } + export interface ClusterComputeConfig { + /** + * Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + */ + enabled?: boolean; + /** + * Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + */ + nodePools?: string[]; + /** + * The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + */ + nodeRoleArn?: string; + } + export interface ClusterEncryptionConfig { /** * Configuration block with provider for encryption. Detailed below. @@ -33610,6 +33655,10 @@ export namespace eks { } export interface ClusterKubernetesNetworkConfig { + /** + * Configuration block with elastic load balancing configuration for the cluster. Detailed below. + */ + elasticLoadBalancing: outputs.eks.ClusterKubernetesNetworkConfigElasticLoadBalancing; /** * The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. */ @@ -33625,11 +33674,18 @@ export namespace eks { */ serviceIpv4Cidr: string; /** - * The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + * The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ipFamily` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. */ serviceIpv6Cidr: string; } + export interface ClusterKubernetesNetworkConfigElasticLoadBalancing { + /** + * Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + */ + enabled?: boolean; + } + export interface ClusterOutpostConfig { /** * The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts. The instance type that you specify is used for all Kubernetes control plane instances. The instance type can't be changed after cluster creation. Choose an instance type based on the number of nodes that your cluster will have. If your cluster will have: @@ -33661,6 +33717,39 @@ export namespace eks { groupName: string; } + export interface ClusterRemoteNetworkConfig { + /** + * Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + */ + remoteNodeNetworks: outputs.eks.ClusterRemoteNetworkConfigRemoteNodeNetworks; + /** + * Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + */ + remotePodNetworks: outputs.eks.ClusterRemoteNetworkConfigRemotePodNetworks; + } + + export interface ClusterRemoteNetworkConfigRemoteNodeNetworks { + /** + * List of network CIDRs that can contain hybrid nodes. + */ + cidrs?: string[]; + } + + export interface ClusterRemoteNetworkConfigRemotePodNetworks { + /** + * List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + */ + cidrs?: string[]; + } + + export interface ClusterStorageConfig { + blockStorage?: outputs.eks.ClusterStorageConfigBlockStorage; + } + + export interface ClusterStorageConfigBlockStorage { + enabled?: boolean; + } + export interface ClusterUpgradePolicy { /** * Support type to use for the cluster. If the cluster is set to `EXTENDED`, it will enter extended support at the end of standard support. If the cluster is set to `STANDARD`, it will be automatically upgraded at the end of standard support. Valid values are `EXTENDED`, `STANDARD` @@ -33748,6 +33837,21 @@ export namespace eks { data: string; } + export interface GetClusterComputeConfig { + /** + * Whether zonal shift is enabled. + */ + enabled: boolean; + /** + * List of node pools for the EKS Auto Mode compute capability. + */ + nodePools: string[]; + /** + * The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. + */ + nodeRoleArn: string; + } + export interface GetClusterIdentity { /** * Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provider information for the cluster. @@ -33763,6 +33867,10 @@ export namespace eks { } export interface GetClusterKubernetesNetworkConfig { + /** + * Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. + */ + elasticLoadBalancings: outputs.eks.GetClusterKubernetesNetworkConfigElasticLoadBalancing[]; /** * `ipv4` or `ipv6`. */ @@ -33777,6 +33885,13 @@ export namespace eks { serviceIpv6Cidr: string; } + export interface GetClusterKubernetesNetworkConfigElasticLoadBalancing { + /** + * Whether zonal shift is enabled. + */ + enabled: boolean; + } + export interface GetClusterOutpostConfig { /** * The Amazon EC2 instance type for all Kubernetes control plane instances. @@ -33799,9 +33914,48 @@ export namespace eks { groupName: string; } + export interface GetClusterRemoteNetworkConfig { + /** + * The networks that can contain hybrid nodes. + */ + remoteNodeNetworks: outputs.eks.GetClusterRemoteNetworkConfigRemoteNodeNetwork[]; + /** + * The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. + */ + remotePodNetworks: outputs.eks.GetClusterRemoteNetworkConfigRemotePodNetwork[]; + } + + export interface GetClusterRemoteNetworkConfigRemoteNodeNetwork { + /** + * List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + */ + cidrs: string[]; + } + + export interface GetClusterRemoteNetworkConfigRemotePodNetwork { + /** + * List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + */ + cidrs: string[]; + } + + export interface GetClusterStorageConfig { + /** + * Contains block storage configuration for EKS Auto Mode enabled cluster. + */ + blockStorages: outputs.eks.GetClusterStorageConfigBlockStorage[]; + } + + export interface GetClusterStorageConfigBlockStorage { + /** + * Whether zonal shift is enabled. + */ + enabled: boolean; + } + export interface GetClusterUpgradePolicy { /** - * (Optional) Support type to use for the cluster. + * Support type to use for the cluster. */ supportType: string; } @@ -47131,6 +47285,24 @@ export namespace lambda { pattern?: string; } + export interface EventSourceMappingMetricsConfig { + /** + * A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + */ + metrics: string[]; + } + + export interface EventSourceMappingProvisionedPollerConfig { + /** + * The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + */ + maximumPollers: number; + /** + * The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + */ + minimumPollers: number; + } + export interface EventSourceMappingScalingConfig { /** * Limits the number of concurrent instances that the Amazon SQS event source can invoke. Must be greater than or equal to `2`. See [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). You need to raise a [Service Quota Ticket](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) to increase the concurrency beyond 1000. diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index 48693fbbf5a..2dc58c5b73c 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -4682,6 +4682,22 @@ "aws:ec2/vpc:Vpc": "Vpc" } }, + { + "pkg": "aws", + "mod": "ec2/vpcBlockPublicAccessExclusion", + "fqn": "pulumi_aws.ec2", + "classes": { + "aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion": "VpcBlockPublicAccessExclusion" + } + }, + { + "pkg": "aws", + "mod": "ec2/vpcBlockPublicAccessOptions", + "fqn": "pulumi_aws.ec2", + "classes": { + "aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions": "VpcBlockPublicAccessOptions" + } + }, { "pkg": "aws", "mod": "ec2/vpcDhcpOptions", diff --git a/sdk/python/pulumi_aws/ec2/__init__.py b/sdk/python/pulumi_aws/ec2/__init__.py index 6196aec7ae3..f69510aa007 100644 --- a/sdk/python/pulumi_aws/ec2/__init__.py +++ b/sdk/python/pulumi_aws/ec2/__init__.py @@ -137,6 +137,8 @@ from .traffic_mirror_target import * from .volume_attachment import * from .vpc import * +from .vpc_block_public_access_exclusion import * +from .vpc_block_public_access_options import * from .vpc_dhcp_options import * from .vpc_dhcp_options_association import * from .vpc_endpoint import * diff --git a/sdk/python/pulumi_aws/ec2/_inputs.py b/sdk/python/pulumi_aws/ec2/_inputs.py index ebc36e0d0fb..0b0a061d72d 100644 --- a/sdk/python/pulumi_aws/ec2/_inputs.py +++ b/sdk/python/pulumi_aws/ec2/_inputs.py @@ -430,6 +430,10 @@ 'TrafficMirrorFilterRuleDestinationPortRangeArgsDict', 'TrafficMirrorFilterRuleSourcePortRangeArgs', 'TrafficMirrorFilterRuleSourcePortRangeArgsDict', + 'VpcBlockPublicAccessExclusionTimeoutsArgs', + 'VpcBlockPublicAccessExclusionTimeoutsArgsDict', + 'VpcBlockPublicAccessOptionsTimeoutsArgs', + 'VpcBlockPublicAccessOptionsTimeoutsArgsDict', 'VpcEndpointDnsEntryArgs', 'VpcEndpointDnsEntryArgsDict', 'VpcEndpointDnsOptionsArgs', @@ -19625,6 +19629,150 @@ def to_port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "to_port", value) +if not MYPY: + class VpcBlockPublicAccessExclusionTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + delete: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + update: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ +elif False: + VpcBlockPublicAccessExclusionTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class VpcBlockPublicAccessExclusionTimeoutsArgs: + def __init__(__self__, *, + create: Optional[pulumi.Input[str]] = None, + delete: Optional[pulumi.Input[str]] = None, + update: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param pulumi.Input[str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param pulumi.Input[str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @create.setter + def create(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create", value) + + @property + @pulumi.getter + def delete(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @delete.setter + def delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delete", value) + + @property + @pulumi.getter + def update(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + @update.setter + def update(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update", value) + + +if not MYPY: + class VpcBlockPublicAccessOptionsTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + delete: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + update: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ +elif False: + VpcBlockPublicAccessOptionsTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class VpcBlockPublicAccessOptionsTimeoutsArgs: + def __init__(__self__, *, + create: Optional[pulumi.Input[str]] = None, + delete: Optional[pulumi.Input[str]] = None, + update: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param pulumi.Input[str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param pulumi.Input[str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @create.setter + def create(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create", value) + + @property + @pulumi.getter + def delete(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @delete.setter + def delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delete", value) + + @property + @pulumi.getter + def update(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + @update.setter + def update(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update", value) + + if not MYPY: class VpcEndpointDnsEntryArgsDict(TypedDict): dns_name: NotRequired[pulumi.Input[str]] diff --git a/sdk/python/pulumi_aws/ec2/outputs.py b/sdk/python/pulumi_aws/ec2/outputs.py index 35d4cd1d940..35930f7dbae 100644 --- a/sdk/python/pulumi_aws/ec2/outputs.py +++ b/sdk/python/pulumi_aws/ec2/outputs.py @@ -224,6 +224,8 @@ 'SpotInstanceRequestRootBlockDevice', 'TrafficMirrorFilterRuleDestinationPortRange', 'TrafficMirrorFilterRuleSourcePortRange', + 'VpcBlockPublicAccessExclusionTimeouts', + 'VpcBlockPublicAccessOptionsTimeouts', 'VpcEndpointDnsEntry', 'VpcEndpointDnsOptions', 'VpcEndpointServicePrivateDnsNameConfiguration', @@ -14878,6 +14880,92 @@ def to_port(self) -> Optional[int]: return pulumi.get(self, "to_port") +@pulumi.output_type +class VpcBlockPublicAccessExclusionTimeouts(dict): + def __init__(__self__, *, + create: Optional[str] = None, + delete: Optional[str] = None, + update: Optional[str] = None): + """ + :param str create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param str delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param str update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @property + @pulumi.getter + def delete(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @property + @pulumi.getter + def update(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + +@pulumi.output_type +class VpcBlockPublicAccessOptionsTimeouts(dict): + def __init__(__self__, *, + create: Optional[str] = None, + delete: Optional[str] = None, + update: Optional[str] = None): + """ + :param str create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param str delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param str update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @property + @pulumi.getter + def delete(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @property + @pulumi.getter + def update(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + @pulumi.output_type class VpcEndpointDnsEntry(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/ec2/vpc_block_public_access_exclusion.py b/sdk/python/pulumi_aws/ec2/vpc_block_public_access_exclusion.py new file mode 100644 index 00000000000..6b41b7410bf --- /dev/null +++ b/sdk/python/pulumi_aws/ec2/vpc_block_public_access_exclusion.py @@ -0,0 +1,477 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['VpcBlockPublicAccessExclusionArgs', 'VpcBlockPublicAccessExclusion'] + +@pulumi.input_type +class VpcBlockPublicAccessExclusionArgs: + def __init__(__self__, *, + internet_gateway_exclusion_mode: pulumi.Input[str], + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['VpcBlockPublicAccessExclusionTimeoutsArgs']] = None, + vpc_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a VpcBlockPublicAccessExclusion resource. + :param pulumi.Input[str] internet_gateway_exclusion_mode: Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + + The following arguments are optional: + :param pulumi.Input[str] subnet_id: Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[str] vpc_id: Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + """ + pulumi.set(__self__, "internet_gateway_exclusion_mode", internet_gateway_exclusion_mode) + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="internetGatewayExclusionMode") + def internet_gateway_exclusion_mode(self) -> pulumi.Input[str]: + """ + Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + + The following arguments are optional: + """ + return pulumi.get(self, "internet_gateway_exclusion_mode") + + @internet_gateway_exclusion_mode.setter + def internet_gateway_exclusion_mode(self, value: pulumi.Input[str]): + pulumi.set(self, "internet_gateway_exclusion_mode", value) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subnet_id", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['VpcBlockPublicAccessExclusionTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['VpcBlockPublicAccessExclusionTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + +@pulumi.input_type +class _VpcBlockPublicAccessExclusionState: + def __init__(__self__, *, + internet_gateway_exclusion_mode: Optional[pulumi.Input[str]] = None, + resource_arn: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['VpcBlockPublicAccessExclusionTimeoutsArgs']] = None, + vpc_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering VpcBlockPublicAccessExclusion resources. + :param pulumi.Input[str] internet_gateway_exclusion_mode: Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + + The following arguments are optional: + :param pulumi.Input[str] resource_arn: The Amazon Resource Name (ARN) the excluded resource. + :param pulumi.Input[str] subnet_id: Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[str] vpc_id: Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + """ + if internet_gateway_exclusion_mode is not None: + pulumi.set(__self__, "internet_gateway_exclusion_mode", internet_gateway_exclusion_mode) + if resource_arn is not None: + pulumi.set(__self__, "resource_arn", resource_arn) + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="internetGatewayExclusionMode") + def internet_gateway_exclusion_mode(self) -> Optional[pulumi.Input[str]]: + """ + Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + + The following arguments are optional: + """ + return pulumi.get(self, "internet_gateway_exclusion_mode") + + @internet_gateway_exclusion_mode.setter + def internet_gateway_exclusion_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "internet_gateway_exclusion_mode", value) + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) the excluded resource. + """ + return pulumi.get(self, "resource_arn") + + @resource_arn.setter + def resource_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_arn", value) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subnet_id", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['VpcBlockPublicAccessExclusionTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['VpcBlockPublicAccessExclusionTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + +class VpcBlockPublicAccessExclusion(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + internet_gateway_exclusion_mode: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['VpcBlockPublicAccessExclusionTimeoutsArgs', 'VpcBlockPublicAccessExclusionTimeoutsArgsDict']]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing an AWS EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.ec2.Vpc("test", cidr_block="10.1.0.0/16") + test_vpc_block_public_access_exclusion = aws.ec2.VpcBlockPublicAccessExclusion("test", + vpc_id=test.id, + internet_gateway_exclusion_mode="allow-bidirectional") + ``` + + ### Usage with subnet id + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.ec2.Vpc("test", cidr_block="10.1.0.0/16") + test_subnet = aws.ec2.Subnet("test", + cidr_block="10.1.1.0/24", + vpc_id=test.id) + test_vpc_block_public_access_exclusion = aws.ec2.VpcBlockPublicAccessExclusion("test", + subnet_id=test_subnet.id, + internet_gateway_exclusion_mode="allow-egress") + ``` + + ## Import + + Using `pulumi import`, import EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion using the `id`. For example: + + ```sh + $ pulumi import aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion example vpcbpa-exclude-1234abcd + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] internet_gateway_exclusion_mode: Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + + The following arguments are optional: + :param pulumi.Input[str] subnet_id: Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[str] vpc_id: Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcBlockPublicAccessExclusionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.ec2.Vpc("test", cidr_block="10.1.0.0/16") + test_vpc_block_public_access_exclusion = aws.ec2.VpcBlockPublicAccessExclusion("test", + vpc_id=test.id, + internet_gateway_exclusion_mode="allow-bidirectional") + ``` + + ### Usage with subnet id + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.ec2.Vpc("test", cidr_block="10.1.0.0/16") + test_subnet = aws.ec2.Subnet("test", + cidr_block="10.1.1.0/24", + vpc_id=test.id) + test_vpc_block_public_access_exclusion = aws.ec2.VpcBlockPublicAccessExclusion("test", + subnet_id=test_subnet.id, + internet_gateway_exclusion_mode="allow-egress") + ``` + + ## Import + + Using `pulumi import`, import EC2 (Elastic Compute Cloud) VPC Block Public Access Exclusion using the `id`. For example: + + ```sh + $ pulumi import aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion example vpcbpa-exclude-1234abcd + ``` + + :param str resource_name: The name of the resource. + :param VpcBlockPublicAccessExclusionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VpcBlockPublicAccessExclusionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + internet_gateway_exclusion_mode: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['VpcBlockPublicAccessExclusionTimeoutsArgs', 'VpcBlockPublicAccessExclusionTimeoutsArgsDict']]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VpcBlockPublicAccessExclusionArgs.__new__(VpcBlockPublicAccessExclusionArgs) + + if internet_gateway_exclusion_mode is None and not opts.urn: + raise TypeError("Missing required property 'internet_gateway_exclusion_mode'") + __props__.__dict__["internet_gateway_exclusion_mode"] = internet_gateway_exclusion_mode + __props__.__dict__["subnet_id"] = subnet_id + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["resource_arn"] = None + __props__.__dict__["tags_all"] = None + super(VpcBlockPublicAccessExclusion, __self__).__init__( + 'aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + internet_gateway_exclusion_mode: Optional[pulumi.Input[str]] = None, + resource_arn: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['VpcBlockPublicAccessExclusionTimeoutsArgs', 'VpcBlockPublicAccessExclusionTimeoutsArgsDict']]] = None, + vpc_id: Optional[pulumi.Input[str]] = None) -> 'VpcBlockPublicAccessExclusion': + """ + Get an existing VpcBlockPublicAccessExclusion resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] internet_gateway_exclusion_mode: Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + + The following arguments are optional: + :param pulumi.Input[str] resource_arn: The Amazon Resource Name (ARN) the excluded resource. + :param pulumi.Input[str] subnet_id: Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[str] vpc_id: Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpcBlockPublicAccessExclusionState.__new__(_VpcBlockPublicAccessExclusionState) + + __props__.__dict__["internet_gateway_exclusion_mode"] = internet_gateway_exclusion_mode + __props__.__dict__["resource_arn"] = resource_arn + __props__.__dict__["subnet_id"] = subnet_id + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_id"] = vpc_id + return VpcBlockPublicAccessExclusion(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="internetGatewayExclusionMode") + def internet_gateway_exclusion_mode(self) -> pulumi.Output[str]: + """ + Mode of exclusion from Block Public Access. The allowed values are `allow-egress` and `allow-bidirectional`. + + The following arguments are optional: + """ + return pulumi.get(self, "internet_gateway_exclusion_mode") + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) the excluded resource. + """ + return pulumi.get(self, "resource_arn") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Output[Optional[str]]: + """ + Id of the subnet to which this exclusion applies. Either this or the vpc_id needs to be provided. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags to assign to the exclusion. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.VpcBlockPublicAccessExclusionTimeouts']]: + return pulumi.get(self, "timeouts") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[Optional[str]]: + """ + Id of the VPC to which this exclusion applies. Either this or the subnet_id needs to be provided. + """ + return pulumi.get(self, "vpc_id") + diff --git a/sdk/python/pulumi_aws/ec2/vpc_block_public_access_options.py b/sdk/python/pulumi_aws/ec2/vpc_block_public_access_options.py new file mode 100644 index 00000000000..6e0dfacb78b --- /dev/null +++ b/sdk/python/pulumi_aws/ec2/vpc_block_public_access_options.py @@ -0,0 +1,281 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['VpcBlockPublicAccessOptionsArgs', 'VpcBlockPublicAccessOptions'] + +@pulumi.input_type +class VpcBlockPublicAccessOptionsArgs: + def __init__(__self__, *, + internet_gateway_block_mode: pulumi.Input[str], + timeouts: Optional[pulumi.Input['VpcBlockPublicAccessOptionsTimeoutsArgs']] = None): + """ + The set of arguments for constructing a VpcBlockPublicAccessOptions resource. + :param pulumi.Input[str] internet_gateway_block_mode: Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + """ + pulumi.set(__self__, "internet_gateway_block_mode", internet_gateway_block_mode) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="internetGatewayBlockMode") + def internet_gateway_block_mode(self) -> pulumi.Input[str]: + """ + Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + """ + return pulumi.get(self, "internet_gateway_block_mode") + + @internet_gateway_block_mode.setter + def internet_gateway_block_mode(self, value: pulumi.Input[str]): + pulumi.set(self, "internet_gateway_block_mode", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['VpcBlockPublicAccessOptionsTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['VpcBlockPublicAccessOptionsTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _VpcBlockPublicAccessOptionsState: + def __init__(__self__, *, + aws_account_id: Optional[pulumi.Input[str]] = None, + aws_region: Optional[pulumi.Input[str]] = None, + internet_gateway_block_mode: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input['VpcBlockPublicAccessOptionsTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering VpcBlockPublicAccessOptions resources. + :param pulumi.Input[str] aws_account_id: The AWS account id to which these options apply. + :param pulumi.Input[str] aws_region: The AWS region to which these options apply. + :param pulumi.Input[str] internet_gateway_block_mode: Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + """ + if aws_account_id is not None: + pulumi.set(__self__, "aws_account_id", aws_account_id) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if internet_gateway_block_mode is not None: + pulumi.set(__self__, "internet_gateway_block_mode", internet_gateway_block_mode) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="awsAccountId") + def aws_account_id(self) -> Optional[pulumi.Input[str]]: + """ + The AWS account id to which these options apply. + """ + return pulumi.get(self, "aws_account_id") + + @aws_account_id.setter + def aws_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_account_id", value) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[pulumi.Input[str]]: + """ + The AWS region to which these options apply. + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter(name="internetGatewayBlockMode") + def internet_gateway_block_mode(self) -> Optional[pulumi.Input[str]]: + """ + Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + """ + return pulumi.get(self, "internet_gateway_block_mode") + + @internet_gateway_block_mode.setter + def internet_gateway_block_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "internet_gateway_block_mode", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['VpcBlockPublicAccessOptionsTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['VpcBlockPublicAccessOptionsTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class VpcBlockPublicAccessOptions(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + internet_gateway_block_mode: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[Union['VpcBlockPublicAccessOptionsTimeoutsArgs', 'VpcBlockPublicAccessOptionsTimeoutsArgsDict']]] = None, + __props__=None): + """ + Resource for managing an AWS VPC Block Public Access Options. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.ec2.VpcBlockPublicAccessOptions("example", internet_gateway_block_mode="block-bidirectional") + ``` + + ## Import + + Using `pulumi import`, import VPC Block Public Access Options using the `aws_region`. For example: + + ```sh + $ pulumi import aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions example us-east-1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] internet_gateway_block_mode: Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcBlockPublicAccessOptionsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS VPC Block Public Access Options. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.ec2.VpcBlockPublicAccessOptions("example", internet_gateway_block_mode="block-bidirectional") + ``` + + ## Import + + Using `pulumi import`, import VPC Block Public Access Options using the `aws_region`. For example: + + ```sh + $ pulumi import aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions example us-east-1 + ``` + + :param str resource_name: The name of the resource. + :param VpcBlockPublicAccessOptionsArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VpcBlockPublicAccessOptionsArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + internet_gateway_block_mode: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[Union['VpcBlockPublicAccessOptionsTimeoutsArgs', 'VpcBlockPublicAccessOptionsTimeoutsArgsDict']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VpcBlockPublicAccessOptionsArgs.__new__(VpcBlockPublicAccessOptionsArgs) + + if internet_gateway_block_mode is None and not opts.urn: + raise TypeError("Missing required property 'internet_gateway_block_mode'") + __props__.__dict__["internet_gateway_block_mode"] = internet_gateway_block_mode + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["aws_account_id"] = None + __props__.__dict__["aws_region"] = None + super(VpcBlockPublicAccessOptions, __self__).__init__( + 'aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + aws_account_id: Optional[pulumi.Input[str]] = None, + aws_region: Optional[pulumi.Input[str]] = None, + internet_gateway_block_mode: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[Union['VpcBlockPublicAccessOptionsTimeoutsArgs', 'VpcBlockPublicAccessOptionsTimeoutsArgsDict']]] = None) -> 'VpcBlockPublicAccessOptions': + """ + Get an existing VpcBlockPublicAccessOptions resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] aws_account_id: The AWS account id to which these options apply. + :param pulumi.Input[str] aws_region: The AWS region to which these options apply. + :param pulumi.Input[str] internet_gateway_block_mode: Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpcBlockPublicAccessOptionsState.__new__(_VpcBlockPublicAccessOptionsState) + + __props__.__dict__["aws_account_id"] = aws_account_id + __props__.__dict__["aws_region"] = aws_region + __props__.__dict__["internet_gateway_block_mode"] = internet_gateway_block_mode + __props__.__dict__["timeouts"] = timeouts + return VpcBlockPublicAccessOptions(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="awsAccountId") + def aws_account_id(self) -> pulumi.Output[str]: + """ + The AWS account id to which these options apply. + """ + return pulumi.get(self, "aws_account_id") + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> pulumi.Output[str]: + """ + The AWS region to which these options apply. + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter(name="internetGatewayBlockMode") + def internet_gateway_block_mode(self) -> pulumi.Output[str]: + """ + Block mode. Needs to be one of `block-bidirectional`, `block-ingress`, `off`. If this resource is deleted, then this value will be set to `off` in the AWS account and region. + """ + return pulumi.get(self, "internet_gateway_block_mode") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.VpcBlockPublicAccessOptionsTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/ec2/vpc_endpoint_service.py b/sdk/python/pulumi_aws/ec2/vpc_endpoint_service.py index 1eba8db6558..3ea67a0cc68 100644 --- a/sdk/python/pulumi_aws/ec2/vpc_endpoint_service.py +++ b/sdk/python/pulumi_aws/ec2/vpc_endpoint_service.py @@ -27,6 +27,7 @@ def __init__(__self__, *, network_load_balancer_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_dns_name: Optional[pulumi.Input[str]] = None, supported_ip_address_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + supported_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a VpcEndpointService resource. @@ -36,6 +37,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] network_load_balancer_arns: Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service. :param pulumi.Input[str] private_dns_name: The private DNS name for the service. :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_ip_address_types: The supported IP address types. The possible values are `ipv4` and `ipv6`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_regions: The set of regions from which service consumers can access the service. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "acceptance_required", acceptance_required) @@ -49,6 +51,8 @@ def __init__(__self__, *, pulumi.set(__self__, "private_dns_name", private_dns_name) if supported_ip_address_types is not None: pulumi.set(__self__, "supported_ip_address_types", supported_ip_address_types) + if supported_regions is not None: + pulumi.set(__self__, "supported_regions", supported_regions) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -124,6 +128,18 @@ def supported_ip_address_types(self) -> Optional[pulumi.Input[Sequence[pulumi.In def supported_ip_address_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "supported_ip_address_types", value) + @property + @pulumi.getter(name="supportedRegions") + def supported_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of regions from which service consumers can access the service. + """ + return pulumi.get(self, "supported_regions") + + @supported_regions.setter + def supported_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "supported_regions", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -154,6 +170,7 @@ def __init__(__self__, *, service_type: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, supported_ip_address_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + supported_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ @@ -172,6 +189,7 @@ def __init__(__self__, *, :param pulumi.Input[str] service_type: The service type, `Gateway` or `Interface`. :param pulumi.Input[str] state: Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is `verified`. :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_ip_address_types: The supported IP address types. The possible values are `ipv4` and `ipv6`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_regions: The set of regions from which service consumers can access the service. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ @@ -203,6 +221,8 @@ def __init__(__self__, *, pulumi.set(__self__, "state", state) if supported_ip_address_types is not None: pulumi.set(__self__, "supported_ip_address_types", supported_ip_address_types) + if supported_regions is not None: + pulumi.set(__self__, "supported_regions", supported_regions) if tags is not None: pulumi.set(__self__, "tags", tags) if tags_all is not None: @@ -379,6 +399,18 @@ def supported_ip_address_types(self) -> Optional[pulumi.Input[Sequence[pulumi.In def supported_ip_address_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "supported_ip_address_types", value) + @property + @pulumi.getter(name="supportedRegions") + def supported_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of regions from which service consumers can access the service. + """ + return pulumi.get(self, "supported_regions") + + @supported_regions.setter + def supported_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "supported_regions", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -416,6 +448,7 @@ def __init__(__self__, network_load_balancer_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_dns_name: Optional[pulumi.Input[str]] = None, supported_ip_address_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + supported_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ @@ -468,6 +501,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] network_load_balancer_arns: Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service. :param pulumi.Input[str] private_dns_name: The private DNS name for the service. :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_ip_address_types: The supported IP address types. The possible values are `ipv4` and `ipv6`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_regions: The set of regions from which service consumers can access the service. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @@ -539,6 +573,7 @@ def _internal_init(__self__, network_load_balancer_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_dns_name: Optional[pulumi.Input[str]] = None, supported_ip_address_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + supported_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -557,6 +592,7 @@ def _internal_init(__self__, __props__.__dict__["network_load_balancer_arns"] = network_load_balancer_arns __props__.__dict__["private_dns_name"] = private_dns_name __props__.__dict__["supported_ip_address_types"] = supported_ip_address_types + __props__.__dict__["supported_regions"] = supported_regions __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None __props__.__dict__["availability_zones"] = None @@ -591,6 +627,7 @@ def get(resource_name: str, service_type: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, supported_ip_address_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + supported_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'VpcEndpointService': """ @@ -614,6 +651,7 @@ def get(resource_name: str, :param pulumi.Input[str] service_type: The service type, `Gateway` or `Interface`. :param pulumi.Input[str] state: Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is `verified`. :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_ip_address_types: The supported IP address types. The possible values are `ipv4` and `ipv6`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_regions: The set of regions from which service consumers can access the service. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ @@ -635,6 +673,7 @@ def get(resource_name: str, __props__.__dict__["service_type"] = service_type __props__.__dict__["state"] = state __props__.__dict__["supported_ip_address_types"] = supported_ip_address_types + __props__.__dict__["supported_regions"] = supported_regions __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all return VpcEndpointService(resource_name, opts=opts, __props__=__props__) @@ -751,6 +790,14 @@ def supported_ip_address_types(self) -> pulumi.Output[Sequence[str]]: """ return pulumi.get(self, "supported_ip_address_types") + @property + @pulumi.getter(name="supportedRegions") + def supported_regions(self) -> pulumi.Output[Sequence[str]]: + """ + The set of regions from which service consumers can access the service. + """ + return pulumi.get(self, "supported_regions") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: diff --git a/sdk/python/pulumi_aws/eks/_inputs.py b/sdk/python/pulumi_aws/eks/_inputs.py index 1591f029ea7..6d051b50c31 100644 --- a/sdk/python/pulumi_aws/eks/_inputs.py +++ b/sdk/python/pulumi_aws/eks/_inputs.py @@ -23,6 +23,8 @@ 'ClusterAccessConfigArgsDict', 'ClusterCertificateAuthorityArgs', 'ClusterCertificateAuthorityArgsDict', + 'ClusterComputeConfigArgs', + 'ClusterComputeConfigArgsDict', 'ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict', 'ClusterEncryptionConfigProviderArgs', @@ -33,10 +35,22 @@ 'ClusterIdentityOidcArgsDict', 'ClusterKubernetesNetworkConfigArgs', 'ClusterKubernetesNetworkConfigArgsDict', + 'ClusterKubernetesNetworkConfigElasticLoadBalancingArgs', + 'ClusterKubernetesNetworkConfigElasticLoadBalancingArgsDict', 'ClusterOutpostConfigArgs', 'ClusterOutpostConfigArgsDict', 'ClusterOutpostConfigControlPlanePlacementArgs', 'ClusterOutpostConfigControlPlanePlacementArgsDict', + 'ClusterRemoteNetworkConfigArgs', + 'ClusterRemoteNetworkConfigArgsDict', + 'ClusterRemoteNetworkConfigRemoteNodeNetworksArgs', + 'ClusterRemoteNetworkConfigRemoteNodeNetworksArgsDict', + 'ClusterRemoteNetworkConfigRemotePodNetworksArgs', + 'ClusterRemoteNetworkConfigRemotePodNetworksArgsDict', + 'ClusterStorageConfigArgs', + 'ClusterStorageConfigArgsDict', + 'ClusterStorageConfigBlockStorageArgs', + 'ClusterStorageConfigBlockStorageArgsDict', 'ClusterUpgradePolicyArgs', 'ClusterUpgradePolicyArgsDict', 'ClusterVpcConfigArgs', @@ -250,6 +264,78 @@ def data(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "data", value) +if not MYPY: + class ClusterComputeConfigArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] + """ + Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + """ + node_pools: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + """ + node_role_arn: NotRequired[pulumi.Input[str]] + """ + The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + """ +elif False: + ClusterComputeConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterComputeConfigArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + node_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + node_role_arn: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] enabled: Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + :param pulumi.Input[Sequence[pulumi.Input[str]]] node_pools: Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + :param pulumi.Input[str] node_role_arn: The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if node_pools is not None: + pulumi.set(__self__, "node_pools", node_pools) + if node_role_arn is not None: + pulumi.set(__self__, "node_role_arn", node_role_arn) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="nodePools") + def node_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + """ + return pulumi.get(self, "node_pools") + + @node_pools.setter + def node_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "node_pools", value) + + @property + @pulumi.getter(name="nodeRoleArn") + def node_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + """ + return pulumi.get(self, "node_role_arn") + + @node_role_arn.setter + def node_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "node_role_arn", value) + + if not MYPY: class ClusterEncryptionConfigArgsDict(TypedDict): provider: pulumi.Input['ClusterEncryptionConfigProviderArgsDict'] @@ -397,6 +483,10 @@ def issuer(self, value: Optional[pulumi.Input[str]]): if not MYPY: class ClusterKubernetesNetworkConfigArgsDict(TypedDict): + elastic_load_balancing: NotRequired[pulumi.Input['ClusterKubernetesNetworkConfigElasticLoadBalancingArgsDict']] + """ + Configuration block with elastic load balancing configuration for the cluster. Detailed below. + """ ip_family: NotRequired[pulumi.Input[str]] """ The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. @@ -413,7 +503,7 @@ class ClusterKubernetesNetworkConfigArgsDict(TypedDict): """ service_ipv6_cidr: NotRequired[pulumi.Input[str]] """ - The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. """ elif False: ClusterKubernetesNetworkConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -421,10 +511,12 @@ class ClusterKubernetesNetworkConfigArgsDict(TypedDict): @pulumi.input_type class ClusterKubernetesNetworkConfigArgs: def __init__(__self__, *, + elastic_load_balancing: Optional[pulumi.Input['ClusterKubernetesNetworkConfigElasticLoadBalancingArgs']] = None, ip_family: Optional[pulumi.Input[str]] = None, service_ipv4_cidr: Optional[pulumi.Input[str]] = None, service_ipv6_cidr: Optional[pulumi.Input[str]] = None): """ + :param pulumi.Input['ClusterKubernetesNetworkConfigElasticLoadBalancingArgs'] elastic_load_balancing: Configuration block with elastic load balancing configuration for the cluster. Detailed below. :param pulumi.Input[str] ip_family: The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. :param pulumi.Input[str] service_ipv4_cidr: The CIDR block to assign Kubernetes pod and service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements: @@ -433,8 +525,10 @@ def __init__(__self__, *, * Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC. * Between /24 and /12. - :param pulumi.Input[str] service_ipv6_cidr: The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + :param pulumi.Input[str] service_ipv6_cidr: The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. """ + if elastic_load_balancing is not None: + pulumi.set(__self__, "elastic_load_balancing", elastic_load_balancing) if ip_family is not None: pulumi.set(__self__, "ip_family", ip_family) if service_ipv4_cidr is not None: @@ -442,6 +536,18 @@ def __init__(__self__, *, if service_ipv6_cidr is not None: pulumi.set(__self__, "service_ipv6_cidr", service_ipv6_cidr) + @property + @pulumi.getter(name="elasticLoadBalancing") + def elastic_load_balancing(self) -> Optional[pulumi.Input['ClusterKubernetesNetworkConfigElasticLoadBalancingArgs']]: + """ + Configuration block with elastic load balancing configuration for the cluster. Detailed below. + """ + return pulumi.get(self, "elastic_load_balancing") + + @elastic_load_balancing.setter + def elastic_load_balancing(self, value: Optional[pulumi.Input['ClusterKubernetesNetworkConfigElasticLoadBalancingArgs']]): + pulumi.set(self, "elastic_load_balancing", value) + @property @pulumi.getter(name="ipFamily") def ip_family(self) -> Optional[pulumi.Input[str]]: @@ -476,7 +582,7 @@ def service_ipv4_cidr(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="serviceIpv6Cidr") def service_ipv6_cidr(self) -> Optional[pulumi.Input[str]]: """ - The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. """ return pulumi.get(self, "service_ipv6_cidr") @@ -485,6 +591,38 @@ def service_ipv6_cidr(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "service_ipv6_cidr", value) +if not MYPY: + class ClusterKubernetesNetworkConfigElasticLoadBalancingArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] + """ + Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + """ +elif False: + ClusterKubernetesNetworkConfigElasticLoadBalancingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterKubernetesNetworkConfigElasticLoadBalancingArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] enabled: Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + if not MYPY: class ClusterOutpostConfigArgsDict(TypedDict): control_plane_instance_type: pulumi.Input[str] @@ -613,6 +751,167 @@ def group_name(self, value: pulumi.Input[str]): pulumi.set(self, "group_name", value) +if not MYPY: + class ClusterRemoteNetworkConfigArgsDict(TypedDict): + remote_node_networks: pulumi.Input['ClusterRemoteNetworkConfigRemoteNodeNetworksArgsDict'] + """ + Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + """ + remote_pod_networks: NotRequired[pulumi.Input['ClusterRemoteNetworkConfigRemotePodNetworksArgsDict']] + """ + Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + """ +elif False: + ClusterRemoteNetworkConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterRemoteNetworkConfigArgs: + def __init__(__self__, *, + remote_node_networks: pulumi.Input['ClusterRemoteNetworkConfigRemoteNodeNetworksArgs'], + remote_pod_networks: Optional[pulumi.Input['ClusterRemoteNetworkConfigRemotePodNetworksArgs']] = None): + """ + :param pulumi.Input['ClusterRemoteNetworkConfigRemoteNodeNetworksArgs'] remote_node_networks: Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + :param pulumi.Input['ClusterRemoteNetworkConfigRemotePodNetworksArgs'] remote_pod_networks: Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + """ + pulumi.set(__self__, "remote_node_networks", remote_node_networks) + if remote_pod_networks is not None: + pulumi.set(__self__, "remote_pod_networks", remote_pod_networks) + + @property + @pulumi.getter(name="remoteNodeNetworks") + def remote_node_networks(self) -> pulumi.Input['ClusterRemoteNetworkConfigRemoteNodeNetworksArgs']: + """ + Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + """ + return pulumi.get(self, "remote_node_networks") + + @remote_node_networks.setter + def remote_node_networks(self, value: pulumi.Input['ClusterRemoteNetworkConfigRemoteNodeNetworksArgs']): + pulumi.set(self, "remote_node_networks", value) + + @property + @pulumi.getter(name="remotePodNetworks") + def remote_pod_networks(self) -> Optional[pulumi.Input['ClusterRemoteNetworkConfigRemotePodNetworksArgs']]: + """ + Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + """ + return pulumi.get(self, "remote_pod_networks") + + @remote_pod_networks.setter + def remote_pod_networks(self, value: Optional[pulumi.Input['ClusterRemoteNetworkConfigRemotePodNetworksArgs']]): + pulumi.set(self, "remote_pod_networks", value) + + +if not MYPY: + class ClusterRemoteNetworkConfigRemoteNodeNetworksArgsDict(TypedDict): + cidrs: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + List of network CIDRs that can contain hybrid nodes. + """ +elif False: + ClusterRemoteNetworkConfigRemoteNodeNetworksArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterRemoteNetworkConfigRemoteNodeNetworksArgs: + def __init__(__self__, *, + cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] cidrs: List of network CIDRs that can contain hybrid nodes. + """ + if cidrs is not None: + pulumi.set(__self__, "cidrs", cidrs) + + @property + @pulumi.getter + def cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of network CIDRs that can contain hybrid nodes. + """ + return pulumi.get(self, "cidrs") + + @cidrs.setter + def cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "cidrs", value) + + +if not MYPY: + class ClusterRemoteNetworkConfigRemotePodNetworksArgsDict(TypedDict): + cidrs: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ +elif False: + ClusterRemoteNetworkConfigRemotePodNetworksArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterRemoteNetworkConfigRemotePodNetworksArgs: + def __init__(__self__, *, + cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] cidrs: List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + if cidrs is not None: + pulumi.set(__self__, "cidrs", cidrs) + + @property + @pulumi.getter + def cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + return pulumi.get(self, "cidrs") + + @cidrs.setter + def cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "cidrs", value) + + +if not MYPY: + class ClusterStorageConfigArgsDict(TypedDict): + block_storage: NotRequired[pulumi.Input['ClusterStorageConfigBlockStorageArgsDict']] +elif False: + ClusterStorageConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterStorageConfigArgs: + def __init__(__self__, *, + block_storage: Optional[pulumi.Input['ClusterStorageConfigBlockStorageArgs']] = None): + if block_storage is not None: + pulumi.set(__self__, "block_storage", block_storage) + + @property + @pulumi.getter(name="blockStorage") + def block_storage(self) -> Optional[pulumi.Input['ClusterStorageConfigBlockStorageArgs']]: + return pulumi.get(self, "block_storage") + + @block_storage.setter + def block_storage(self, value: Optional[pulumi.Input['ClusterStorageConfigBlockStorageArgs']]): + pulumi.set(self, "block_storage", value) + + +if not MYPY: + class ClusterStorageConfigBlockStorageArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] +elif False: + ClusterStorageConfigBlockStorageArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterStorageConfigBlockStorageArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + if not MYPY: class ClusterUpgradePolicyArgsDict(TypedDict): support_type: NotRequired[pulumi.Input[str]] diff --git a/sdk/python/pulumi_aws/eks/cluster.py b/sdk/python/pulumi_aws/eks/cluster.py index 49be3e65c14..060beb61f4b 100644 --- a/sdk/python/pulumi_aws/eks/cluster.py +++ b/sdk/python/pulumi_aws/eks/cluster.py @@ -25,12 +25,15 @@ def __init__(__self__, *, vpc_config: pulumi.Input['ClusterVpcConfigArgs'], access_config: Optional[pulumi.Input['ClusterAccessConfigArgs']] = None, bootstrap_self_managed_addons: Optional[pulumi.Input[bool]] = None, + compute_config: Optional[pulumi.Input['ClusterComputeConfigArgs']] = None, default_addons_to_removes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enabled_cluster_log_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, encryption_config: Optional[pulumi.Input['ClusterEncryptionConfigArgs']] = None, kubernetes_network_config: Optional[pulumi.Input['ClusterKubernetesNetworkConfigArgs']] = None, name: Optional[pulumi.Input[str]] = None, outpost_config: Optional[pulumi.Input['ClusterOutpostConfigArgs']] = None, + remote_network_config: Optional[pulumi.Input['ClusterRemoteNetworkConfigArgs']] = None, + storage_config: Optional[pulumi.Input['ClusterStorageConfigArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, upgrade_policy: Optional[pulumi.Input['ClusterUpgradePolicyArgs']] = None, version: Optional[pulumi.Input[str]] = None, @@ -43,11 +46,14 @@ def __init__(__self__, *, The following arguments are optional: :param pulumi.Input['ClusterAccessConfigArgs'] access_config: Configuration block for the access config associated with your cluster, see [Amazon EKS Access Entries](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html). :param pulumi.Input[bool] bootstrap_self_managed_addons: Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`. + :param pulumi.Input['ClusterComputeConfigArgs'] compute_config: Configuration block with compute configuration for EKS Auto Mode. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_cluster_log_types: List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html). :param pulumi.Input['ClusterEncryptionConfigArgs'] encryption_config: Configuration block with encryption configuration for the cluster. Detailed below. :param pulumi.Input['ClusterKubernetesNetworkConfigArgs'] kubernetes_network_config: Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided. :param pulumi.Input[str] name: Name of the cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (`^[0-9A-Za-z][A-Za-z0-9\\-_]*$`). :param pulumi.Input['ClusterOutpostConfigArgs'] outpost_config: Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud. + :param pulumi.Input['ClusterRemoteNetworkConfigArgs'] remote_network_config: Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + :param pulumi.Input['ClusterStorageConfigArgs'] storage_config: Configuration block with storage configuration for EKS Auto Mode. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input['ClusterUpgradePolicyArgs'] upgrade_policy: Configuration block for the support policy to use for the cluster. See upgrade_policy for details. :param pulumi.Input[str] version: Desired Kubernetes master version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except those automatically triggered by EKS. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by EKS. @@ -59,6 +65,8 @@ def __init__(__self__, *, pulumi.set(__self__, "access_config", access_config) if bootstrap_self_managed_addons is not None: pulumi.set(__self__, "bootstrap_self_managed_addons", bootstrap_self_managed_addons) + if compute_config is not None: + pulumi.set(__self__, "compute_config", compute_config) if default_addons_to_removes is not None: pulumi.set(__self__, "default_addons_to_removes", default_addons_to_removes) if enabled_cluster_log_types is not None: @@ -71,6 +79,10 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if outpost_config is not None: pulumi.set(__self__, "outpost_config", outpost_config) + if remote_network_config is not None: + pulumi.set(__self__, "remote_network_config", remote_network_config) + if storage_config is not None: + pulumi.set(__self__, "storage_config", storage_config) if tags is not None: pulumi.set(__self__, "tags", tags) if upgrade_policy is not None: @@ -130,6 +142,18 @@ def bootstrap_self_managed_addons(self) -> Optional[pulumi.Input[bool]]: def bootstrap_self_managed_addons(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "bootstrap_self_managed_addons", value) + @property + @pulumi.getter(name="computeConfig") + def compute_config(self) -> Optional[pulumi.Input['ClusterComputeConfigArgs']]: + """ + Configuration block with compute configuration for EKS Auto Mode. Detailed below. + """ + return pulumi.get(self, "compute_config") + + @compute_config.setter + def compute_config(self, value: Optional[pulumi.Input['ClusterComputeConfigArgs']]): + pulumi.set(self, "compute_config", value) + @property @pulumi.getter(name="defaultAddonsToRemoves") def default_addons_to_removes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -199,6 +223,30 @@ def outpost_config(self) -> Optional[pulumi.Input['ClusterOutpostConfigArgs']]: def outpost_config(self, value: Optional[pulumi.Input['ClusterOutpostConfigArgs']]): pulumi.set(self, "outpost_config", value) + @property + @pulumi.getter(name="remoteNetworkConfig") + def remote_network_config(self) -> Optional[pulumi.Input['ClusterRemoteNetworkConfigArgs']]: + """ + Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + """ + return pulumi.get(self, "remote_network_config") + + @remote_network_config.setter + def remote_network_config(self, value: Optional[pulumi.Input['ClusterRemoteNetworkConfigArgs']]): + pulumi.set(self, "remote_network_config", value) + + @property + @pulumi.getter(name="storageConfig") + def storage_config(self) -> Optional[pulumi.Input['ClusterStorageConfigArgs']]: + """ + Configuration block with storage configuration for EKS Auto Mode. Detailed below. + """ + return pulumi.get(self, "storage_config") + + @storage_config.setter + def storage_config(self, value: Optional[pulumi.Input['ClusterStorageConfigArgs']]): + pulumi.set(self, "storage_config", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -257,6 +305,7 @@ def __init__(__self__, *, certificate_authorities: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCertificateAuthorityArgs']]]] = None, certificate_authority: Optional[pulumi.Input['ClusterCertificateAuthorityArgs']] = None, cluster_id: Optional[pulumi.Input[str]] = None, + compute_config: Optional[pulumi.Input['ClusterComputeConfigArgs']] = None, created_at: Optional[pulumi.Input[str]] = None, default_addons_to_removes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enabled_cluster_log_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -267,8 +316,10 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, outpost_config: Optional[pulumi.Input['ClusterOutpostConfigArgs']] = None, platform_version: Optional[pulumi.Input[str]] = None, + remote_network_config: Optional[pulumi.Input['ClusterRemoteNetworkConfigArgs']] = None, role_arn: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, + storage_config: Optional[pulumi.Input['ClusterStorageConfigArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, upgrade_policy: Optional[pulumi.Input['ClusterUpgradePolicyArgs']] = None, @@ -282,6 +333,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] bootstrap_self_managed_addons: Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`. :param pulumi.Input['ClusterCertificateAuthorityArgs'] certificate_authority: Attribute block containing `certificate-authority-data` for your cluster. Detailed below. :param pulumi.Input[str] cluster_id: The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. + :param pulumi.Input['ClusterComputeConfigArgs'] compute_config: Configuration block with compute configuration for EKS Auto Mode. Detailed below. :param pulumi.Input[str] created_at: Unix epoch timestamp in seconds for when the cluster was created. :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_cluster_log_types: List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html). :param pulumi.Input['ClusterEncryptionConfigArgs'] encryption_config: Configuration block with encryption configuration for the cluster. Detailed below. @@ -291,8 +343,10 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Name of the cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (`^[0-9A-Za-z][A-Za-z0-9\\-_]*$`). :param pulumi.Input['ClusterOutpostConfigArgs'] outpost_config: Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud. :param pulumi.Input[str] platform_version: Platform version for the cluster. + :param pulumi.Input['ClusterRemoteNetworkConfigArgs'] remote_network_config: Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. :param pulumi.Input[str] role_arn: ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. :param pulumi.Input[str] status: Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. + :param pulumi.Input['ClusterStorageConfigArgs'] storage_config: Configuration block with storage configuration for EKS Auto Mode. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input['ClusterUpgradePolicyArgs'] upgrade_policy: Configuration block for the support policy to use for the cluster. See upgrade_policy for details. @@ -314,6 +368,8 @@ def __init__(__self__, *, pulumi.set(__self__, "certificate_authority", certificate_authority) if cluster_id is not None: pulumi.set(__self__, "cluster_id", cluster_id) + if compute_config is not None: + pulumi.set(__self__, "compute_config", compute_config) if created_at is not None: pulumi.set(__self__, "created_at", created_at) if default_addons_to_removes is not None: @@ -334,10 +390,14 @@ def __init__(__self__, *, pulumi.set(__self__, "outpost_config", outpost_config) if platform_version is not None: pulumi.set(__self__, "platform_version", platform_version) + if remote_network_config is not None: + pulumi.set(__self__, "remote_network_config", remote_network_config) if role_arn is not None: pulumi.set(__self__, "role_arn", role_arn) if status is not None: pulumi.set(__self__, "status", status) + if storage_config is not None: + pulumi.set(__self__, "storage_config", storage_config) if tags is not None: pulumi.set(__self__, "tags", tags) if tags_all is not None: @@ -423,6 +483,18 @@ def cluster_id(self) -> Optional[pulumi.Input[str]]: def cluster_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "cluster_id", value) + @property + @pulumi.getter(name="computeConfig") + def compute_config(self) -> Optional[pulumi.Input['ClusterComputeConfigArgs']]: + """ + Configuration block with compute configuration for EKS Auto Mode. Detailed below. + """ + return pulumi.get(self, "compute_config") + + @compute_config.setter + def compute_config(self, value: Optional[pulumi.Input['ClusterComputeConfigArgs']]): + pulumi.set(self, "compute_config", value) + @property @pulumi.getter(name="createdAt") def created_at(self) -> Optional[pulumi.Input[str]]: @@ -540,6 +612,18 @@ def platform_version(self) -> Optional[pulumi.Input[str]]: def platform_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "platform_version", value) + @property + @pulumi.getter(name="remoteNetworkConfig") + def remote_network_config(self) -> Optional[pulumi.Input['ClusterRemoteNetworkConfigArgs']]: + """ + Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + """ + return pulumi.get(self, "remote_network_config") + + @remote_network_config.setter + def remote_network_config(self, value: Optional[pulumi.Input['ClusterRemoteNetworkConfigArgs']]): + pulumi.set(self, "remote_network_config", value) + @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[pulumi.Input[str]]: @@ -564,6 +648,18 @@ def status(self) -> Optional[pulumi.Input[str]]: def status(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "status", value) + @property + @pulumi.getter(name="storageConfig") + def storage_config(self) -> Optional[pulumi.Input['ClusterStorageConfigArgs']]: + """ + Configuration block with storage configuration for EKS Auto Mode. Detailed below. + """ + return pulumi.get(self, "storage_config") + + @storage_config.setter + def storage_config(self, value: Optional[pulumi.Input['ClusterStorageConfigArgs']]): + pulumi.set(self, "storage_config", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -647,13 +743,16 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, access_config: Optional[pulumi.Input[Union['ClusterAccessConfigArgs', 'ClusterAccessConfigArgsDict']]] = None, bootstrap_self_managed_addons: Optional[pulumi.Input[bool]] = None, + compute_config: Optional[pulumi.Input[Union['ClusterComputeConfigArgs', 'ClusterComputeConfigArgsDict']]] = None, default_addons_to_removes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enabled_cluster_log_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, encryption_config: Optional[pulumi.Input[Union['ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict']]] = None, kubernetes_network_config: Optional[pulumi.Input[Union['ClusterKubernetesNetworkConfigArgs', 'ClusterKubernetesNetworkConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, outpost_config: Optional[pulumi.Input[Union['ClusterOutpostConfigArgs', 'ClusterOutpostConfigArgsDict']]] = None, + remote_network_config: Optional[pulumi.Input[Union['ClusterRemoteNetworkConfigArgs', 'ClusterRemoteNetworkConfigArgsDict']]] = None, role_arn: Optional[pulumi.Input[str]] = None, + storage_config: Optional[pulumi.Input[Union['ClusterStorageConfigArgs', 'ClusterStorageConfigArgsDict']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, upgrade_policy: Optional[pulumi.Input[Union['ClusterUpgradePolicyArgs', 'ClusterUpgradePolicyArgsDict']]] = None, version: Optional[pulumi.Input[str]] = None, @@ -665,166 +764,199 @@ def __init__(__self__, ## Example Usage - ### Basic Usage + ### EKS Cluster ```python import pulumi + import json import pulumi_aws as aws + cluster = aws.iam.Role("cluster", + name="eks-cluster-example", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": [ + "sts:AssumeRole", + "sts:TagSession", + ], + "Effect": "Allow", + "Principal": { + "Service": "eks.amazonaws.com", + }, + }], + })) + cluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSClusterPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", + role=cluster.name) example = aws.eks.Cluster("example", name="example", + access_config={ + "authentication_mode": "API", + }, role_arn=example_aws_iam_role["arn"], + version="1.31", vpc_config={ "subnet_ids": [ - example1["id"], - example2["id"], + az1["id"], + az2["id"], + az3["id"], ], }, - opts = pulumi.ResourceOptions(depends_on=[ - example__amazon_eks_cluster_policy, - example__amazon_eksvpc_resource_controller, - ])) - pulumi.export("endpoint", example.endpoint) - pulumi.export("kubeconfig-certificate-authority-data", example.certificate_authority.data) + opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_cluster_policy])) ``` - ### Example IAM Role for EKS Cluster + ### EKS Cluster with EKS Auto Mode + + > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`. ```python import pulumi + import json import pulumi_aws as aws - assume_role = aws.iam.get_policy_document(statements=[{ - "effect": "Allow", - "principals": [{ - "type": "Service", - "identifiers": ["eks.amazonaws.com"], - }], - "actions": ["sts:AssumeRole"], - }]) - example = aws.iam.Role("example", + node = aws.iam.Role("node", + name="eks-auto-node-example", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": ["sts:AssumeRole"], + "Effect": "Allow", + "Principal": { + "Service": "ec2.amazonaws.com", + }, + }], + })) + cluster = aws.iam.Role("cluster", name="eks-cluster-example", - assume_role_policy=assume_role.json) - example__amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": [ + "sts:AssumeRole", + "sts:TagSession", + ], + "Effect": "Allow", + "Principal": { + "Service": "eks.amazonaws.com", + }, + }], + })) + cluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSClusterPolicy", policy_arn="arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", - role=example.name) - # Optionally, enable Security Groups for Pods - # Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html - example__amazon_eksvpc_resource_controller = aws.iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", - policy_arn="arn:aws:iam::aws:policy/AmazonEKSVPCResourceController", - role=example.name) - ``` - - ### Enabling Control Plane Logging - - [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `cloudwatch.LogGroup` resource can be used. - - > The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment. - - ```python - import pulumi - import pulumi_aws as aws - - config = pulumi.Config() - cluster_name = config.get("clusterName") - if cluster_name is None: - cluster_name = "example" - example_log_group = aws.cloudwatch.LogGroup("example", - name=f"/aws/eks/{cluster_name}/cluster", - retention_in_days=7) + role=cluster.name) + cluster_amazon_eks_compute_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSComputePolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSComputePolicy", + role=cluster.name) + cluster_amazon_eks_block_storage_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSBlockStoragePolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy", + role=cluster.name) + cluster_amazon_eks_load_balancing_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSLoadBalancingPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy", + role=cluster.name) + cluster_amazon_eks_networking_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSNetworkingPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy", + role=cluster.name) example = aws.eks.Cluster("example", - enabled_cluster_log_types=[ - "api", - "audit", - ], - name=cluster_name, - opts = pulumi.ResourceOptions(depends_on=[example_log_group])) - ``` - - ### Enabling IAM Roles for Service Accounts - - For more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). - - ```python - import pulumi - import pulumi_aws as aws - import pulumi_std as std - import pulumi_tls as tls - - example_cluster = aws.eks.Cluster("example") - example = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer)) - example_open_id_connect_provider = aws.iam.OpenIdConnectProvider("example", - client_id_lists=["sts.amazonaws.com"], - thumbprint_lists=[example.certificates[0].sha1_fingerprint], - url=example.url) - example_assume_role_policy = aws.iam.get_policy_document_output(statements=[{ - "actions": ["sts:AssumeRoleWithWebIdentity"], - "effect": "Allow", - "conditions": [{ - "test": "StringEquals", - "variable": std.replace_output(text=example_open_id_connect_provider.url, - search="https://", - replace="").apply(lambda invoke: f"{invoke.result}:sub"), - "values": ["system:serviceaccount:kube-system:aws-node"], - }], - "principals": [{ - "identifiers": [example_open_id_connect_provider.arn], - "type": "Federated", - }], - }]) - example_role = aws.iam.Role("example", - assume_role_policy=example_assume_role_policy.json, - name="example") + name="example", + access_config={ + "authentication_mode": "API", + }, + role_arn=cluster.arn, + version="1.31", + compute_config={ + "enabled": True, + "node_pools": ["general-purpose"], + "node_role_arn": node.arn, + }, + kubernetes_network_config={ + "elastic_load_balancing": { + "enabled": True, + }, + }, + storage_config={ + "block_storage": { + "enabled": True, + }, + }, + vpc_config={ + "endpoint_private_access": True, + "endpoint_public_access": True, + "subnet_ids": [ + az1["id"], + az2["id"], + az3["id"], + ], + }, + opts = pulumi.ResourceOptions(depends_on=[ + cluster_amazon_eks_cluster_policy, + cluster_amazon_eks_compute_policy, + cluster_amazon_eks_block_storage_policy, + cluster_amazon_eks_load_balancing_policy, + cluster_amazon_eks_networking_policy, + ])) + node_amazon_eks_worker_node_minimal_policy = aws.iam.RolePolicyAttachment("node_AmazonEKSWorkerNodeMinimalPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy", + role=node.name) + node_amazon_ec2_container_registry_pull_only = aws.iam.RolePolicyAttachment("node_AmazonEC2ContainerRegistryPullOnly", + policy_arn="arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly", + role=node.name) ``` - ### EKS Cluster on AWS Outpost + ### Local EKS Cluster on AWS Outpost [Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) ```python import pulumi + import json import pulumi_aws as aws - example = aws.iam.Role("example", - assume_role_policy=example_assume_role_policy["json"], - name="example") + example = aws.outposts.get_outpost(name="example") + cluster = aws.iam.Role("cluster", + name="eks-cluster-example", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": [ + "sts:AssumeRole", + "sts:TagSession", + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "eks.amazonaws.com", + "ec2.amazonaws.com", + ], + }, + }], + })) + cluster_amazon_eks_local_outpost_cluster_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSLocalOutpostClusterPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy", + role=cluster.name) example_cluster = aws.eks.Cluster("example", - name="example-cluster", - role_arn=example.arn, + name="example", + access_config={ + "authentication_mode": "CONFIG_MAP", + }, + role_arn=example_aws_iam_role["arn"], + version="1.31", vpc_config={ "endpoint_private_access": True, "endpoint_public_access": False, + "subnet_ids": [ + az1["id"], + az2["id"], + az3["id"], + ], }, outpost_config={ - "control_plane_instance_type": "m5d.large", - "outpost_arns": [example_aws_outposts_outpost["arn"]], - }) - ``` - - ### EKS Cluster with Access Config - - ```python - import pulumi - import pulumi_aws as aws - - example = aws.iam.Role("example", - assume_role_policy=example_assume_role_policy["json"], - name="example") - example_cluster = aws.eks.Cluster("example", - name="example-cluster", - role_arn=example.arn, - vpc_config={ - "endpoint_private_access": True, - "endpoint_public_access": False, + "control_plane_instance_type": "m5.large", + "outpost_arns": [example.arn], }, - access_config={ - "authentication_mode": "CONFIG_MAP", - "bootstrap_cluster_creator_admin_permissions": True, - }) + opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_local_outpost_cluster_policy])) ``` - After adding inline IAM Policies (e.g., `iam.RolePolicy` resource) or attaching IAM Policies (e.g., `iam.Policy` resource and `iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetes_service_account` resource) and recreate any pods. - ## Import Using `pulumi import`, import EKS Clusters using the `name`. For example: @@ -837,12 +969,15 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union['ClusterAccessConfigArgs', 'ClusterAccessConfigArgsDict']] access_config: Configuration block for the access config associated with your cluster, see [Amazon EKS Access Entries](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html). :param pulumi.Input[bool] bootstrap_self_managed_addons: Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`. + :param pulumi.Input[Union['ClusterComputeConfigArgs', 'ClusterComputeConfigArgsDict']] compute_config: Configuration block with compute configuration for EKS Auto Mode. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_cluster_log_types: List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html). :param pulumi.Input[Union['ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict']] encryption_config: Configuration block with encryption configuration for the cluster. Detailed below. :param pulumi.Input[Union['ClusterKubernetesNetworkConfigArgs', 'ClusterKubernetesNetworkConfigArgsDict']] kubernetes_network_config: Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided. :param pulumi.Input[str] name: Name of the cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (`^[0-9A-Za-z][A-Za-z0-9\\-_]*$`). :param pulumi.Input[Union['ClusterOutpostConfigArgs', 'ClusterOutpostConfigArgsDict']] outpost_config: Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud. + :param pulumi.Input[Union['ClusterRemoteNetworkConfigArgs', 'ClusterRemoteNetworkConfigArgsDict']] remote_network_config: Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. :param pulumi.Input[str] role_arn: ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. + :param pulumi.Input[Union['ClusterStorageConfigArgs', 'ClusterStorageConfigArgsDict']] storage_config: Configuration block with storage configuration for EKS Auto Mode. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Union['ClusterUpgradePolicyArgs', 'ClusterUpgradePolicyArgsDict']] upgrade_policy: Configuration block for the support policy to use for the cluster. See upgrade_policy for details. :param pulumi.Input[str] version: Desired Kubernetes master version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except those automatically triggered by EKS. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by EKS. @@ -862,166 +997,199 @@ def __init__(__self__, ## Example Usage - ### Basic Usage + ### EKS Cluster ```python import pulumi + import json import pulumi_aws as aws + cluster = aws.iam.Role("cluster", + name="eks-cluster-example", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": [ + "sts:AssumeRole", + "sts:TagSession", + ], + "Effect": "Allow", + "Principal": { + "Service": "eks.amazonaws.com", + }, + }], + })) + cluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSClusterPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", + role=cluster.name) example = aws.eks.Cluster("example", name="example", + access_config={ + "authentication_mode": "API", + }, role_arn=example_aws_iam_role["arn"], + version="1.31", vpc_config={ "subnet_ids": [ - example1["id"], - example2["id"], + az1["id"], + az2["id"], + az3["id"], ], }, - opts = pulumi.ResourceOptions(depends_on=[ - example__amazon_eks_cluster_policy, - example__amazon_eksvpc_resource_controller, - ])) - pulumi.export("endpoint", example.endpoint) - pulumi.export("kubeconfig-certificate-authority-data", example.certificate_authority.data) + opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_cluster_policy])) ``` - ### Example IAM Role for EKS Cluster + ### EKS Cluster with EKS Auto Mode + + > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`. ```python import pulumi + import json import pulumi_aws as aws - assume_role = aws.iam.get_policy_document(statements=[{ - "effect": "Allow", - "principals": [{ - "type": "Service", - "identifiers": ["eks.amazonaws.com"], - }], - "actions": ["sts:AssumeRole"], - }]) - example = aws.iam.Role("example", + node = aws.iam.Role("node", + name="eks-auto-node-example", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": ["sts:AssumeRole"], + "Effect": "Allow", + "Principal": { + "Service": "ec2.amazonaws.com", + }, + }], + })) + cluster = aws.iam.Role("cluster", name="eks-cluster-example", - assume_role_policy=assume_role.json) - example__amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": [ + "sts:AssumeRole", + "sts:TagSession", + ], + "Effect": "Allow", + "Principal": { + "Service": "eks.amazonaws.com", + }, + }], + })) + cluster_amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSClusterPolicy", policy_arn="arn:aws:iam::aws:policy/AmazonEKSClusterPolicy", - role=example.name) - # Optionally, enable Security Groups for Pods - # Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html - example__amazon_eksvpc_resource_controller = aws.iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", - policy_arn="arn:aws:iam::aws:policy/AmazonEKSVPCResourceController", - role=example.name) - ``` - - ### Enabling Control Plane Logging - - [EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) can be enabled via the `enabled_cluster_log_types` argument. To manage the CloudWatch Log Group retention period, the `cloudwatch.LogGroup` resource can be used. - - > The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment. - - ```python - import pulumi - import pulumi_aws as aws - - config = pulumi.Config() - cluster_name = config.get("clusterName") - if cluster_name is None: - cluster_name = "example" - example_log_group = aws.cloudwatch.LogGroup("example", - name=f"/aws/eks/{cluster_name}/cluster", - retention_in_days=7) + role=cluster.name) + cluster_amazon_eks_compute_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSComputePolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSComputePolicy", + role=cluster.name) + cluster_amazon_eks_block_storage_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSBlockStoragePolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy", + role=cluster.name) + cluster_amazon_eks_load_balancing_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSLoadBalancingPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy", + role=cluster.name) + cluster_amazon_eks_networking_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSNetworkingPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy", + role=cluster.name) example = aws.eks.Cluster("example", - enabled_cluster_log_types=[ - "api", - "audit", - ], - name=cluster_name, - opts = pulumi.ResourceOptions(depends_on=[example_log_group])) - ``` - - ### Enabling IAM Roles for Service Accounts - - For more information about this feature, see the [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). - - ```python - import pulumi - import pulumi_aws as aws - import pulumi_std as std - import pulumi_tls as tls - - example_cluster = aws.eks.Cluster("example") - example = example_cluster.identities.apply(lambda identities: tls.get_certificate_output(url=identities[0].oidcs[0].issuer)) - example_open_id_connect_provider = aws.iam.OpenIdConnectProvider("example", - client_id_lists=["sts.amazonaws.com"], - thumbprint_lists=[example.certificates[0].sha1_fingerprint], - url=example.url) - example_assume_role_policy = aws.iam.get_policy_document_output(statements=[{ - "actions": ["sts:AssumeRoleWithWebIdentity"], - "effect": "Allow", - "conditions": [{ - "test": "StringEquals", - "variable": std.replace_output(text=example_open_id_connect_provider.url, - search="https://", - replace="").apply(lambda invoke: f"{invoke.result}:sub"), - "values": ["system:serviceaccount:kube-system:aws-node"], - }], - "principals": [{ - "identifiers": [example_open_id_connect_provider.arn], - "type": "Federated", - }], - }]) - example_role = aws.iam.Role("example", - assume_role_policy=example_assume_role_policy.json, - name="example") + name="example", + access_config={ + "authentication_mode": "API", + }, + role_arn=cluster.arn, + version="1.31", + compute_config={ + "enabled": True, + "node_pools": ["general-purpose"], + "node_role_arn": node.arn, + }, + kubernetes_network_config={ + "elastic_load_balancing": { + "enabled": True, + }, + }, + storage_config={ + "block_storage": { + "enabled": True, + }, + }, + vpc_config={ + "endpoint_private_access": True, + "endpoint_public_access": True, + "subnet_ids": [ + az1["id"], + az2["id"], + az3["id"], + ], + }, + opts = pulumi.ResourceOptions(depends_on=[ + cluster_amazon_eks_cluster_policy, + cluster_amazon_eks_compute_policy, + cluster_amazon_eks_block_storage_policy, + cluster_amazon_eks_load_balancing_policy, + cluster_amazon_eks_networking_policy, + ])) + node_amazon_eks_worker_node_minimal_policy = aws.iam.RolePolicyAttachment("node_AmazonEKSWorkerNodeMinimalPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy", + role=node.name) + node_amazon_ec2_container_registry_pull_only = aws.iam.RolePolicyAttachment("node_AmazonEC2ContainerRegistryPullOnly", + policy_arn="arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly", + role=node.name) ``` - ### EKS Cluster on AWS Outpost + ### Local EKS Cluster on AWS Outpost [Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) ```python import pulumi + import json import pulumi_aws as aws - example = aws.iam.Role("example", - assume_role_policy=example_assume_role_policy["json"], - name="example") + example = aws.outposts.get_outpost(name="example") + cluster = aws.iam.Role("cluster", + name="eks-cluster-example", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": [ + "sts:AssumeRole", + "sts:TagSession", + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "eks.amazonaws.com", + "ec2.amazonaws.com", + ], + }, + }], + })) + cluster_amazon_eks_local_outpost_cluster_policy = aws.iam.RolePolicyAttachment("cluster_AmazonEKSLocalOutpostClusterPolicy", + policy_arn="arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy", + role=cluster.name) example_cluster = aws.eks.Cluster("example", - name="example-cluster", - role_arn=example.arn, + name="example", + access_config={ + "authentication_mode": "CONFIG_MAP", + }, + role_arn=example_aws_iam_role["arn"], + version="1.31", vpc_config={ "endpoint_private_access": True, "endpoint_public_access": False, + "subnet_ids": [ + az1["id"], + az2["id"], + az3["id"], + ], }, outpost_config={ - "control_plane_instance_type": "m5d.large", - "outpost_arns": [example_aws_outposts_outpost["arn"]], - }) - ``` - - ### EKS Cluster with Access Config - - ```python - import pulumi - import pulumi_aws as aws - - example = aws.iam.Role("example", - assume_role_policy=example_assume_role_policy["json"], - name="example") - example_cluster = aws.eks.Cluster("example", - name="example-cluster", - role_arn=example.arn, - vpc_config={ - "endpoint_private_access": True, - "endpoint_public_access": False, + "control_plane_instance_type": "m5.large", + "outpost_arns": [example.arn], }, - access_config={ - "authentication_mode": "CONFIG_MAP", - "bootstrap_cluster_creator_admin_permissions": True, - }) + opts = pulumi.ResourceOptions(depends_on=[cluster_amazon_eks_local_outpost_cluster_policy])) ``` - After adding inline IAM Policies (e.g., `iam.RolePolicy` resource) or attaching IAM Policies (e.g., `iam.Policy` resource and `iam.RolePolicyAttachment` resource) with the desired permissions to the IAM Role, annotate the Kubernetes service account (e.g., `kubernetes_service_account` resource) and recreate any pods. - ## Import Using `pulumi import`, import EKS Clusters using the `name`. For example: @@ -1047,13 +1215,16 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, access_config: Optional[pulumi.Input[Union['ClusterAccessConfigArgs', 'ClusterAccessConfigArgsDict']]] = None, bootstrap_self_managed_addons: Optional[pulumi.Input[bool]] = None, + compute_config: Optional[pulumi.Input[Union['ClusterComputeConfigArgs', 'ClusterComputeConfigArgsDict']]] = None, default_addons_to_removes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enabled_cluster_log_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, encryption_config: Optional[pulumi.Input[Union['ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict']]] = None, kubernetes_network_config: Optional[pulumi.Input[Union['ClusterKubernetesNetworkConfigArgs', 'ClusterKubernetesNetworkConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, outpost_config: Optional[pulumi.Input[Union['ClusterOutpostConfigArgs', 'ClusterOutpostConfigArgsDict']]] = None, + remote_network_config: Optional[pulumi.Input[Union['ClusterRemoteNetworkConfigArgs', 'ClusterRemoteNetworkConfigArgsDict']]] = None, role_arn: Optional[pulumi.Input[str]] = None, + storage_config: Optional[pulumi.Input[Union['ClusterStorageConfigArgs', 'ClusterStorageConfigArgsDict']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, upgrade_policy: Optional[pulumi.Input[Union['ClusterUpgradePolicyArgs', 'ClusterUpgradePolicyArgsDict']]] = None, version: Optional[pulumi.Input[str]] = None, @@ -1070,15 +1241,18 @@ def _internal_init(__self__, __props__.__dict__["access_config"] = access_config __props__.__dict__["bootstrap_self_managed_addons"] = bootstrap_self_managed_addons + __props__.__dict__["compute_config"] = compute_config __props__.__dict__["default_addons_to_removes"] = default_addons_to_removes __props__.__dict__["enabled_cluster_log_types"] = enabled_cluster_log_types __props__.__dict__["encryption_config"] = encryption_config __props__.__dict__["kubernetes_network_config"] = kubernetes_network_config __props__.__dict__["name"] = name __props__.__dict__["outpost_config"] = outpost_config + __props__.__dict__["remote_network_config"] = remote_network_config if role_arn is None and not opts.urn: raise TypeError("Missing required property 'role_arn'") __props__.__dict__["role_arn"] = role_arn + __props__.__dict__["storage_config"] = storage_config __props__.__dict__["tags"] = tags __props__.__dict__["upgrade_policy"] = upgrade_policy __props__.__dict__["version"] = version @@ -1112,6 +1286,7 @@ def get(resource_name: str, certificate_authorities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterCertificateAuthorityArgs', 'ClusterCertificateAuthorityArgsDict']]]]] = None, certificate_authority: Optional[pulumi.Input[Union['ClusterCertificateAuthorityArgs', 'ClusterCertificateAuthorityArgsDict']]] = None, cluster_id: Optional[pulumi.Input[str]] = None, + compute_config: Optional[pulumi.Input[Union['ClusterComputeConfigArgs', 'ClusterComputeConfigArgsDict']]] = None, created_at: Optional[pulumi.Input[str]] = None, default_addons_to_removes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enabled_cluster_log_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1122,8 +1297,10 @@ def get(resource_name: str, name: Optional[pulumi.Input[str]] = None, outpost_config: Optional[pulumi.Input[Union['ClusterOutpostConfigArgs', 'ClusterOutpostConfigArgsDict']]] = None, platform_version: Optional[pulumi.Input[str]] = None, + remote_network_config: Optional[pulumi.Input[Union['ClusterRemoteNetworkConfigArgs', 'ClusterRemoteNetworkConfigArgsDict']]] = None, role_arn: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, + storage_config: Optional[pulumi.Input[Union['ClusterStorageConfigArgs', 'ClusterStorageConfigArgsDict']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, upgrade_policy: Optional[pulumi.Input[Union['ClusterUpgradePolicyArgs', 'ClusterUpgradePolicyArgsDict']]] = None, @@ -1142,6 +1319,7 @@ def get(resource_name: str, :param pulumi.Input[bool] bootstrap_self_managed_addons: Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`. :param pulumi.Input[Union['ClusterCertificateAuthorityArgs', 'ClusterCertificateAuthorityArgsDict']] certificate_authority: Attribute block containing `certificate-authority-data` for your cluster. Detailed below. :param pulumi.Input[str] cluster_id: The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. + :param pulumi.Input[Union['ClusterComputeConfigArgs', 'ClusterComputeConfigArgsDict']] compute_config: Configuration block with compute configuration for EKS Auto Mode. Detailed below. :param pulumi.Input[str] created_at: Unix epoch timestamp in seconds for when the cluster was created. :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_cluster_log_types: List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html). :param pulumi.Input[Union['ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict']] encryption_config: Configuration block with encryption configuration for the cluster. Detailed below. @@ -1151,8 +1329,10 @@ def get(resource_name: str, :param pulumi.Input[str] name: Name of the cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (`^[0-9A-Za-z][A-Za-z0-9\\-_]*$`). :param pulumi.Input[Union['ClusterOutpostConfigArgs', 'ClusterOutpostConfigArgsDict']] outpost_config: Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud. :param pulumi.Input[str] platform_version: Platform version for the cluster. + :param pulumi.Input[Union['ClusterRemoteNetworkConfigArgs', 'ClusterRemoteNetworkConfigArgsDict']] remote_network_config: Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. :param pulumi.Input[str] role_arn: ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `depends_on` if using the `iam.RolePolicy` resource or `iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion. :param pulumi.Input[str] status: Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`. + :param pulumi.Input[Union['ClusterStorageConfigArgs', 'ClusterStorageConfigArgsDict']] storage_config: Configuration block with storage configuration for EKS Auto Mode. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Union['ClusterUpgradePolicyArgs', 'ClusterUpgradePolicyArgsDict']] upgrade_policy: Configuration block for the support policy to use for the cluster. See upgrade_policy for details. @@ -1172,6 +1352,7 @@ def get(resource_name: str, __props__.__dict__["certificate_authorities"] = certificate_authorities __props__.__dict__["certificate_authority"] = certificate_authority __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["compute_config"] = compute_config __props__.__dict__["created_at"] = created_at __props__.__dict__["default_addons_to_removes"] = default_addons_to_removes __props__.__dict__["enabled_cluster_log_types"] = enabled_cluster_log_types @@ -1182,8 +1363,10 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["outpost_config"] = outpost_config __props__.__dict__["platform_version"] = platform_version + __props__.__dict__["remote_network_config"] = remote_network_config __props__.__dict__["role_arn"] = role_arn __props__.__dict__["status"] = status + __props__.__dict__["storage_config"] = storage_config __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["upgrade_policy"] = upgrade_policy @@ -1237,6 +1420,14 @@ def cluster_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "cluster_id") + @property + @pulumi.getter(name="computeConfig") + def compute_config(self) -> pulumi.Output[Optional['outputs.ClusterComputeConfig']]: + """ + Configuration block with compute configuration for EKS Auto Mode. Detailed below. + """ + return pulumi.get(self, "compute_config") + @property @pulumi.getter(name="createdAt") def created_at(self) -> pulumi.Output[str]: @@ -1314,6 +1505,14 @@ def platform_version(self) -> pulumi.Output[str]: """ return pulumi.get(self, "platform_version") + @property + @pulumi.getter(name="remoteNetworkConfig") + def remote_network_config(self) -> pulumi.Output[Optional['outputs.ClusterRemoteNetworkConfig']]: + """ + Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below. + """ + return pulumi.get(self, "remote_network_config") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> pulumi.Output[str]: @@ -1330,6 +1529,14 @@ def status(self) -> pulumi.Output[str]: """ return pulumi.get(self, "status") + @property + @pulumi.getter(name="storageConfig") + def storage_config(self) -> pulumi.Output[Optional['outputs.ClusterStorageConfig']]: + """ + Configuration block with storage configuration for EKS Auto Mode. Detailed below. + """ + return pulumi.get(self, "storage_config") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: diff --git a/sdk/python/pulumi_aws/eks/get_cluster.py b/sdk/python/pulumi_aws/eks/get_cluster.py index 2163a9b4301..7ccef896c33 100644 --- a/sdk/python/pulumi_aws/eks/get_cluster.py +++ b/sdk/python/pulumi_aws/eks/get_cluster.py @@ -27,7 +27,7 @@ class GetClusterResult: """ A collection of values returned by getCluster. """ - def __init__(__self__, access_configs=None, arn=None, certificate_authorities=None, cluster_id=None, created_at=None, enabled_cluster_log_types=None, endpoint=None, id=None, identities=None, kubernetes_network_configs=None, name=None, outpost_configs=None, platform_version=None, role_arn=None, status=None, tags=None, upgrade_policies=None, version=None, vpc_config=None, zonal_shift_configs=None): + def __init__(__self__, access_configs=None, arn=None, certificate_authorities=None, cluster_id=None, compute_configs=None, created_at=None, enabled_cluster_log_types=None, endpoint=None, id=None, identities=None, kubernetes_network_configs=None, name=None, outpost_configs=None, platform_version=None, remote_network_configs=None, role_arn=None, status=None, storage_configs=None, tags=None, upgrade_policies=None, version=None, vpc_config=None, zonal_shift_configs=None): if access_configs and not isinstance(access_configs, list): raise TypeError("Expected argument 'access_configs' to be a list") pulumi.set(__self__, "access_configs", access_configs) @@ -40,6 +40,9 @@ def __init__(__self__, access_configs=None, arn=None, certificate_authorities=No if cluster_id and not isinstance(cluster_id, str): raise TypeError("Expected argument 'cluster_id' to be a str") pulumi.set(__self__, "cluster_id", cluster_id) + if compute_configs and not isinstance(compute_configs, list): + raise TypeError("Expected argument 'compute_configs' to be a list") + pulumi.set(__self__, "compute_configs", compute_configs) if created_at and not isinstance(created_at, str): raise TypeError("Expected argument 'created_at' to be a str") pulumi.set(__self__, "created_at", created_at) @@ -67,12 +70,18 @@ def __init__(__self__, access_configs=None, arn=None, certificate_authorities=No if platform_version and not isinstance(platform_version, str): raise TypeError("Expected argument 'platform_version' to be a str") pulumi.set(__self__, "platform_version", platform_version) + if remote_network_configs and not isinstance(remote_network_configs, list): + raise TypeError("Expected argument 'remote_network_configs' to be a list") + pulumi.set(__self__, "remote_network_configs", remote_network_configs) if role_arn and not isinstance(role_arn, str): raise TypeError("Expected argument 'role_arn' to be a str") pulumi.set(__self__, "role_arn", role_arn) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) + if storage_configs and not isinstance(storage_configs, list): + raise TypeError("Expected argument 'storage_configs' to be a list") + pulumi.set(__self__, "storage_configs", storage_configs) if tags and not isinstance(tags, dict): raise TypeError("Expected argument 'tags' to be a dict") pulumi.set(__self__, "tags", tags) @@ -121,6 +130,14 @@ def cluster_id(self) -> str: """ return pulumi.get(self, "cluster_id") + @property + @pulumi.getter(name="computeConfigs") + def compute_configs(self) -> Sequence['outputs.GetClusterComputeConfigResult']: + """ + Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster. + """ + return pulumi.get(self, "compute_configs") + @property @pulumi.getter(name="createdAt") def created_at(self) -> str: @@ -190,6 +207,14 @@ def platform_version(self) -> str: """ return pulumi.get(self, "platform_version") + @property + @pulumi.getter(name="remoteNetworkConfigs") + def remote_network_configs(self) -> Sequence['outputs.GetClusterRemoteNetworkConfigResult']: + """ + Contains remote network configuration for EKS Hybrid Nodes. + """ + return pulumi.get(self, "remote_network_configs") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> str: @@ -206,6 +231,14 @@ def status(self) -> str: """ return pulumi.get(self, "status") + @property + @pulumi.getter(name="storageConfigs") + def storage_configs(self) -> Sequence['outputs.GetClusterStorageConfigResult']: + """ + Contains storage configuration for EKS Auto Mode enabled cluster. + """ + return pulumi.get(self, "storage_configs") + @property @pulumi.getter def tags(self) -> Mapping[str, str]: @@ -218,7 +251,7 @@ def tags(self) -> Mapping[str, str]: @pulumi.getter(name="upgradePolicies") def upgrade_policies(self) -> Sequence['outputs.GetClusterUpgradePolicyResult']: """ - (Optional) Configuration block for the support policy to use for the cluster. + Configuration block for the support policy to use for the cluster. """ return pulumi.get(self, "upgrade_policies") @@ -257,6 +290,7 @@ def __await__(self): arn=self.arn, certificate_authorities=self.certificate_authorities, cluster_id=self.cluster_id, + compute_configs=self.compute_configs, created_at=self.created_at, enabled_cluster_log_types=self.enabled_cluster_log_types, endpoint=self.endpoint, @@ -266,8 +300,10 @@ def __await__(self): name=self.name, outpost_configs=self.outpost_configs, platform_version=self.platform_version, + remote_network_configs=self.remote_network_configs, role_arn=self.role_arn, status=self.status, + storage_configs=self.storage_configs, tags=self.tags, upgrade_policies=self.upgrade_policies, version=self.version, @@ -290,7 +326,6 @@ def get_cluster(name: Optional[str] = None, example = aws.eks.get_cluster(name="example") pulumi.export("endpoint", example.endpoint) pulumi.export("kubeconfig-certificate-authority-data", example.certificate_authorities[0].data) - pulumi.export("identity-oidc-issuer", example.identities[0].oidcs[0].issuer) ``` @@ -308,6 +343,7 @@ def get_cluster(name: Optional[str] = None, arn=pulumi.get(__ret__, 'arn'), certificate_authorities=pulumi.get(__ret__, 'certificate_authorities'), cluster_id=pulumi.get(__ret__, 'cluster_id'), + compute_configs=pulumi.get(__ret__, 'compute_configs'), created_at=pulumi.get(__ret__, 'created_at'), enabled_cluster_log_types=pulumi.get(__ret__, 'enabled_cluster_log_types'), endpoint=pulumi.get(__ret__, 'endpoint'), @@ -317,8 +353,10 @@ def get_cluster(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), outpost_configs=pulumi.get(__ret__, 'outpost_configs'), platform_version=pulumi.get(__ret__, 'platform_version'), + remote_network_configs=pulumi.get(__ret__, 'remote_network_configs'), role_arn=pulumi.get(__ret__, 'role_arn'), status=pulumi.get(__ret__, 'status'), + storage_configs=pulumi.get(__ret__, 'storage_configs'), tags=pulumi.get(__ret__, 'tags'), upgrade_policies=pulumi.get(__ret__, 'upgrade_policies'), version=pulumi.get(__ret__, 'version'), @@ -339,7 +377,6 @@ def get_cluster_output(name: Optional[pulumi.Input[str]] = None, example = aws.eks.get_cluster(name="example") pulumi.export("endpoint", example.endpoint) pulumi.export("kubeconfig-certificate-authority-data", example.certificate_authorities[0].data) - pulumi.export("identity-oidc-issuer", example.identities[0].oidcs[0].issuer) ``` @@ -356,6 +393,7 @@ def get_cluster_output(name: Optional[pulumi.Input[str]] = None, arn=pulumi.get(__response__, 'arn'), certificate_authorities=pulumi.get(__response__, 'certificate_authorities'), cluster_id=pulumi.get(__response__, 'cluster_id'), + compute_configs=pulumi.get(__response__, 'compute_configs'), created_at=pulumi.get(__response__, 'created_at'), enabled_cluster_log_types=pulumi.get(__response__, 'enabled_cluster_log_types'), endpoint=pulumi.get(__response__, 'endpoint'), @@ -365,8 +403,10 @@ def get_cluster_output(name: Optional[pulumi.Input[str]] = None, name=pulumi.get(__response__, 'name'), outpost_configs=pulumi.get(__response__, 'outpost_configs'), platform_version=pulumi.get(__response__, 'platform_version'), + remote_network_configs=pulumi.get(__response__, 'remote_network_configs'), role_arn=pulumi.get(__response__, 'role_arn'), status=pulumi.get(__response__, 'status'), + storage_configs=pulumi.get(__response__, 'storage_configs'), tags=pulumi.get(__response__, 'tags'), upgrade_policies=pulumi.get(__response__, 'upgrade_policies'), version=pulumi.get(__response__, 'version'), diff --git a/sdk/python/pulumi_aws/eks/outputs.py b/sdk/python/pulumi_aws/eks/outputs.py index 8e0374f5def..046cf0ef106 100644 --- a/sdk/python/pulumi_aws/eks/outputs.py +++ b/sdk/python/pulumi_aws/eks/outputs.py @@ -20,13 +20,20 @@ 'AddonPodIdentityAssociation', 'ClusterAccessConfig', 'ClusterCertificateAuthority', + 'ClusterComputeConfig', 'ClusterEncryptionConfig', 'ClusterEncryptionConfigProvider', 'ClusterIdentity', 'ClusterIdentityOidc', 'ClusterKubernetesNetworkConfig', + 'ClusterKubernetesNetworkConfigElasticLoadBalancing', 'ClusterOutpostConfig', 'ClusterOutpostConfigControlPlanePlacement', + 'ClusterRemoteNetworkConfig', + 'ClusterRemoteNetworkConfigRemoteNodeNetworks', + 'ClusterRemoteNetworkConfigRemotePodNetworks', + 'ClusterStorageConfig', + 'ClusterStorageConfigBlockStorage', 'ClusterUpgradePolicy', 'ClusterVpcConfig', 'ClusterZonalShiftConfig', @@ -42,11 +49,18 @@ 'GetAddonPodIdentityAssociationResult', 'GetClusterAccessConfigResult', 'GetClusterCertificateAuthorityResult', + 'GetClusterComputeConfigResult', 'GetClusterIdentityResult', 'GetClusterIdentityOidcResult', 'GetClusterKubernetesNetworkConfigResult', + 'GetClusterKubernetesNetworkConfigElasticLoadBalancingResult', 'GetClusterOutpostConfigResult', 'GetClusterOutpostConfigControlPlanePlacementResult', + 'GetClusterRemoteNetworkConfigResult', + 'GetClusterRemoteNetworkConfigRemoteNodeNetworkResult', + 'GetClusterRemoteNetworkConfigRemotePodNetworkResult', + 'GetClusterStorageConfigResult', + 'GetClusterStorageConfigBlockStorageResult', 'GetClusterUpgradePolicyResult', 'GetClusterVpcConfigResult', 'GetClusterZonalShiftConfigResult', @@ -205,6 +219,68 @@ def data(self) -> Optional[str]: return pulumi.get(self, "data") +@pulumi.output_type +class ClusterComputeConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "nodePools": + suggest = "node_pools" + elif key == "nodeRoleArn": + suggest = "node_role_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterComputeConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterComputeConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterComputeConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + node_pools: Optional[Sequence[str]] = None, + node_role_arn: Optional[str] = None): + """ + :param bool enabled: Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + :param Sequence[str] node_pools: Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + :param str node_role_arn: The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if node_pools is not None: + pulumi.set(__self__, "node_pools", node_pools) + if node_role_arn is not None: + pulumi.set(__self__, "node_role_arn", node_role_arn) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="nodePools") + def node_pools(self) -> Optional[Sequence[str]]: + """ + Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. Valid options are `general-purpose` and `system`. + """ + return pulumi.get(self, "node_pools") + + @property + @pulumi.getter(name="nodeRoleArn") + def node_role_arn(self) -> Optional[str]: + """ + The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled.. + """ + return pulumi.get(self, "node_role_arn") + + @pulumi.output_type class ClusterEncryptionConfig(dict): def __init__(__self__, *, @@ -312,7 +388,9 @@ class ClusterKubernetesNetworkConfig(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "ipFamily": + if key == "elasticLoadBalancing": + suggest = "elastic_load_balancing" + elif key == "ipFamily": suggest = "ip_family" elif key == "serviceIpv4Cidr": suggest = "service_ipv4_cidr" @@ -331,10 +409,12 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + elastic_load_balancing: Optional['outputs.ClusterKubernetesNetworkConfigElasticLoadBalancing'] = None, ip_family: Optional[str] = None, service_ipv4_cidr: Optional[str] = None, service_ipv6_cidr: Optional[str] = None): """ + :param 'ClusterKubernetesNetworkConfigElasticLoadBalancingArgs' elastic_load_balancing: Configuration block with elastic load balancing configuration for the cluster. Detailed below. :param str ip_family: The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. :param str service_ipv4_cidr: The CIDR block to assign Kubernetes pod and service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements: @@ -343,8 +423,10 @@ def __init__(__self__, *, * Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC. * Between /24 and /12. - :param str service_ipv6_cidr: The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + :param str service_ipv6_cidr: The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. """ + if elastic_load_balancing is not None: + pulumi.set(__self__, "elastic_load_balancing", elastic_load_balancing) if ip_family is not None: pulumi.set(__self__, "ip_family", ip_family) if service_ipv4_cidr is not None: @@ -352,6 +434,14 @@ def __init__(__self__, *, if service_ipv6_cidr is not None: pulumi.set(__self__, "service_ipv6_cidr", service_ipv6_cidr) + @property + @pulumi.getter(name="elasticLoadBalancing") + def elastic_load_balancing(self) -> Optional['outputs.ClusterKubernetesNetworkConfigElasticLoadBalancing']: + """ + Configuration block with elastic load balancing configuration for the cluster. Detailed below. + """ + return pulumi.get(self, "elastic_load_balancing") + @property @pulumi.getter(name="ipFamily") def ip_family(self) -> Optional[str]: @@ -378,11 +468,30 @@ def service_ipv4_cidr(self) -> Optional[str]: @pulumi.getter(name="serviceIpv6Cidr") def service_ipv6_cidr(self) -> Optional[str]: """ - The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. + The CIDR block that Kubernetes pod and service IP addresses are assigned from if you specified `ipv6` for `ip_family` when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. """ return pulumi.get(self, "service_ipv6_cidr") +@pulumi.output_type +class ClusterKubernetesNetworkConfigElasticLoadBalancing(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + :param bool enabled: Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account. + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class ClusterOutpostConfig(dict): @staticmethod @@ -498,6 +607,136 @@ def group_name(self) -> str: return pulumi.get(self, "group_name") +@pulumi.output_type +class ClusterRemoteNetworkConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "remoteNodeNetworks": + suggest = "remote_node_networks" + elif key == "remotePodNetworks": + suggest = "remote_pod_networks" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterRemoteNetworkConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterRemoteNetworkConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterRemoteNetworkConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + remote_node_networks: 'outputs.ClusterRemoteNetworkConfigRemoteNodeNetworks', + remote_pod_networks: Optional['outputs.ClusterRemoteNetworkConfigRemotePodNetworks'] = None): + """ + :param 'ClusterRemoteNetworkConfigRemoteNodeNetworksArgs' remote_node_networks: Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + :param 'ClusterRemoteNetworkConfigRemotePodNetworksArgs' remote_pod_networks: Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + """ + pulumi.set(__self__, "remote_node_networks", remote_node_networks) + if remote_pod_networks is not None: + pulumi.set(__self__, "remote_pod_networks", remote_pod_networks) + + @property + @pulumi.getter(name="remoteNodeNetworks") + def remote_node_networks(self) -> 'outputs.ClusterRemoteNetworkConfigRemoteNodeNetworks': + """ + Configuration block with remote node network configuration for EKS Hybrid Nodes. Detailed below. + """ + return pulumi.get(self, "remote_node_networks") + + @property + @pulumi.getter(name="remotePodNetworks") + def remote_pod_networks(self) -> Optional['outputs.ClusterRemoteNetworkConfigRemotePodNetworks']: + """ + Configuration block with remote pod network configuration for EKS Hybrid Nodes. Detailed below. + """ + return pulumi.get(self, "remote_pod_networks") + + +@pulumi.output_type +class ClusterRemoteNetworkConfigRemoteNodeNetworks(dict): + def __init__(__self__, *, + cidrs: Optional[Sequence[str]] = None): + """ + :param Sequence[str] cidrs: List of network CIDRs that can contain hybrid nodes. + """ + if cidrs is not None: + pulumi.set(__self__, "cidrs", cidrs) + + @property + @pulumi.getter + def cidrs(self) -> Optional[Sequence[str]]: + """ + List of network CIDRs that can contain hybrid nodes. + """ + return pulumi.get(self, "cidrs") + + +@pulumi.output_type +class ClusterRemoteNetworkConfigRemotePodNetworks(dict): + def __init__(__self__, *, + cidrs: Optional[Sequence[str]] = None): + """ + :param Sequence[str] cidrs: List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + if cidrs is not None: + pulumi.set(__self__, "cidrs", cidrs) + + @property + @pulumi.getter + def cidrs(self) -> Optional[Sequence[str]]: + """ + List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + return pulumi.get(self, "cidrs") + + +@pulumi.output_type +class ClusterStorageConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "blockStorage": + suggest = "block_storage" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterStorageConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterStorageConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterStorageConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + block_storage: Optional['outputs.ClusterStorageConfigBlockStorage'] = None): + if block_storage is not None: + pulumi.set(__self__, "block_storage", block_storage) + + @property + @pulumi.getter(name="blockStorage") + def block_storage(self) -> Optional['outputs.ClusterStorageConfigBlockStorage']: + return pulumi.get(self, "block_storage") + + +@pulumi.output_type +class ClusterStorageConfigBlockStorage(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + return pulumi.get(self, "enabled") + + @pulumi.output_type class ClusterUpgradePolicy(dict): @staticmethod @@ -1226,6 +1465,46 @@ def data(self) -> str: return pulumi.get(self, "data") +@pulumi.output_type +class GetClusterComputeConfigResult(dict): + def __init__(__self__, *, + enabled: bool, + node_pools: Sequence[str], + node_role_arn: str): + """ + :param bool enabled: Whether zonal shift is enabled. + :param Sequence[str] node_pools: List of node pools for the EKS Auto Mode compute capability. + :param str node_role_arn: The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. + """ + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "node_pools", node_pools) + pulumi.set(__self__, "node_role_arn", node_role_arn) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether zonal shift is enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="nodePools") + def node_pools(self) -> Sequence[str]: + """ + List of node pools for the EKS Auto Mode compute capability. + """ + return pulumi.get(self, "node_pools") + + @property + @pulumi.getter(name="nodeRoleArn") + def node_role_arn(self) -> str: + """ + The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. + """ + return pulumi.get(self, "node_role_arn") + + @pulumi.output_type class GetClusterIdentityResult(dict): def __init__(__self__, *, @@ -1265,18 +1544,29 @@ def issuer(self) -> str: @pulumi.output_type class GetClusterKubernetesNetworkConfigResult(dict): def __init__(__self__, *, + elastic_load_balancings: Sequence['outputs.GetClusterKubernetesNetworkConfigElasticLoadBalancingResult'], ip_family: str, service_ipv4_cidr: str, service_ipv6_cidr: str): """ + :param Sequence['GetClusterKubernetesNetworkConfigElasticLoadBalancingArgs'] elastic_load_balancings: Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. :param str ip_family: `ipv4` or `ipv6`. :param str service_ipv4_cidr: The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv4` was specified when the cluster was created. :param str service_ipv6_cidr: The CIDR block to assign Kubernetes pod and service IP addresses from if `ipv6` was specified when the cluster was created. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create the cluster. """ + pulumi.set(__self__, "elastic_load_balancings", elastic_load_balancings) pulumi.set(__self__, "ip_family", ip_family) pulumi.set(__self__, "service_ipv4_cidr", service_ipv4_cidr) pulumi.set(__self__, "service_ipv6_cidr", service_ipv6_cidr) + @property + @pulumi.getter(name="elasticLoadBalancings") + def elastic_load_balancings(self) -> Sequence['outputs.GetClusterKubernetesNetworkConfigElasticLoadBalancingResult']: + """ + Contains Elastic Load Balancing configuration for EKS Auto Mode enabled cluster. + """ + return pulumi.get(self, "elastic_load_balancings") + @property @pulumi.getter(name="ipFamily") def ip_family(self) -> str: @@ -1302,6 +1592,24 @@ def service_ipv6_cidr(self) -> str: return pulumi.get(self, "service_ipv6_cidr") +@pulumi.output_type +class GetClusterKubernetesNetworkConfigElasticLoadBalancingResult(dict): + def __init__(__self__, *, + enabled: bool): + """ + :param bool enabled: Whether zonal shift is enabled. + """ + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether zonal shift is enabled. + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class GetClusterOutpostConfigResult(dict): def __init__(__self__, *, @@ -1360,12 +1668,113 @@ def group_name(self) -> str: return pulumi.get(self, "group_name") +@pulumi.output_type +class GetClusterRemoteNetworkConfigResult(dict): + def __init__(__self__, *, + remote_node_networks: Sequence['outputs.GetClusterRemoteNetworkConfigRemoteNodeNetworkResult'], + remote_pod_networks: Sequence['outputs.GetClusterRemoteNetworkConfigRemotePodNetworkResult']): + """ + :param Sequence['GetClusterRemoteNetworkConfigRemoteNodeNetworkArgs'] remote_node_networks: The networks that can contain hybrid nodes. + :param Sequence['GetClusterRemoteNetworkConfigRemotePodNetworkArgs'] remote_pod_networks: The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + pulumi.set(__self__, "remote_node_networks", remote_node_networks) + pulumi.set(__self__, "remote_pod_networks", remote_pod_networks) + + @property + @pulumi.getter(name="remoteNodeNetworks") + def remote_node_networks(self) -> Sequence['outputs.GetClusterRemoteNetworkConfigRemoteNodeNetworkResult']: + """ + The networks that can contain hybrid nodes. + """ + return pulumi.get(self, "remote_node_networks") + + @property + @pulumi.getter(name="remotePodNetworks") + def remote_pod_networks(self) -> Sequence['outputs.GetClusterRemoteNetworkConfigRemotePodNetworkResult']: + """ + The networks that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + return pulumi.get(self, "remote_pod_networks") + + +@pulumi.output_type +class GetClusterRemoteNetworkConfigRemoteNodeNetworkResult(dict): + def __init__(__self__, *, + cidrs: Sequence[str]): + """ + :param Sequence[str] cidrs: List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + pulumi.set(__self__, "cidrs", cidrs) + + @property + @pulumi.getter + def cidrs(self) -> Sequence[str]: + """ + List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + return pulumi.get(self, "cidrs") + + +@pulumi.output_type +class GetClusterRemoteNetworkConfigRemotePodNetworkResult(dict): + def __init__(__self__, *, + cidrs: Sequence[str]): + """ + :param Sequence[str] cidrs: List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + pulumi.set(__self__, "cidrs", cidrs) + + @property + @pulumi.getter + def cidrs(self) -> Sequence[str]: + """ + List of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. + """ + return pulumi.get(self, "cidrs") + + +@pulumi.output_type +class GetClusterStorageConfigResult(dict): + def __init__(__self__, *, + block_storages: Sequence['outputs.GetClusterStorageConfigBlockStorageResult']): + """ + :param Sequence['GetClusterStorageConfigBlockStorageArgs'] block_storages: Contains block storage configuration for EKS Auto Mode enabled cluster. + """ + pulumi.set(__self__, "block_storages", block_storages) + + @property + @pulumi.getter(name="blockStorages") + def block_storages(self) -> Sequence['outputs.GetClusterStorageConfigBlockStorageResult']: + """ + Contains block storage configuration for EKS Auto Mode enabled cluster. + """ + return pulumi.get(self, "block_storages") + + +@pulumi.output_type +class GetClusterStorageConfigBlockStorageResult(dict): + def __init__(__self__, *, + enabled: bool): + """ + :param bool enabled: Whether zonal shift is enabled. + """ + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether zonal shift is enabled. + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class GetClusterUpgradePolicyResult(dict): def __init__(__self__, *, support_type: str): """ - :param str support_type: (Optional) Support type to use for the cluster. + :param str support_type: Support type to use for the cluster. """ pulumi.set(__self__, "support_type", support_type) @@ -1373,7 +1782,7 @@ def __init__(__self__, *, @pulumi.getter(name="supportType") def support_type(self) -> str: """ - (Optional) Support type to use for the cluster. + Support type to use for the cluster. """ return pulumi.get(self, "support_type") diff --git a/sdk/python/pulumi_aws/lambda_/_inputs.py b/sdk/python/pulumi_aws/lambda_/_inputs.py index 07fc7ff4b3b..fa62f309539 100644 --- a/sdk/python/pulumi_aws/lambda_/_inputs.py +++ b/sdk/python/pulumi_aws/lambda_/_inputs.py @@ -34,6 +34,10 @@ 'EventSourceMappingFilterCriteriaArgsDict', 'EventSourceMappingFilterCriteriaFilterArgs', 'EventSourceMappingFilterCriteriaFilterArgsDict', + 'EventSourceMappingMetricsConfigArgs', + 'EventSourceMappingMetricsConfigArgsDict', + 'EventSourceMappingProvisionedPollerConfigArgs', + 'EventSourceMappingProvisionedPollerConfigArgsDict', 'EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict', 'EventSourceMappingSelfManagedEventSourceArgs', @@ -396,6 +400,89 @@ def pattern(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pattern", value) +if not MYPY: + class EventSourceMappingMetricsConfigArgsDict(TypedDict): + metrics: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + """ +elif False: + EventSourceMappingMetricsConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EventSourceMappingMetricsConfigArgs: + def __init__(__self__, *, + metrics: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] metrics: A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + """ + pulumi.set(__self__, "metrics", metrics) + + @property + @pulumi.getter + def metrics(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + """ + return pulumi.get(self, "metrics") + + @metrics.setter + def metrics(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "metrics", value) + + +if not MYPY: + class EventSourceMappingProvisionedPollerConfigArgsDict(TypedDict): + maximum_pollers: NotRequired[pulumi.Input[int]] + """ + The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + """ + minimum_pollers: NotRequired[pulumi.Input[int]] + """ + The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + """ +elif False: + EventSourceMappingProvisionedPollerConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EventSourceMappingProvisionedPollerConfigArgs: + def __init__(__self__, *, + maximum_pollers: Optional[pulumi.Input[int]] = None, + minimum_pollers: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] maximum_pollers: The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + :param pulumi.Input[int] minimum_pollers: The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + """ + if maximum_pollers is not None: + pulumi.set(__self__, "maximum_pollers", maximum_pollers) + if minimum_pollers is not None: + pulumi.set(__self__, "minimum_pollers", minimum_pollers) + + @property + @pulumi.getter(name="maximumPollers") + def maximum_pollers(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + """ + return pulumi.get(self, "maximum_pollers") + + @maximum_pollers.setter + def maximum_pollers(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "maximum_pollers", value) + + @property + @pulumi.getter(name="minimumPollers") + def minimum_pollers(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + """ + return pulumi.get(self, "minimum_pollers") + + @minimum_pollers.setter + def minimum_pollers(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "minimum_pollers", value) + + if not MYPY: class EventSourceMappingScalingConfigArgsDict(TypedDict): maximum_concurrency: NotRequired[pulumi.Input[int]] diff --git a/sdk/python/pulumi_aws/lambda_/event_source_mapping.py b/sdk/python/pulumi_aws/lambda_/event_source_mapping.py index 7657d129e1e..df63c31d8bc 100644 --- a/sdk/python/pulumi_aws/lambda_/event_source_mapping.py +++ b/sdk/python/pulumi_aws/lambda_/event_source_mapping.py @@ -35,7 +35,9 @@ def __init__(__self__, *, maximum_batching_window_in_seconds: Optional[pulumi.Input[int]] = None, maximum_record_age_in_seconds: Optional[pulumi.Input[int]] = None, maximum_retry_attempts: Optional[pulumi.Input[int]] = None, + metrics_config: Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']] = None, parallelization_factor: Optional[pulumi.Input[int]] = None, + provisioned_poller_config: Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']] = None, queues: Optional[pulumi.Input[str]] = None, scaling_config: Optional[pulumi.Input['EventSourceMappingScalingConfigArgs']] = None, self_managed_event_source: Optional[pulumi.Input['EventSourceMappingSelfManagedEventSourceArgs']] = None, @@ -62,7 +64,9 @@ def __init__(__self__, *, :param pulumi.Input[int] maximum_batching_window_in_seconds: The maximum amount of time to gather records before invoking the function, in seconds (between 0 and 300). Records will continue to buffer (or accumulate in the case of an SQS queue event source) until either `maximum_batching_window_in_seconds` expires or `batch_size` has been met. For streaming event sources, defaults to as soon as records are available in the stream. If the batch it reads from the stream/queue only has one record in it, Lambda only sends one record to the function. Only available for stream sources (DynamoDB and Kinesis) and SQS standard queues. :param pulumi.Input[int] maximum_record_age_in_seconds: - (Optional) The maximum age of a record that Lambda sends to a function for processing. Only available for stream sources (DynamoDB and Kinesis). Must be either -1 (forever, and the default value) or between 60 and 604800 (inclusive). :param pulumi.Input[int] maximum_retry_attempts: - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. + :param pulumi.Input['EventSourceMappingMetricsConfigArgs'] metrics_config: - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. :param pulumi.Input[int] parallelization_factor: - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. + :param pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs'] provisioned_poller_config: - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. :param pulumi.Input[str] queues: The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. :param pulumi.Input['EventSourceMappingScalingConfigArgs'] scaling_config: Scaling configuration of the event source. Only available for SQS queues. Detailed below. :param pulumi.Input['EventSourceMappingSelfManagedEventSourceArgs'] self_managed_event_source: - (Optional) For Self Managed Kafka sources, the location of the self managed cluster. If set, configuration must also include `source_access_configuration`. Detailed below. @@ -101,8 +105,12 @@ def __init__(__self__, *, pulumi.set(__self__, "maximum_record_age_in_seconds", maximum_record_age_in_seconds) if maximum_retry_attempts is not None: pulumi.set(__self__, "maximum_retry_attempts", maximum_retry_attempts) + if metrics_config is not None: + pulumi.set(__self__, "metrics_config", metrics_config) if parallelization_factor is not None: pulumi.set(__self__, "parallelization_factor", parallelization_factor) + if provisioned_poller_config is not None: + pulumi.set(__self__, "provisioned_poller_config", provisioned_poller_config) if queues is not None: pulumi.set(__self__, "queues", queues) if scaling_config is not None: @@ -292,6 +300,18 @@ def maximum_retry_attempts(self) -> Optional[pulumi.Input[int]]: def maximum_retry_attempts(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "maximum_retry_attempts", value) + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']]: + """ + - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + """ + return pulumi.get(self, "metrics_config") + + @metrics_config.setter + def metrics_config(self, value: Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']]): + pulumi.set(self, "metrics_config", value) + @property @pulumi.getter(name="parallelizationFactor") def parallelization_factor(self) -> Optional[pulumi.Input[int]]: @@ -304,6 +324,18 @@ def parallelization_factor(self) -> Optional[pulumi.Input[int]]: def parallelization_factor(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "parallelization_factor", value) + @property + @pulumi.getter(name="provisionedPollerConfig") + def provisioned_poller_config(self) -> Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']]: + """ + - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + """ + return pulumi.get(self, "provisioned_poller_config") + + @provisioned_poller_config.setter + def provisioned_poller_config(self, value: Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']]): + pulumi.set(self, "provisioned_poller_config", value) + @property @pulumi.getter def queues(self) -> Optional[pulumi.Input[str]]: @@ -446,7 +478,9 @@ def __init__(__self__, *, maximum_batching_window_in_seconds: Optional[pulumi.Input[int]] = None, maximum_record_age_in_seconds: Optional[pulumi.Input[int]] = None, maximum_retry_attempts: Optional[pulumi.Input[int]] = None, + metrics_config: Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']] = None, parallelization_factor: Optional[pulumi.Input[int]] = None, + provisioned_poller_config: Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']] = None, queues: Optional[pulumi.Input[str]] = None, scaling_config: Optional[pulumi.Input['EventSourceMappingScalingConfigArgs']] = None, self_managed_event_source: Optional[pulumi.Input['EventSourceMappingSelfManagedEventSourceArgs']] = None, @@ -481,7 +515,9 @@ def __init__(__self__, *, :param pulumi.Input[int] maximum_batching_window_in_seconds: The maximum amount of time to gather records before invoking the function, in seconds (between 0 and 300). Records will continue to buffer (or accumulate in the case of an SQS queue event source) until either `maximum_batching_window_in_seconds` expires or `batch_size` has been met. For streaming event sources, defaults to as soon as records are available in the stream. If the batch it reads from the stream/queue only has one record in it, Lambda only sends one record to the function. Only available for stream sources (DynamoDB and Kinesis) and SQS standard queues. :param pulumi.Input[int] maximum_record_age_in_seconds: - (Optional) The maximum age of a record that Lambda sends to a function for processing. Only available for stream sources (DynamoDB and Kinesis). Must be either -1 (forever, and the default value) or between 60 and 604800 (inclusive). :param pulumi.Input[int] maximum_retry_attempts: - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. + :param pulumi.Input['EventSourceMappingMetricsConfigArgs'] metrics_config: - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. :param pulumi.Input[int] parallelization_factor: - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. + :param pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs'] provisioned_poller_config: - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. :param pulumi.Input[str] queues: The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. :param pulumi.Input['EventSourceMappingScalingConfigArgs'] scaling_config: Scaling configuration of the event source. Only available for SQS queues. Detailed below. :param pulumi.Input['EventSourceMappingSelfManagedEventSourceArgs'] self_managed_event_source: - (Optional) For Self Managed Kafka sources, the location of the self managed cluster. If set, configuration must also include `source_access_configuration`. Detailed below. @@ -533,8 +569,12 @@ def __init__(__self__, *, pulumi.set(__self__, "maximum_record_age_in_seconds", maximum_record_age_in_seconds) if maximum_retry_attempts is not None: pulumi.set(__self__, "maximum_retry_attempts", maximum_retry_attempts) + if metrics_config is not None: + pulumi.set(__self__, "metrics_config", metrics_config) if parallelization_factor is not None: pulumi.set(__self__, "parallelization_factor", parallelization_factor) + if provisioned_poller_config is not None: + pulumi.set(__self__, "provisioned_poller_config", provisioned_poller_config) if queues is not None: pulumi.set(__self__, "queues", queues) if scaling_config is not None: @@ -783,6 +823,18 @@ def maximum_retry_attempts(self) -> Optional[pulumi.Input[int]]: def maximum_retry_attempts(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "maximum_retry_attempts", value) + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']]: + """ + - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + """ + return pulumi.get(self, "metrics_config") + + @metrics_config.setter + def metrics_config(self, value: Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']]): + pulumi.set(self, "metrics_config", value) + @property @pulumi.getter(name="parallelizationFactor") def parallelization_factor(self) -> Optional[pulumi.Input[int]]: @@ -795,6 +847,18 @@ def parallelization_factor(self) -> Optional[pulumi.Input[int]]: def parallelization_factor(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "parallelization_factor", value) + @property + @pulumi.getter(name="provisionedPollerConfig") + def provisioned_poller_config(self) -> Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']]: + """ + - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + """ + return pulumi.get(self, "provisioned_poller_config") + + @provisioned_poller_config.setter + def provisioned_poller_config(self, value: Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']]): + pulumi.set(self, "provisioned_poller_config", value) + @property @pulumi.getter def queues(self) -> Optional[pulumi.Input[str]]: @@ -984,7 +1048,9 @@ def __init__(__self__, maximum_batching_window_in_seconds: Optional[pulumi.Input[int]] = None, maximum_record_age_in_seconds: Optional[pulumi.Input[int]] = None, maximum_retry_attempts: Optional[pulumi.Input[int]] = None, + metrics_config: Optional[pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']]] = None, parallelization_factor: Optional[pulumi.Input[int]] = None, + provisioned_poller_config: Optional[pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']]] = None, queues: Optional[pulumi.Input[str]] = None, scaling_config: Optional[pulumi.Input[Union['EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict']]] = None, self_managed_event_source: Optional[pulumi.Input[Union['EventSourceMappingSelfManagedEventSourceArgs', 'EventSourceMappingSelfManagedEventSourceArgsDict']]] = None, @@ -1044,37 +1110,6 @@ def __init__(__self__, starting_position="TRIM_HORIZON") ``` - ### Self Managed Apache Kafka - - ```python - import pulumi - import pulumi_aws as aws - - example = aws.lambda_.EventSourceMapping("example", - function_name=example_aws_lambda_function["arn"], - topics=["Example"], - starting_position="TRIM_HORIZON", - self_managed_event_source={ - "endpoints": { - "KAFKA_BOOTSTRAP_SERVERS": "kafka1.example.com:9092,kafka2.example.com:9092", - }, - }, - source_access_configurations=[ - { - "type": "VPC_SUBNET", - "uri": "subnet:subnet-example1", - }, - { - "type": "VPC_SUBNET", - "uri": "subnet:subnet-example2", - }, - { - "type": "VPC_SECURITY_GROUP", - "uri": "security_group:sg-example", - }, - ]) - ``` - ### SQS ```python @@ -1181,7 +1216,9 @@ def __init__(__self__, :param pulumi.Input[int] maximum_batching_window_in_seconds: The maximum amount of time to gather records before invoking the function, in seconds (between 0 and 300). Records will continue to buffer (or accumulate in the case of an SQS queue event source) until either `maximum_batching_window_in_seconds` expires or `batch_size` has been met. For streaming event sources, defaults to as soon as records are available in the stream. If the batch it reads from the stream/queue only has one record in it, Lambda only sends one record to the function. Only available for stream sources (DynamoDB and Kinesis) and SQS standard queues. :param pulumi.Input[int] maximum_record_age_in_seconds: - (Optional) The maximum age of a record that Lambda sends to a function for processing. Only available for stream sources (DynamoDB and Kinesis). Must be either -1 (forever, and the default value) or between 60 and 604800 (inclusive). :param pulumi.Input[int] maximum_retry_attempts: - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. + :param pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']] metrics_config: - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. :param pulumi.Input[int] parallelization_factor: - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. + :param pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']] provisioned_poller_config: - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. :param pulumi.Input[str] queues: The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. :param pulumi.Input[Union['EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict']] scaling_config: Scaling configuration of the event source. Only available for SQS queues. Detailed below. :param pulumi.Input[Union['EventSourceMappingSelfManagedEventSourceArgs', 'EventSourceMappingSelfManagedEventSourceArgsDict']] self_managed_event_source: - (Optional) For Self Managed Kafka sources, the location of the self managed cluster. If set, configuration must also include `source_access_configuration`. Detailed below. @@ -1247,37 +1284,6 @@ def __init__(__self__, starting_position="TRIM_HORIZON") ``` - ### Self Managed Apache Kafka - - ```python - import pulumi - import pulumi_aws as aws - - example = aws.lambda_.EventSourceMapping("example", - function_name=example_aws_lambda_function["arn"], - topics=["Example"], - starting_position="TRIM_HORIZON", - self_managed_event_source={ - "endpoints": { - "KAFKA_BOOTSTRAP_SERVERS": "kafka1.example.com:9092,kafka2.example.com:9092", - }, - }, - source_access_configurations=[ - { - "type": "VPC_SUBNET", - "uri": "subnet:subnet-example1", - }, - { - "type": "VPC_SUBNET", - "uri": "subnet:subnet-example2", - }, - { - "type": "VPC_SECURITY_GROUP", - "uri": "security_group:sg-example", - }, - ]) - ``` - ### SQS ```python @@ -1397,7 +1403,9 @@ def _internal_init(__self__, maximum_batching_window_in_seconds: Optional[pulumi.Input[int]] = None, maximum_record_age_in_seconds: Optional[pulumi.Input[int]] = None, maximum_retry_attempts: Optional[pulumi.Input[int]] = None, + metrics_config: Optional[pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']]] = None, parallelization_factor: Optional[pulumi.Input[int]] = None, + provisioned_poller_config: Optional[pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']]] = None, queues: Optional[pulumi.Input[str]] = None, scaling_config: Optional[pulumi.Input[Union['EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict']]] = None, self_managed_event_source: Optional[pulumi.Input[Union['EventSourceMappingSelfManagedEventSourceArgs', 'EventSourceMappingSelfManagedEventSourceArgsDict']]] = None, @@ -1433,7 +1441,9 @@ def _internal_init(__self__, __props__.__dict__["maximum_batching_window_in_seconds"] = maximum_batching_window_in_seconds __props__.__dict__["maximum_record_age_in_seconds"] = maximum_record_age_in_seconds __props__.__dict__["maximum_retry_attempts"] = maximum_retry_attempts + __props__.__dict__["metrics_config"] = metrics_config __props__.__dict__["parallelization_factor"] = parallelization_factor + __props__.__dict__["provisioned_poller_config"] = provisioned_poller_config __props__.__dict__["queues"] = queues __props__.__dict__["scaling_config"] = scaling_config __props__.__dict__["self_managed_event_source"] = self_managed_event_source @@ -1480,7 +1490,9 @@ def get(resource_name: str, maximum_batching_window_in_seconds: Optional[pulumi.Input[int]] = None, maximum_record_age_in_seconds: Optional[pulumi.Input[int]] = None, maximum_retry_attempts: Optional[pulumi.Input[int]] = None, + metrics_config: Optional[pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']]] = None, parallelization_factor: Optional[pulumi.Input[int]] = None, + provisioned_poller_config: Optional[pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']]] = None, queues: Optional[pulumi.Input[str]] = None, scaling_config: Optional[pulumi.Input[Union['EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict']]] = None, self_managed_event_source: Optional[pulumi.Input[Union['EventSourceMappingSelfManagedEventSourceArgs', 'EventSourceMappingSelfManagedEventSourceArgsDict']]] = None, @@ -1520,7 +1532,9 @@ def get(resource_name: str, :param pulumi.Input[int] maximum_batching_window_in_seconds: The maximum amount of time to gather records before invoking the function, in seconds (between 0 and 300). Records will continue to buffer (or accumulate in the case of an SQS queue event source) until either `maximum_batching_window_in_seconds` expires or `batch_size` has been met. For streaming event sources, defaults to as soon as records are available in the stream. If the batch it reads from the stream/queue only has one record in it, Lambda only sends one record to the function. Only available for stream sources (DynamoDB and Kinesis) and SQS standard queues. :param pulumi.Input[int] maximum_record_age_in_seconds: - (Optional) The maximum age of a record that Lambda sends to a function for processing. Only available for stream sources (DynamoDB and Kinesis). Must be either -1 (forever, and the default value) or between 60 and 604800 (inclusive). :param pulumi.Input[int] maximum_retry_attempts: - (Optional) The maximum number of times to retry when the function returns an error. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of -1 (forever), maximum of 10000. + :param pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']] metrics_config: - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. :param pulumi.Input[int] parallelization_factor: - (Optional) The number of batches to process from each shard concurrently. Only available for stream sources (DynamoDB and Kinesis). Minimum and default of 1, maximum of 10. + :param pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']] provisioned_poller_config: - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. :param pulumi.Input[str] queues: The name of the Amazon MQ broker destination queue to consume. Only available for MQ sources. The list must contain exactly one queue name. :param pulumi.Input[Union['EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict']] scaling_config: Scaling configuration of the event source. Only available for SQS queues. Detailed below. :param pulumi.Input[Union['EventSourceMappingSelfManagedEventSourceArgs', 'EventSourceMappingSelfManagedEventSourceArgsDict']] self_managed_event_source: - (Optional) For Self Managed Kafka sources, the location of the self managed cluster. If set, configuration must also include `source_access_configuration`. Detailed below. @@ -1558,7 +1572,9 @@ def get(resource_name: str, __props__.__dict__["maximum_batching_window_in_seconds"] = maximum_batching_window_in_seconds __props__.__dict__["maximum_record_age_in_seconds"] = maximum_record_age_in_seconds __props__.__dict__["maximum_retry_attempts"] = maximum_retry_attempts + __props__.__dict__["metrics_config"] = metrics_config __props__.__dict__["parallelization_factor"] = parallelization_factor + __props__.__dict__["provisioned_poller_config"] = provisioned_poller_config __props__.__dict__["queues"] = queues __props__.__dict__["scaling_config"] = scaling_config __props__.__dict__["self_managed_event_source"] = self_managed_event_source @@ -1719,6 +1735,14 @@ def maximum_retry_attempts(self) -> pulumi.Output[int]: """ return pulumi.get(self, "maximum_retry_attempts") + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> pulumi.Output[Optional['outputs.EventSourceMappingMetricsConfig']]: + """ + - (Optional) CloudWatch metrics configuration of the event source. Only available for stream sources (DynamoDB and Kinesis) and SQS queues. Detailed below. + """ + return pulumi.get(self, "metrics_config") + @property @pulumi.getter(name="parallelizationFactor") def parallelization_factor(self) -> pulumi.Output[int]: @@ -1727,6 +1751,14 @@ def parallelization_factor(self) -> pulumi.Output[int]: """ return pulumi.get(self, "parallelization_factor") + @property + @pulumi.getter(name="provisionedPollerConfig") + def provisioned_poller_config(self) -> pulumi.Output[Optional['outputs.EventSourceMappingProvisionedPollerConfig']]: + """ + - (Optional) Event poller configuration for the event source. Only valid for Amazon MSK or self-managed Apache Kafka sources. Detailed below. + """ + return pulumi.get(self, "provisioned_poller_config") + @property @pulumi.getter def queues(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/lambda_/outputs.py b/sdk/python/pulumi_aws/lambda_/outputs.py index 3550ead5684..bc7338386fc 100644 --- a/sdk/python/pulumi_aws/lambda_/outputs.py +++ b/sdk/python/pulumi_aws/lambda_/outputs.py @@ -26,6 +26,8 @@ 'EventSourceMappingDocumentDbEventSourceConfig', 'EventSourceMappingFilterCriteria', 'EventSourceMappingFilterCriteriaFilter', + 'EventSourceMappingMetricsConfig', + 'EventSourceMappingProvisionedPollerConfig', 'EventSourceMappingScalingConfig', 'EventSourceMappingSelfManagedEventSource', 'EventSourceMappingSelfManagedKafkaEventSourceConfig', @@ -369,6 +371,74 @@ def pattern(self) -> Optional[str]: return pulumi.get(self, "pattern") +@pulumi.output_type +class EventSourceMappingMetricsConfig(dict): + def __init__(__self__, *, + metrics: Sequence[str]): + """ + :param Sequence[str] metrics: A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + """ + pulumi.set(__self__, "metrics", metrics) + + @property + @pulumi.getter + def metrics(self) -> Sequence[str]: + """ + A list containing the metrics to be produced by the event source mapping. Valid values: `EventCount`. + """ + return pulumi.get(self, "metrics") + + +@pulumi.output_type +class EventSourceMappingProvisionedPollerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maximumPollers": + suggest = "maximum_pollers" + elif key == "minimumPollers": + suggest = "minimum_pollers" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EventSourceMappingProvisionedPollerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EventSourceMappingProvisionedPollerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EventSourceMappingProvisionedPollerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + maximum_pollers: Optional[int] = None, + minimum_pollers: Optional[int] = None): + """ + :param int maximum_pollers: The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + :param int minimum_pollers: The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + """ + if maximum_pollers is not None: + pulumi.set(__self__, "maximum_pollers", maximum_pollers) + if minimum_pollers is not None: + pulumi.set(__self__, "minimum_pollers", minimum_pollers) + + @property + @pulumi.getter(name="maximumPollers") + def maximum_pollers(self) -> Optional[int]: + """ + The maximum number of event pollers this event source can scale up to. The range is between 1 and 2000. + """ + return pulumi.get(self, "maximum_pollers") + + @property + @pulumi.getter(name="minimumPollers") + def minimum_pollers(self) -> Optional[int]: + """ + The minimum number of event pollers this event source can scale down to. The range is between 1 and 200. + """ + return pulumi.get(self, "minimum_pollers") + + @pulumi.output_type class EventSourceMappingScalingConfig(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/rds/cluster.py b/sdk/python/pulumi_aws/rds/cluster.py index 10213ffb109..baf77d25f2a 100644 --- a/sdk/python/pulumi_aws/rds/cluster.py +++ b/sdk/python/pulumi_aws/rds/cluster.py @@ -134,7 +134,7 @@ def __init__(__self__, *, :param pulumi.Input[int] port: Port on which the DB accepts connections. :param pulumi.Input[str] preferred_backup_window: Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. `04:00-09:00`. :param pulumi.Input[str] preferred_maintenance_window: Weekly time range during which system maintenance can occur, in (UTC) e.g., `wed:04:00-wed:04:30` - :param pulumi.Input[str] replication_source_identifier: ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + :param pulumi.Input[str] replication_source_identifier: ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. :param pulumi.Input['ClusterRestoreToPointInTimeArgs'] restore_to_point_in_time: Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. :param pulumi.Input['ClusterScalingConfigurationArgs'] scaling_configuration: Nested attribute with scaling properties. Only valid when `engine_mode` is set to `serverless`. More details below. :param pulumi.Input['ClusterServerlessv2ScalingConfigurationArgs'] serverlessv2_scaling_configuration: Nested attribute with scaling properties for ServerlessV2. Only valid when `engine_mode` is set to `provisioned`. More details below. @@ -824,7 +824,7 @@ def preferred_maintenance_window(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="replicationSourceIdentifier") def replication_source_identifier(self) -> Optional[pulumi.Input[str]]: """ - ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. """ return pulumi.get(self, "replication_source_identifier") @@ -1095,7 +1095,7 @@ def __init__(__self__, *, :param pulumi.Input[str] preferred_maintenance_window: Weekly time range during which system maintenance can occur, in (UTC) e.g., `wed:04:00-wed:04:30` :param pulumi.Input[str] reader_endpoint: Read-only endpoint for the Aurora cluster, automatically load-balanced across replicas - :param pulumi.Input[str] replication_source_identifier: ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + :param pulumi.Input[str] replication_source_identifier: ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. :param pulumi.Input['ClusterRestoreToPointInTimeArgs'] restore_to_point_in_time: Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. :param pulumi.Input['ClusterScalingConfigurationArgs'] scaling_configuration: Nested attribute with scaling properties. Only valid when `engine_mode` is set to `serverless`. More details below. :param pulumi.Input['ClusterServerlessv2ScalingConfigurationArgs'] serverlessv2_scaling_configuration: Nested attribute with scaling properties for ServerlessV2. Only valid when `engine_mode` is set to `provisioned`. More details below. @@ -1905,7 +1905,7 @@ def reader_endpoint(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="replicationSourceIdentifier") def replication_source_identifier(self) -> Optional[pulumi.Input[str]]: """ - ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. """ return pulumi.get(self, "replication_source_identifier") @@ -2377,7 +2377,7 @@ def __init__(__self__, :param pulumi.Input[int] port: Port on which the DB accepts connections. :param pulumi.Input[str] preferred_backup_window: Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. `04:00-09:00`. :param pulumi.Input[str] preferred_maintenance_window: Weekly time range during which system maintenance can occur, in (UTC) e.g., `wed:04:00-wed:04:30` - :param pulumi.Input[str] replication_source_identifier: ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + :param pulumi.Input[str] replication_source_identifier: ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. :param pulumi.Input[Union['ClusterRestoreToPointInTimeArgs', 'ClusterRestoreToPointInTimeArgsDict']] restore_to_point_in_time: Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. :param pulumi.Input[Union['ClusterScalingConfigurationArgs', 'ClusterScalingConfigurationArgsDict']] scaling_configuration: Nested attribute with scaling properties. Only valid when `engine_mode` is set to `serverless`. More details below. :param pulumi.Input[Union['ClusterServerlessv2ScalingConfigurationArgs', 'ClusterServerlessv2ScalingConfigurationArgsDict']] serverlessv2_scaling_configuration: Nested attribute with scaling properties for ServerlessV2. Only valid when `engine_mode` is set to `provisioned`. More details below. @@ -2896,7 +2896,7 @@ def get(resource_name: str, :param pulumi.Input[str] preferred_maintenance_window: Weekly time range during which system maintenance can occur, in (UTC) e.g., `wed:04:00-wed:04:30` :param pulumi.Input[str] reader_endpoint: Read-only endpoint for the Aurora cluster, automatically load-balanced across replicas - :param pulumi.Input[str] replication_source_identifier: ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + :param pulumi.Input[str] replication_source_identifier: ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. :param pulumi.Input[Union['ClusterRestoreToPointInTimeArgs', 'ClusterRestoreToPointInTimeArgsDict']] restore_to_point_in_time: Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. :param pulumi.Input[Union['ClusterScalingConfigurationArgs', 'ClusterScalingConfigurationArgsDict']] scaling_configuration: Nested attribute with scaling properties. Only valid when `engine_mode` is set to `serverless`. More details below. :param pulumi.Input[Union['ClusterServerlessv2ScalingConfigurationArgs', 'ClusterServerlessv2ScalingConfigurationArgsDict']] serverlessv2_scaling_configuration: Nested attribute with scaling properties for ServerlessV2. Only valid when `engine_mode` is set to `provisioned`. More details below. @@ -3425,7 +3425,7 @@ def reader_endpoint(self) -> pulumi.Output[str]: @pulumi.getter(name="replicationSourceIdentifier") def replication_source_identifier(self) -> pulumi.Output[Optional[str]]: """ - ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignore_changes` argument to prevent this provider from showing differences for this argument instead of configuring this value. + ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. **Note:** Removing this attribute after creation will promote the read replica to a standalone cluster. If DB Cluster is part of a Global Cluster, use the `ignoreChanges` resource option to prevent Pulumi from showing differences for this argument instead of configuring this value. """ return pulumi.get(self, "replication_source_identifier") diff --git a/upstream b/upstream index ed4d7f5ef98..8dad2d3a602 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit ed4d7f5ef981f42ea7de09d440af3507d0cba081 +Subproject commit 8dad2d3a602c8fc103a7eacb1fc9f4d3a9ac3994