diff --git a/examples/go.mod b/examples/go.mod index caedd86730a..2ae69699178 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -3,9 +3,9 @@ module github.com/pulumi/pulumi-aws/examples/v6 go 1.22.2 require ( - github.com/aws/aws-sdk-go v1.53.18 - github.com/aws/aws-sdk-go-v2/config v1.27.17 - github.com/aws/aws-sdk-go-v2/service/iam v1.32.5 + github.com/aws/aws-sdk-go v1.54.0 + github.com/aws/aws-sdk-go-v2/config v1.27.18 + github.com/aws/aws-sdk-go-v2/service/iam v1.32.6 github.com/pulumi/providertest v0.0.11 github.com/pulumi/pulumi-aws/provider/v6 v6.0.0-00010101000000-000000000000 github.com/pulumi/pulumi-terraform-bridge/pf v0.37.0 @@ -52,194 +52,199 @@ require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go-v2 v1.27.1 // indirect + github.com/aws/aws-sdk-go-v2 v1.27.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.17 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.18 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.24 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.29.7 // indirect - github.com/aws/aws-sdk-go-v2/service/account v1.16.9 // indirect - github.com/aws/aws-sdk-go-v2/service/acm v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.2 // indirect - github.com/aws/aws-sdk-go-v2/service/amp v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/amplify v1.21.10 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.11 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.7 // indirect - github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.9 // indirect - github.com/aws/aws-sdk-go-v2/service/appflow v1.41.9 // indirect - github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.9 // indirect - github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.9 // indirect - github.com/aws/aws-sdk-go-v2/service/appstream v1.34.9 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.41.1 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.9 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.10 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.10 // indirect - github.com/aws/aws-sdk-go-v2/service/batch v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.9 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.6 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.23.5 // indirect - github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.2 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.10 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.10 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.2 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.5 // indirect - github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.2 // indirect - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/codepipeline v1.27.5 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.7 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.12 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.9 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/configservice v1.46.10 // indirect - github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.5 // indirect - github.com/aws/aws-sdk-go-v2/service/controltower v1.14.2 // indirect - github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.9 // indirect - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.5 // indirect - github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.9 // indirect - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.9 // indirect - github.com/aws/aws-sdk-go-v2/service/datasync v1.38.3 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.8.5 // indirect - github.com/aws/aws-sdk-go-v2/service/dax v1.19.9 // indirect - github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.9 // indirect - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.9 // indirect - github.com/aws/aws-sdk-go-v2/service/dlm v1.24.9 // indirect - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.8 // indirect - github.com/aws/aws-sdk-go-v2/service/drs v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.7 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.163.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.28.4 // indirect - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.41.12 // indirect - github.com/aws/aws-sdk-go-v2/service/eks v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.7 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.9 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.2 // indirect - github.com/aws/aws-sdk-go-v2/service/emr v1.39.10 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.4 // indirect - github.com/aws/aws-sdk-go-v2/service/evidently v1.19.9 // indirect - github.com/aws/aws-sdk-go-v2/service/finspace v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/firehose v1.28.11 // indirect - github.com/aws/aws-sdk-go-v2/service/fis v1.24.7 // indirect - github.com/aws/aws-sdk-go-v2/service/fms v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/glacier v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.5 // indirect - github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.5 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.11 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.9 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/account v1.17.1 // indirect + github.com/aws/aws-sdk-go-v2/service/acm v1.26.2 // indirect + github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.3 // indirect + github.com/aws/aws-sdk-go-v2/service/amp v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/amplify v1.21.11 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.12 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.8 // indirect + github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.10 // indirect + github.com/aws/aws-sdk-go-v2/service/appflow v1.41.10 // indirect + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.10 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.10 // indirect + github.com/aws/aws-sdk-go-v2/service/appstream v1.34.10 // indirect + github.com/aws/aws-sdk-go-v2/service/athena v1.41.2 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11 // indirect + github.com/aws/aws-sdk-go-v2/service/batch v1.38.1 // indirect + github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.10 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.8 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.2 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.23.6 // indirect + github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.3 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.11 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.11 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.3 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.6 // indirect + github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.3 // indirect + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/codepipeline v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.8 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.13 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.10 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/configservice v1.46.11 // indirect + github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.6 // indirect + github.com/aws/aws-sdk-go-v2/service/controltower v1.14.3 // indirect + github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.10 // indirect + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.6 // indirect + github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.10 // indirect + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.10 // indirect + github.com/aws/aws-sdk-go-v2/service/datasync v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.8.6 // indirect + github.com/aws/aws-sdk-go-v2/service/dax v1.19.10 // indirect + github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.10 // indirect + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/dlm v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/docdb v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.9 // indirect + github.com/aws/aws-sdk-go-v2/service/drs v1.26.6 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.8 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.164.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.28.5 // indirect + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/eks v1.43.1 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.8 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.10 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.3 // indirect + github.com/aws/aws-sdk-go-v2/service/emr v1.39.11 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.2 // indirect + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.5 // indirect + github.com/aws/aws-sdk-go-v2/service/evidently v1.19.10 // indirect + github.com/aws/aws-sdk-go-v2/service/finspace v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/firehose v1.29.1 // indirect + github.com/aws/aws-sdk-go-v2/service/fis v1.24.8 // indirect + github.com/aws/aws-sdk-go-v2/service/fms v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/glacier v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.1 // indirect + github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.6 // indirect + github.com/aws/aws-sdk-go-v2/service/guardduty v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.6 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.12 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.6 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.9 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.10 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.50.6 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.9 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.9 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.32.2 // indirect - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.2 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.54.5 // indirect - github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.9 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.2 // indirect - github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.9 // indirect - github.com/aws/aws-sdk-go-v2/service/m2 v1.13.5 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.9 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.6 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.52.5 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.10 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/mq v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.3 // indirect - github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.6 // indirect - github.com/aws/aws-sdk-go-v2/service/oam v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.12 // indirect - github.com/aws/aws-sdk-go-v2/service/organizations v1.27.8 // indirect - github.com/aws/aws-sdk-go-v2/service/osis v1.9.2 // indirect - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.5 // indirect - github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.9 // indirect - github.com/aws/aws-sdk-go-v2/service/pipes v1.12.0 // indirect - github.com/aws/aws-sdk-go-v2/service/polly v1.40.4 // indirect - github.com/aws/aws-sdk-go-v2/service/pricing v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.5 // indirect - github.com/aws/aws-sdk-go-v2/service/qldb v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ram v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/rbin v1.16.9 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.79.5 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.44.5 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.6 // indirect - github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.5 // indirect - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.10 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/route53 v1.40.9 // indirect - github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.9 // indirect - github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.6 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.44.12 // indirect - github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.9 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.29.2 // indirect - github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.1 // indirect - github.com/aws/aws-sdk-go-v2/service/securitylake v1.13.8 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.9 // indirect - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.29.5 // indirect - github.com/aws/aws-sdk-go-v2/service/shield v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/signer v1.22.12 // indirect - github.com/aws/aws-sdk-go-v2/service/sns v1.29.9 // indirect - github.com/aws/aws-sdk-go-v2/service/sqs v1.32.4 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.50.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.4 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.10 // indirect - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.10 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.11 // indirect - github.com/aws/aws-sdk-go-v2/service/swf v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.9 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.7 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.10 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.5 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.48.2 // indirect - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.14.4 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.5 // indirect - github.com/aws/aws-sdk-go-v2/service/waf v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.2 // indirect - github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.5 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.5 // indirect - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.5 // indirect - github.com/aws/aws-sdk-go-v2/service/xray v1.25.9 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.11 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.10 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.9 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.11 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.33.2 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.50.7 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.10 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.10 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.32.3 // indirect + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.3 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.54.6 // indirect + github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.10 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.3 // indirect + github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.10 // indirect + github.com/aws/aws-sdk-go-v2/service/m2 v1.13.6 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.10 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.7 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.52.6 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.11 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.6 // indirect + github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/mq v1.22.11 // indirect + github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.4 // indirect + github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.7 // indirect + github.com/aws/aws-sdk-go-v2/service/oam v1.11.6 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.13 // indirect + github.com/aws/aws-sdk-go-v2/service/organizations v1.27.9 // indirect + github.com/aws/aws-sdk-go-v2/service/osis v1.10.0 // indirect + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.6 // indirect + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.10 // indirect + github.com/aws/aws-sdk-go-v2/service/pipes v1.12.1 // indirect + github.com/aws/aws-sdk-go-v2/service/polly v1.40.5 // indirect + github.com/aws/aws-sdk-go-v2/service/pricing v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.6 // indirect + github.com/aws/aws-sdk-go-v2/service/qldb v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ram v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/rbin v1.16.10 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.79.6 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.44.7 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.8 // indirect + github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.6 // indirect + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.11 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.6 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.6 // indirect + github.com/aws/aws-sdk-go-v2/service/route53 v1.40.10 // indirect + github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10 // indirect + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.44.13 // indirect + github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.10 // indirect + github.com/aws/aws-sdk-go-v2/service/schemas v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.2 // indirect + github.com/aws/aws-sdk-go-v2/service/securitylake v1.14.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.10 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.29.12 // indirect + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/shield v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/signer v1.22.13 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.29.11 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.32.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.50.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.11 // indirect + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.11 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.12 // indirect + github.com/aws/aws-sdk-go-v2/service/swf v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.8 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.11 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.6 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.48.3 // indirect + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.6 // indirect + github.com/aws/aws-sdk-go-v2/service/waf v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.3 // indirect + github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.6 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.6 // indirect + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.6 // indirect + github.com/aws/aws-sdk-go-v2/service/xray v1.25.10 // indirect github.com/aws/smithy-go v1.20.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beevik/etree v1.4.0 // indirect @@ -312,7 +317,7 @@ require ( github.com/hashicorp/terraform-plugin-framework v1.9.0 // indirect github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect - github.com/hashicorp/terraform-plugin-framework-timetypes v0.3.0 // indirect + github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect github.com/hashicorp/terraform-plugin-go v0.23.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect @@ -401,17 +406,17 @@ require ( go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.37.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect - golang.org/x/mod v0.16.0 // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect - golang.org/x/sync v0.6.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.18.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect diff --git a/examples/go.sum b/examples/go.sum index 5170063d423..21d37fd98ac 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1231,388 +1231,398 @@ github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.53.18 h1:BeMeCK5e3bDGJj675FhnO94zRci8O35ombWXRvYomJs= -github.com/aws/aws-sdk-go v1.53.18/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= -github.com/aws/aws-sdk-go-v2 v1.27.1 h1:xypCL2owhog46iFxBKKpBcw+bPTX/RJzwNj8uSilENw= -github.com/aws/aws-sdk-go-v2 v1.27.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go v1.54.0 h1:tGCQ6YS2TepzKtbl+ddXnLIoV8XvWdxMKtuMxdrsa4U= +github.com/aws/aws-sdk-go v1.54.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go-v2 v1.27.2 h1:pLsTXqX93rimAOZG2FIYraDQstZaaGVVN4tNw65v0h8= +github.com/aws/aws-sdk-go-v2 v1.27.2/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= -github.com/aws/aws-sdk-go-v2/config v1.27.17 h1:L0JZN7Gh7pT6u5CJReKsLhGKparqNKui+mcpxMXjDZc= -github.com/aws/aws-sdk-go-v2/config v1.27.17/go.mod h1:MzM3balLZeaafYcPz8IihAmam/aCz6niPQI0FdprxW0= -github.com/aws/aws-sdk-go-v2/credentials v1.17.17 h1:b3Dk9uxQByS9sc6r0sc2jmxsJKO75eOcb9nNEiaUBLM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.17/go.mod h1:e4khg9iY08LnFK/HXQDWMf9GDaiMari7jWPnXvKAuBU= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4 h1:0cSfTYYL9qiRcdi4Dvz+8s3JUgNR2qvbgZkXcwPEEEk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4/go.mod h1:Wjn5O9eS7uSi7vlPKt/v0MLTncANn9EMmoDvnzJli6o= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23 h1:g6IHovcexw51hcP0hxsT7Mr3/PG76hZvoodm9tuKuUc= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23/go.mod h1:8KSZ0CibxgOaPk28CFL4DGBdGrscHJr8FuxB+jnJBaM= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8 h1:RnLB7p6aaFMRfyQkD6ckxR7myCC9SABIqSz4czYUUbU= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8/go.mod h1:XH7dQJd+56wEbP1I4e4Duo+QhSMxNArE8VP7NuUOTeM= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8 h1:jzApk2f58L9yW9q1GEab3BMMFWUkkiZhyrRUtbwUbKU= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8/go.mod h1:WqO+FftfO3tGePUtQxPXM6iODVfqMwsVMgTbG/ZXIdQ= +github.com/aws/aws-sdk-go-v2/config v1.27.18 h1:wFvAnwOKKe7QAyIxziwSKjmer9JBMH1vzIL6W+fYuKk= +github.com/aws/aws-sdk-go-v2/config v1.27.18/go.mod h1:0xz6cgdX55+kmppvPm2IaKzIXOheGJhAufacPJaXZ7c= +github.com/aws/aws-sdk-go-v2/credentials v1.17.18 h1:D/ALDWqK4JdY3OFgA2thcPO1c9aYTT5STS/CvnkqY1c= +github.com/aws/aws-sdk-go-v2/credentials v1.17.18/go.mod h1:JuitCWq+F5QGUrmMPsk945rop6bB57jdscu+Glozdnc= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5 h1:dDgptDO9dxeFkXy+tEgVkzSClHZje/6JkPW5aZyEvrQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5/go.mod h1:gjvE2KBUgUQhcv89jqxrIxH9GaKs1JbZzWejj/DaHGA= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.24 h1:FzNwpVTZDCvm597Ty6mGYvxTolyC1oup0waaKntZI4E= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.24/go.mod h1:wM9NElT/Wn6n3CT1eyVcXtfCy8lSVjjQXfdawQbSShc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9 h1:cy8ahBJuhtM8GTTSyOkfy6WVPV1IE+SS5/wfXUYuulw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9/go.mod h1:CZBXGLaJnEZI6EVNcPd7a6B5IC5cA/GkRWtu9fp3S6Y= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9 h1:A4SYk07ef04+vxZToz9LWvAXl9LW0NClpPpMsi31cz0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9/go.mod h1:5jJcHuwDagxN+ErjQ3PU3ocf6Ylc/p9x+BLO/+X4iXw= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8 h1:jH33S0y5Bo5ZVML62JgZhjd/LrtU+vbR8W7XnIE3Srk= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8/go.mod h1:hD5YwHLOy6k7d6kqcn3me1bFWHOtzhaXstMd6BpdB68= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.29.7 h1:6q05M2ViGWE+3GkbiqmmsBsvGCp5gNEZZSPZifURGyA= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.29.7/go.mod h1:cnG0IU6tQf1KxuQ0kbvnCA8Qgfnx7Wyivo8O9j8tLvk= -github.com/aws/aws-sdk-go-v2/service/account v1.16.9 h1:MadkMsGYCYW6P4JoiDFQ8T/Ff+kj6VRKFYnl3ysxz/Q= -github.com/aws/aws-sdk-go-v2/service/account v1.16.9/go.mod h1:OybSrxadd84Qs5XUzH9V0hghotzxD0FAJYSsCc8CZBU= -github.com/aws/aws-sdk-go-v2/service/acm v1.26.1 h1:W4o6dIMmPWjl55ZE2ycdBvE1Q/KOLFqCzVNHeLTyrlM= -github.com/aws/aws-sdk-go-v2/service/acm v1.26.1/go.mod h1:89Ze+u79IkUA44zjubmbg1HDPSGp1SI1JuuUUiJOzAU= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.2 h1:1aMZfAJVaBrj6cxY3ojGn/znOrTHSLttVb6aB6fb0PQ= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.2/go.mod h1:tZnbAvOV9JciQJbqm8Na5fUZXv1EvyRM06KXwzbljmg= -github.com/aws/aws-sdk-go-v2/service/amp v1.25.9 h1:zU9uaQSwO92vayybbVdMG+d6mg1SOWR5OVa+kmJJbMo= -github.com/aws/aws-sdk-go-v2/service/amp v1.25.9/go.mod h1:mlddUJtrN2tKHNpmIG3E91dmuvfFI8cLggFL8H4+w0g= -github.com/aws/aws-sdk-go-v2/service/amplify v1.21.10 h1:OsaYS+/JWNEDDf5YELyGisl3b9Tdd9ueTrADBin6zWg= -github.com/aws/aws-sdk-go-v2/service/amplify v1.21.10/go.mod h1:ldQUWH3j+do/+sM0poEzaO8PeD/+QwzXe3NPLI+YP9w= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.11 h1:uOP/yBKRB5pF0GuJ9hoT78DTRGODvhFpoor5MPwdB0o= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.11/go.mod h1:gp/vsU/c4H5+GOXV+/COOB8YjdTCCSikkNAdarVv9r8= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.9 h1:Rb27E4tz99CxtKLmJ537jqqVq7GUcUc87mbcHiFRC28= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.9/go.mod h1:21Y/m4p04kU1f8ezJ1bPcdrzdgxyqqGTaZx/j1nZBPo= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.7 h1:GpyPxvdNK8NqoRM2Rzx4cdAB+CxcxfrAz4M35UWcUrI= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.7/go.mod h1:EI6wUCGbotAPSfmhAmj99/CBzd5dSpJsJ/XdEUFp6bU= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.9 h1:foygWWx5fS42/ucCucBGP5qHyTFA0pNLXIpHXwOassg= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.9/go.mod h1:ej8tRg5xShaP4W5rcMD7Go9iKwGkcP7Vw32Oq1tgOUA= -github.com/aws/aws-sdk-go-v2/service/appflow v1.41.9 h1:q/SMW1kvWMfKdYCU6jTUbyvGmZrHIuPzpBw0l6NPH78= -github.com/aws/aws-sdk-go-v2/service/appflow v1.41.9/go.mod h1:w13VlUT9+84Be5ac3PMFn5shJGVIsN9p29oWBuS4+KU= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.9 h1:7PyEqMghk3KIAFaoMRC/lUmZP5R0I4pIF6Pccqk0f58= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.9/go.mod h1:aOZE8XojOjrcym2gMlaxcpls/D8DgDDjAfgrsimNTlc= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.9 h1:YsSQsh1brYaShY/2/Fvv+8x+HBu8m6mP8hWzu9DINyU= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.9/go.mod h1:Pjje0RQAC+Y24jsEZpknwL9uWwk+kuAe/lyVN8eGSuc= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.9 h1:Q6rPeL0kBv9mXgTo8SsDxBsgQdaPdmx0hdBW039tX8c= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.9/go.mod h1:FdKPru0+/ApAr5pL4dGKHRz0UqdBhY+ZhjRDuSx+OT4= -github.com/aws/aws-sdk-go-v2/service/appstream v1.34.9 h1:6Y7TAh9HtZxURVFnbNYmlUZuLim2qR0+qonumqDvsc4= -github.com/aws/aws-sdk-go-v2/service/appstream v1.34.9/go.mod h1:2En3KqyLPTHuGvK3yRheC+qLGi/lcbPMgSZguQnUFRo= -github.com/aws/aws-sdk-go-v2/service/athena v1.41.1 h1:3D4DPNdTPCswyacGMbpuOg7RlRcxhl6C23qY933iryI= -github.com/aws/aws-sdk-go-v2/service/athena v1.41.1/go.mod h1:NnUELFpzA/8N9QUn+HvMelMTsO7ji/dsPm+ZFxz6TYQ= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.9 h1:TYjT72sCy5jqtHjlsI59HOaJTY86IC51HgiTJwsrdEQ= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.9/go.mod h1:EesYlytgpWj/zwvmD7ErYFDAbA2mddixGCOSqunsFH4= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.10 h1:jXlt8pQwVXgXjYTJeUAtPpqf/Ryuxvapgr7w2BlULV4= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.10/go.mod h1:sXim2icRtsmYypYTh6j4dLVnMOGxIoAlNDb4W5HLeaw= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.10 h1:M+KGc3JCmMCwjrzOvmKTZc63IC/W3xIy4nJJ/5a0LMY= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.10/go.mod h1:W51/zBIuZuwIPtOki5+LPEemGl5YVHg2umspXQuSv/k= -github.com/aws/aws-sdk-go-v2/service/batch v1.38.0 h1:0ss8TfCJscCvd7ULEP9DYyhvahcxC9uapyahMmlrsjM= -github.com/aws/aws-sdk-go-v2/service/batch v1.38.0/go.mod h1:Go7Sz20JusyAuCbddxU7NKI36XH5cGFjsKE1N1uoXSM= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.9 h1:5bFTggYWi8HLSU+lizpJGQeql4IauGzsx4EPr4OvKyo= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.9/go.mod h1:XkHQvxIw/Yfb4kTVM+pxwaHW/NCn/MqqGO2brlarnRc= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.6 h1:muH72oPRKPkyLf2O4zeJsqBLQOdjB4Bb3aOivesFmPE= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.6/go.mod h1:wHeuIK8LrZEq69mgb3JLFoYUFvsOf6c9+4zR0HdiUPg= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.1 h1:pPOpN4PidOfxi9PlrnbghURbnPH5XWnUTufe10KgmAc= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.1/go.mod h1:awijWYqEeAC6rUeYDyVVynZRsTNwfVDzMHdOKlOi+YQ= -github.com/aws/aws-sdk-go-v2/service/budgets v1.23.5 h1:+8X3KnVOSJ7E0jwTU5a2g4EpwPrGwZxUhA5iFiOInCg= -github.com/aws/aws-sdk-go-v2/service/budgets v1.23.5/go.mod h1:3ERfQNDIDggodU+jvNCw603e34yOAXD1HbvgEJIUSag= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.2 h1:RGTV3Z6ik5s/RGYXGWZFOQBSrd/ICZi4tCcZCYon2iQ= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.2/go.mod h1:1wFTPpScELexlNaBeMsfinctWUUo0vrV8dBg/MZp1LA= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.10 h1:BxSly3EMRSZf3Oik/wWOG29qmtN5vQZ1HYPJoDT5TAY= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.10/go.mod h1:q4xUtlugssicwS7LkVMF/b0BIbCQYsap3WG7Hq9Rf24= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.5 h1:vOWcsAQKyA1AMHr5UpRNfxxpFyxUMxlBH58XfiCs7c0= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.5/go.mod h1:aD0UrXaUfH7pvlGvm+6eBB8yxbRbGigbHvoa4FxOM7A= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.5 h1:uvhcW2IT6YYT+ueDRrXJGEQytoDC/fvLKEHnsLL8wBo= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.5/go.mod h1:AbquvPv3vI71Yj+Masu3krIsULx29rHAQLJqxGBfK/0= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.10 h1:xM2wNXt77YA8nTU22l3QTyMsiO4kTPb0eP5vA3LdJUI= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.10/go.mod h1:+5URMBuBHX0x6MgcfOUrCRGmlRkQwbRu0SaNT8hseBw= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.9 h1:Wp1QFv8uyNpwPXSI/a6TRkIR0CiT+Fa60s5vVTsFdXM= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.9/go.mod h1:pFrHzOZRN/EfWL7ygk9ELdQHqRGERgOgP03OLIOlQV4= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.2 h1:FBc+xcfqpBzYl6WWIBk3AB9d/oc6r2sn/mYPnuORCFI= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.2/go.mod h1:qadtdULA3L3WyTz7ybmu46Motr8ckS+zGZS+4oXLxH0= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.5 h1:DKx0ps1B8V1xBeFd5RgKQ/lJPiB43A4AzKLdgiooIOE= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.5/go.mod h1:TJgAoZFGs+7byrhDmluDEGCt93pLTDlxGjMd4Ia7jfg= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.9 h1:lwen9n8AdIY9BB627RF3Ax5IaQx29sxWQn8R7XmrJvo= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.9/go.mod h1:HLCHANLx2q0m/eEyYa2yvzO3GQjRH89T8xetHgM8Rzs= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.9 h1:t9WFp1T4MXN5TzFwQyIRU1IPEuWvBGMkO3ys7FyRoqg= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.9/go.mod h1:Zy3dSIZhPk4L4PTRvN3vmmq9/X8NQqfgQx+a6QODx6s= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.9 h1:l6DbbNYmFducKo+hHT7x+ob0pxhnRunZCqIU9248/ZA= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.9/go.mod h1:MuXw4qV+Ee8v9LcrQbhEAErIV7JpmW5cUai/XNQQDVI= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.1 h1:oNvFCFZz6yXvnr6tl8OiBjiHC+EmNzkmrjjFleLu770= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.1/go.mod h1:d8nesi91YHJGg8VeltqnVv0TYmQ4LuLcDFtonPixugg= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.5 h1:jyvrRzJdoGjfCExDxM47Ii/ExA3i+H1gBPw2zlqlcaY= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.5/go.mod h1:MFZAb9T6kbRKTa53yHkANoRKCqGradZyyoWHS440238= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.6 h1:tXVolP2znfXC3nBOxQfcgH3zW/owC6ZetE52wyWUGr4= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.6/go.mod h1:uCZnP2Kf2k/KJ20fVok7//GDqXVWzxQSSi3qjdzQdMI= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.5 h1:vrPOyJJ4Ph445jYq+1jFEpgmZhwHe9WX2V4OylzOV9M= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.5/go.mod h1:Jk7hUaInLPjpZc1NzwB0gNYghUJLm9AvwfKuAsGq4A0= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.2 h1:mnioxU68tB2WgpNgQVarbhU+wsZ1GZE0H9jLP/uUQSY= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.2/go.mod h1:WRxr+oZ82iydlU2cpLjntR9N5+TNAhQ0MmPxK0A+JZA= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.6 h1:fI5UEAVNiDqnzhrkCRMiEUHwRmWLPERGl83aJ1HaFpE= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.6/go.mod h1:Gi7YJyKguZq1pgtqE+GT5K4JLxGFuBXWYO7l7/szEUc= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.9 h1:ZYcHHKeg6hOmZ3FlSymr5bJZpPTMXRgfZhhukQYruzs= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.9/go.mod h1:Hfm8CW+xQUbAfexpS051wcrp19Lah2nXESiYQlwGVc4= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.9 h1:YCKBVqEkK/of4mo6K4xtd6ufMacw4vxikv3G8OQY1x0= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.9/go.mod h1:kZyRQhOR4+WVZB65xG6xtYtolpBTsxCm8G8RovQMjOY= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.9 h1:aOyANAp8hjqNKbTNaQj6aIHKUg/n8eOliKaWl3JarAc= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.9/go.mod h1:qySguuarVfRmMxMLKBO480QGQns0+4TKMyBN4vR2xwc= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.9 h1:eaEUjR9fvG/Evf89kXpEbo/JlaNVc7JFmzulHjAAc/c= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.9/go.mod h1:gmf8ZX3neJRCXXT6jvmkxyd4ep8EahbVKkngPZ74CDM= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.27.5 h1:tdklfuPmP/IRsDwkvF21lMtJgX+ZkOjAogcEpmmtO5k= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.27.5/go.mod h1:qVh/vi8z1CA7vQYE4O5vgmOiPcIaY+0gIhA1A7cQjRI= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.7 h1:M1eQwZJxbFMTqjZz1bw3pgZWxHrg6KxI49oI3qVOiZc= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.7/go.mod h1:wzCHPA2yNJIO1rLoaShOaU9VQfpUyDTaOYBC52fJ50s= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.9 h1:eC/DreRM4xdByIGD8DetRnbVnkOyUgf3ll/9iqow9IU= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.9/go.mod h1:eiGo1HOvfJ/lLYTI8pxzvy/vBoxIwf6pLJNASHiDW1w= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.12 h1:pCP3UvACOEz44YxdU6Yt8Y31RUHb+YAFm7qJeFBxzP8= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.12/go.mod h1:vX/HrY/CrkdxiSV1/fn6Xz2YcYTy68W2gKY5ikoukW4= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.9 h1:CW735M20pqFrVeH8DKGae/Zsf8QOUtFudbxHS8CzVqU= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.9/go.mod h1:DJ1VFgvnwm0+Hbl1BRQcH7wt8qpJWg6e7inLC59d8lg= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.6 h1:ebXoh6KPFE9svQ2jOyUIGB1dU7rROKXR7nDsO1umd94= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.6/go.mod h1:eQMb7jz+FeFVUDM4kBczh1WhPW5n5jTDCTlDv+x5ADg= -github.com/aws/aws-sdk-go-v2/service/configservice v1.46.10 h1:rY3jnjqfiCI/DatSuriXt55yPwFb39uErKgH01fDtb8= -github.com/aws/aws-sdk-go-v2/service/configservice v1.46.10/go.mod h1:nSjj++pObQHd23H4ptYGUXkwOoAX/nwj0SOU06cMP+Q= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.5 h1:kb3/AFtz6xAZXKG4R39I1gsknMs1nBxab79nNk25hw4= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.5/go.mod h1:6d0nOWBdkUgrq2scypNF3k2zGhjpU6Wxy9/QWV9qSNg= -github.com/aws/aws-sdk-go-v2/service/controltower v1.14.2 h1:TZ/9Bmyqsej4nCKlkPQIaTqXM6Bd7xqDdYYACcCYje0= -github.com/aws/aws-sdk-go-v2/service/controltower v1.14.2/go.mod h1:WbLjgaKpccbQCoCOWcvfRkhs3B44trmCyqBQEwekn7c= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.9 h1:7FrbJ4aJLFx8/Mkh52NMRObDQZzsyyRbFA6WyCzyGvU= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.9/go.mod h1:86jlNAeESKhrHzi2b2dTr7qeofl+6/SgaaxLqdBGsyo= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.5 h1:5ihWudE7yBiGhfBfj1ukKMokhsupldhTnYKJitd2ITQ= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.5/go.mod h1:EG1DJU0TsNpg6Ebomvv9gAGuz1A/XlA7ZYQem/+gDSY= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.9 h1:YdtaUZGZuVd6dEL4FWPJTJjqA5hoOYzy5TU9kSfNhwc= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.9/go.mod h1:FjmMN20q7BlUL6kntP5G1ZX0PGCSNeP5Tlz5wHp+v/4= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.9 h1:SYaxmq1dcInwtaiRKe90GRmQpBHDah7pQlb6GenrJiw= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.9/go.mod h1:bQ7ZqU8EP0wYiGdAwMBQGB4YnVL6OhmEON4qj2sd1ss= -github.com/aws/aws-sdk-go-v2/service/datasync v1.38.3 h1:22ofAvnuh7pqMC19Be7qqiczJXebTLlaLgd7feo6n2M= -github.com/aws/aws-sdk-go-v2/service/datasync v1.38.3/go.mod h1:Wp0BHCccttxO3F3yPUtqvyGLuppjglXOIakUdzeKXCY= -github.com/aws/aws-sdk-go-v2/service/datazone v1.8.5 h1:sqMn+Tbxvt/d3HactmeKPCeADOI99DkrBXjA/KbwfXk= -github.com/aws/aws-sdk-go-v2/service/datazone v1.8.5/go.mod h1:1Q+n8iJiRNtXYkECjZ7MKTDn5w9xg1eQkjPginSfxBc= -github.com/aws/aws-sdk-go-v2/service/dax v1.19.9 h1:mvVNF4tkx5OQSKZiaKcjqrfz1tTGGV6+v6k0GKrvPQ8= -github.com/aws/aws-sdk-go-v2/service/dax v1.19.9/go.mod h1:5FJP0sA22bRPLsj3Aj/D26h9JYHIT9PyWOUhd0YSlpI= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.9 h1:eLAJEpCINOY0E75BKpBwnkG1xfi20EK0QtocNb5+IYw= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.9/go.mod h1:2uSmwrJTMEq6+33BjavHkqpIMiw2z5LoDWDpDWvcnF0= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.9 h1:dvp6kG9iOateXDsUNQUfA0u3hCl16b6sFMmXZEq77RU= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.9/go.mod h1:iKZYRujMonknQBFLRab15aRFGkezP5l30eDDd9ZAFU4= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.9 h1:IUT9X0mSw7nn163sgApcIwVbsu9e4cenpO8EoXlFFeA= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.9/go.mod h1:D4kc1uNcsRFGQTJzZDZiLKU8slsvgeKfFvoLDWahYZQ= -github.com/aws/aws-sdk-go-v2/service/dlm v1.24.9 h1:rbCsQ+v8ZhPCyraCMGJ0ryoRNyOST+Epqf7BLFU6juw= -github.com/aws/aws-sdk-go-v2/service/dlm v1.24.9/go.mod h1:TDugCcN4kVVjmf3AyrgJxF+bMGo6xE0rIqzekOdBci0= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.8 h1:h2e8qCW13l+HidSl5AL/yyTm7SjG+1rccnL5v0H0DMs= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.8/go.mod h1:sNRGOjnAEBY66qjElTl5VMEv1vm8bCD0HNjheIpsG8g= -github.com/aws/aws-sdk-go-v2/service/drs v1.26.5 h1:KGamj85Y3eghj2i/D4Hm72rjkHClGSQv3kiDb/17sUg= -github.com/aws/aws-sdk-go-v2/service/drs v1.26.5/go.mod h1:hgzJdiCobHu4Oe5uaKGQGlftUn7rpgGI9EPBgNTBAAk= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.7 h1:Y0pFOzMrx/c6mVswi99Y9UmBfbBhmFsAzuaJDXTHd0U= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.7/go.mod h1:CYR+43Fe0qazBzSTrIwSK7uYdYVf958kwGF+EQgQqhw= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.163.0 h1:gwthjSMr5tW2fYBJNt3LQGgtkREvv5IcuaWRjeo1fh0= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.163.0/go.mod h1:eu3DWRK5GBq4hjCr7nAbnQiHSan5RJ6ue3qQVp5PJs0= -github.com/aws/aws-sdk-go-v2/service/ecr v1.28.4 h1:nEnhbD8rfT+XGoD5ETf81uIVYZMFigG0XpnsTlreJmQ= -github.com/aws/aws-sdk-go-v2/service/ecr v1.28.4/go.mod h1:ZjUXU9PCqBZaGjYVamdzpY1gIHdiyKHNRdjQV5V/iO8= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.9 h1:+GMe2/1NW21VksHgdEWOqWOcxly7eIq+l19KTQQyU6M= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.9/go.mod h1:QweEjDVzCQwmTNvEDz8gS54o358TVJkqCS/lCfQ62Xg= -github.com/aws/aws-sdk-go-v2/service/ecs v1.41.12 h1:PP+1o3w32h6ZcQXJB8SE8xcd7nv5FGVs1f/rowqBW4Q= -github.com/aws/aws-sdk-go-v2/service/ecs v1.41.12/go.mod h1:wiwrrDV7ppDkVjnKBkBx72Qiy1Hh0pbdqY8+ipXvT74= -github.com/aws/aws-sdk-go-v2/service/eks v1.43.0 h1:TRgA51vdnrXiZpCab7pQT0bF52rX5idH0/fzrIVnQS0= -github.com/aws/aws-sdk-go-v2/service/eks v1.43.0/go.mod h1:875ZmajQCZ9N7HeR1DE25nTSaalkqGYzQa+BxLattlQ= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.7 h1:jxO/Nxg4qot/KbV6DSnWjc6OFlHmzhIyxZ9k5XgLDZc= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.7/go.mod h1:Qme5R5YzOzalo6w0RY4vITPbY7Gg5NBKu9wkOTIC61E= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.9 h1:r1BOQn2YVFgTGPqcsFzbeh50UNlaAlMDmnZoX4IkgrI= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.9/go.mod h1:14m8XOiPPjvkGUa62fzMGsa9H06n2h2Hx1Q+JkRiWko= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.2 h1:gUlcjgmgyDd4iy3W3cbxpCXv8n3sym/2iGeqtAAT6x0= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.2/go.mod h1:F8qHFjuWUd6lCi4xxdv+ZxVeYmee49pzoQZG9hIornU= -github.com/aws/aws-sdk-go-v2/service/emr v1.39.10 h1:C43PoUONgDe29RJ2xS4fLcbt3wvINZejFki0LXU3zys= -github.com/aws/aws-sdk-go-v2/service/emr v1.39.10/go.mod h1:3coXPXZ3pvysGppxBBWSuBgfJJgw0CLAWSdOw13peX8= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.1 h1:q0M9pxjrWz1eBc7rzeVExYsI+9zR2pfoeCowRWQjdxU= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.1/go.mod h1:gK8y4pQpHpVoCdZ7Gbq50DgwFOuPprXB5oKq9XQ+WLA= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.4 h1:uPKGvZlwm2vI2zd3YsyCqbHRIHjz5HoHBHYLWvS4wfk= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.4/go.mod h1:RWFNpWB/YcbRCRYU9Z4eprbWpUpeaus4e3wAxCeYd+U= -github.com/aws/aws-sdk-go-v2/service/evidently v1.19.9 h1:rRr+y95AP9SjhbSbtLxvlYwCtfIDAZleSP/acJDPEIc= -github.com/aws/aws-sdk-go-v2/service/evidently v1.19.9/go.mod h1:WO9IOGnJJ7DJyZY/dZV6ubh+RYktqJNsh4LvsqbxcDI= -github.com/aws/aws-sdk-go-v2/service/finspace v1.24.6 h1:6Q6B0meSNri5pNjj6BIXWaXwG7DxzycXSsJxFUllINc= -github.com/aws/aws-sdk-go-v2/service/finspace v1.24.6/go.mod h1:artpSqyfWcQOiEo30+PkyMC+X2FxbFn/6jhQMtGAB+A= -github.com/aws/aws-sdk-go-v2/service/firehose v1.28.11 h1:EnsIMXQzQ0HH0367oyMGcTU63pLB2fZJYAt3t13OOTM= -github.com/aws/aws-sdk-go-v2/service/firehose v1.28.11/go.mod h1:MLIJ2PyS/PqsER2aa1fjv7hCAX4fHJpW5FqVE8ZK37o= -github.com/aws/aws-sdk-go-v2/service/fis v1.24.7 h1:AkpQeK+HgEJZIJLFD4vQU7mXCrED3ngIL6TA/sKpuMY= -github.com/aws/aws-sdk-go-v2/service/fis v1.24.7/go.mod h1:7x7GIZ64mv5wPZKhHDwYvD2cv6URb5wS5Xrt2QYhLLM= -github.com/aws/aws-sdk-go-v2/service/fms v1.33.6 h1:mmICRSNRgcV1UIva6jfnGl8deNHPyqDU+92U+Y7en7s= -github.com/aws/aws-sdk-go-v2/service/fms v1.33.6/go.mod h1:54BuIVUiFxviRbkYHQZNJCena31Hu/4pfj7I0TZEg6M= -github.com/aws/aws-sdk-go-v2/service/glacier v1.22.9 h1:VEV/9IVykgeCD76wE+MRvSB8FOOo3GqdK17g9EuiypU= -github.com/aws/aws-sdk-go-v2/service/glacier v1.22.9/go.mod h1:YhA4aSfqiqBGagXxuT6jf8zQ79Yb3abiZpdtRiIljpY= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.0 h1:SGVSJQWO1i2WqlzfatepkLu3+NuvELohsKVjWovDDaA= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.0/go.mod h1:45UdEiD/JbcgBVwcLZZd752sAutrndMdvNop/3js2oI= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.5 h1:mNgrkKH+6B1dtbkzSVA8qf9fR9lMg+mUEYUBNnWeWyU= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.5/go.mod h1:a8x2abmJoP3bGTTsX2LYIIyj4tMKLG8ophLxHBF6utM= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.5 h1:3BYfEzrCaDWyUOMDypGp6GyFYl3xYbAU88LQr4cTj4k= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.5/go.mod h1:fmn1PtN7zkXWRLCNW7YS9QXrJh5mJ3SYv3wppgVVQxA= -github.com/aws/aws-sdk-go-v2/service/iam v1.32.5 h1:G2judWqHbm2bDrmJPj9W0nD3Pv8+WzhY+fAAEQMpLf4= -github.com/aws/aws-sdk-go-v2/service/iam v1.32.5/go.mod h1:RorjhuicJ7tEwun17BEeD//1JiPdvxPv15KOa9BKxS8= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.11 h1:EC6Yxxzw1n4b5bsVF7JAyGIK/V/Mce95Ij8IBIX6P4E= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.11/go.mod h1:h4eA/XwjtoO5dN6BVpOaBSOH6hUFM+PFWmAnx9wBkMg= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.5 h1:UJUc+S6kAAivhWluw7+DGZe2o9VzVPD0LvyUgj62htA= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.5/go.mod h1:Z0WGPJQcCcl40bqyYxr/iDvyR0MPqsQr930PESO6TcU= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.9 h1:vHyZxoLVOgrI8GqX7OMHLXp4YYoxeEsrjweXKpye+ds= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.9/go.mod h1:z9VXZsWA2BvZNH1dT0ToUYwMu/CR9Skkj/TBX+mceZw= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.30.0 h1:l5NODu13ZXBo3SIuWlSqM8W15UkmGb1CfoT9LMePiGQ= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.30.0/go.mod h1:+J6D4VAx1rypnSo1AI7XIx4v3al7RwEmTT45+hKtsuo= +github.com/aws/aws-sdk-go-v2/service/account v1.17.1 h1:4NJR1yu7rp5FxJqnqpRaSnIiq/EL26EBaGFnLh3TVlM= +github.com/aws/aws-sdk-go-v2/service/account v1.17.1/go.mod h1:RP2gSKo6kGbTkrDVhsK7BDmhobfBc+0O1dVI1VGNR0U= +github.com/aws/aws-sdk-go-v2/service/acm v1.26.2 h1:BAAPzljqPgzr4vJl1aI+qwWArot2Ev7jZy9i69Bysvo= +github.com/aws/aws-sdk-go-v2/service/acm v1.26.2/go.mod h1:UxBKNLjXNINYbDrT7DG7ZHYEK2qOT1m6XJeKY+LitbQ= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.3 h1:bQ+4RthpbM3w5+1Z9l/OoANG1J5Nl3oNVCL70dZbEV0= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.3/go.mod h1:JV4s3XObODdRk5gtgA5uKNSLhCqi5WRvQgnzhkMvJEk= +github.com/aws/aws-sdk-go-v2/service/amp v1.25.10 h1:aGSGpPg6aGoe/v42C2iSQqzDI778m0YpMolinM5SeIE= +github.com/aws/aws-sdk-go-v2/service/amp v1.25.10/go.mod h1:wyfNo2hj/f8yPSdberXMJv60eUG6xGr3cDLVF4jJivY= +github.com/aws/aws-sdk-go-v2/service/amplify v1.21.11 h1:B4BzoxzV8vio6V07yEDEqpVrhd2ciD3b4OkF2QGpgkA= +github.com/aws/aws-sdk-go-v2/service/amplify v1.21.11/go.mod h1:Ev3460rW8/OmH3bJBkMZDgZR48c6wl1d4DxA78h+CWM= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.12 h1:B9YQUaFlg5YAEukEogYG5E+C6GHHAMNbS1g82rgxRSg= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.12/go.mod h1:zwkGhImFmKYyfIjJb2jBVd+cQ+pq+APQNryk9Tk57Ps= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.10 h1:7rAYDeRvzVKJcnNDT/xOX1px9k/scn4Ya4NtonV6PWg= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.10/go.mod h1:hYMrp35CMcqnG1/+ZuaqOCl8YoGdb0+OfB2o/CbT7AU= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.8 h1:VlCuJtG4WFXaYWqqX/FK6L+yaS8hRJNA9Q3c0Vrv018= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.8/go.mod h1:n46CP0fdiMHscrLc9E4E/AW90LxtoD8KAs8GBOlh1ZU= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.10 h1:ZH680e/x/CCEZuumTWovuPFKvHjxFe6FXOjD7JOYr7Y= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.10/go.mod h1:gNOb1nyhDzbyNir5SOA+O502Gwy8HRLCZZiWF856+hw= +github.com/aws/aws-sdk-go-v2/service/appflow v1.41.10 h1:ozylppjAYagJKcnCEQL8pKPT2b4B0IeeOwCYy/ZMTO0= +github.com/aws/aws-sdk-go-v2/service/appflow v1.41.10/go.mod h1:MeLW0NK8MPEUQm7XnZniE5rQRLiGKbu49kHWWdd5lzI= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.10 h1:tCGbQBGGMcgHZmSLcRI4lvU/y3l36z1GHWd8w9Wl7uY= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.10/go.mod h1:DItbH9nkfmNQJKfARIjF8kktLUOv0lQ8oLeCoHX6P9Q= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.10 h1:ry4D6RPuF6FrVDaFaKgwkLYV5BrJE/rt3m6K6FQYZqw= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.10/go.mod h1:0pzgHdeoNmeBekRPJl+DRXNJD6D9FqTcD+tFkK81NRg= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.24.10 h1:5XwvSPLjQleCuojVnUqMqYiD7UHfrc29GOZmpj/bB0c= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.24.10/go.mod h1:Xrzju78vcomnDMXDJ9T6qWk6wHJ6HgGUQ4Fh9reSFL0= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.10 h1:wGqe+j9Ab0kSbrSTI0AlLbd1xMp8vj916/pAAe2F48I= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.10/go.mod h1:QqiGYjaeD3O+DGHeij4FZgMEW+pzqJUCQBbcseLQeJU= +github.com/aws/aws-sdk-go-v2/service/appstream v1.34.10 h1:JhIT4EGxtjpmIC9l9iLWGw0j8FZezbsqADa6XwkD870= +github.com/aws/aws-sdk-go-v2/service/appstream v1.34.10/go.mod h1:stS2ZSwmXOl+IeWEQWFyo8++JVSuKwuJpMF+EJTNLco= +github.com/aws/aws-sdk-go-v2/service/athena v1.41.2 h1:PiTlzkJrnYGHucoQQ8zDvgf/vKDgDps2FVr3GIWIWdE= +github.com/aws/aws-sdk-go-v2/service/athena v1.41.2/go.mod h1:XCkSMZRqquO7222ELibKBj+bDjg9QeS2wkVKcW7z2Mk= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.33.0 h1:vrvI5gUkDC9s2ogMPTgpLaAca3V49TMi5JkopstiOkA= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.33.0/go.mod h1:w6hDogXBS5N3C/OsuPFbmjzBH5B/MHnZkAsO5aerB6k= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11 h1:n0OjQw2HMbBr1g2M3XzzNTV8srYSoLkYgV48jiLkqbQ= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11/go.mod h1:qaQkZEptpHa0HhooCCONUjxvYbkgHtDuG/cCDvJt6UE= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11 h1:EphDT9zNEntQAikIWgSm368R6CP403jtG+f7k9xrtLk= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11/go.mod h1:9nh1OAv8xttmIE3AJ2hWAROcSdsrPMyHE+4tLW7BO90= +github.com/aws/aws-sdk-go-v2/service/batch v1.38.1 h1:AJUFYzHn6B6vYa3/MHZkdoAx+0QExCKXiO7YQSIsMN0= +github.com/aws/aws-sdk-go-v2/service/batch v1.38.1/go.mod h1:3EYTC8QgdDTgwytlDYvWUvSTgmyQ/4V5rCJlma5ZTvk= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.10 h1:oBaVBnBvkDh/7gNz7Fs6EbrVdMMfnysCoach9u9B0zQ= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.10/go.mod h1:ukyl81iTQhkgiZydbzFTdh6ddHza0HQO/vffH37X5GQ= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.8 h1:xYOVGI6TC1gfli10NShlRsd80pe1Fp/t+LXJNIshihI= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.8/go.mod h1:jlgZZlnucnhTwwkt/MLIYT9GRq+hgjkkaLNwWaqp7lk= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.2 h1:5mpsZ7TDvTw1TpT7DnSQTUDMluVPZdccKzhXGThQdho= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.2/go.mod h1:sR0KPW2UZmFP1A9xAIO9lQIwh/uzmGy9hTenzuyems0= +github.com/aws/aws-sdk-go-v2/service/budgets v1.23.6 h1:2NdUhw2XHwuT2sK1849T4FEl3dNB6mebOWYaQV/T++4= +github.com/aws/aws-sdk-go-v2/service/budgets v1.23.6/go.mod h1:X69Kb7PDBlJCYyAh1nUS5oEjLplyvIxxTOmEOXVZ7uI= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.3 h1:MU/H6Bopqtfu7SOrVy1fZ/eZzX1gKKHqXIZAerKxomU= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.3/go.mod h1:Nup6J+0ugC1ddxf04M4e+Tl8KStEJ2m8DIuwIaFwqBc= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.11 h1:QWZ/DP2bVhPMKHfeEI6sZ7QOxCXpW36HavOqKCo2wTg= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.11/go.mod h1:pQZUK8Lm31nCPFLsDnZUDvmRxw/GGLqF7GtZvEZPB3A= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.6 h1:u4fcjpNEk1X0K2x7BvmssdWgavB65KaeU+t3Qi3juUc= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.6/go.mod h1:Wh1ryEf52xU0QD97S9+IGGk8Rv8z0zNmMsXyu0ADTmM= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.6 h1:NxemArZLwYuKFSSbbD9tIci6qVvCQtJcEZc2jg/Nc08= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.6/go.mod h1:eNWgs4jaUQhfmFU6kail21dJ+zookZyxmQReFajmn7w= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.11 h1:tEWBfvLgInrnrNPIN1dHe5T4o6t7tPrh6wMGUaBA1S8= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.11/go.mod h1:HApCCrEvcY5kj+d0S/a7bjcn5XoD6JYKHGrReD+R4E4= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.10 h1:D8E8QEHZ/2yt7GEOdlsQMypCNYs6RoQLlV2UBDbBWV8= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.10/go.mod h1:lQc/tta6L/lJIOJEd+coKVFi5qum1oNe/8EXBNtK68I= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.3 h1:HlsyxSED4xEtAq7WsFh7oMuBg2OnK+Q2thz0MQR5uAY= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.3/go.mod h1:KiLdmslIONL5WXMrelwfAzisbZ5UckYT9FGtZJASKnk= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.6 h1:dYxK3oAOXbryNOs4qnWugEe6oWh50PWLPe/Y1CoJGzU= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.6/go.mod h1:tt1D2vhp2ZJbQ875VVxsXgx8z2OWaD4kgkSNqQd0EOc= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.10 h1:7aB96DEtCf33kX1i5zXE30UZNStVz6EuRk23e1gGfkY= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.10/go.mod h1:wt0o+YJBTQocmC/8rixGl9Ovddw5mfz0IghtpvS3sRw= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.10 h1:Olk2n5NKBCzkRCeQILoQ3B0QSBr46u0WvnjoohW8TXI= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.10/go.mod h1:x2vWbMhG6oBV4SZ51ew4X0Wm8dig5d4zM5Z9W8HOCEc= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.10 h1:x2Z2nDm6Egfu9/VIHRWsHj9aeQe/XAc2Ox3uId/4/HU= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.10/go.mod h1:kZHeNQxC4Kynj/C/FN9L6I7UloX3l0geJrx66diSNq0= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.2 h1:oUpoMnt8H30Th/P+goSYB57aaIMHgO0ri0Bs/zFDo30= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.2/go.mod h1:NlPpu+9PsQp311DfPxg6gvE0NW2E4xdVSWZmu6pv1dc= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.6 h1:UVjxYe8VGpwXYcmBcciBHlQrNssdEvntXCPWmnRR15U= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.6/go.mod h1:4V6VDA0kZavRn71+sLpVna75oobnlG+gwtnNcBwZhu4= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.7 h1:kG3A4w9GMub28Cn9k0M5c0F1wQLbTCHMvsb9FlUXGu0= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.7/go.mod h1:Ibm/16D/pKg0k9InRCkG6DATLfHGMRWJ0QVS06ppVjs= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.6 h1:7h/vvPE3FmutPx1hz9ZiUWbIutlBnYe9cpnOvapV++s= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.6/go.mod h1:QFlahZ+Y+RempIF6zMcl/G9/r026ERriqikzRZjDI10= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.3 h1:M9D+qSdebooflTy5FZKjjc0ScIu4rY8wft4pProSOfo= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.3/go.mod h1:oLXvRVcYUh9Jct6B4yBtsOrj2FECvBXQcTMnpHZrUl4= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.7 h1:1ENRDfamQrcHJLuSRBuNoiSjMpmGHMXY944F/XN4wII= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.7/go.mod h1:JWrdgdMeoK2tKjF4HJ6YX9zA+7Ibnrs3UDjhAjAUQSg= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.10 h1:vlf+RZWguYZJzbC95Zoddg3elMg3ZmH8nSip9LF4TkY= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.10/go.mod h1:jN+rcF5OPMwDpAJ/uK16MAUis/ByjN1YB/fmPISRZ3U= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.10 h1:Luq+/0wysA7vYfrgp+z6K1sbSMvAGsM8lyfD+Ps/q3k= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.10/go.mod h1:Z/PUeQGN2+03OeszXPaNB1VPyDcPeaYlqVfV/pfpt4s= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.10 h1:ct/fxqFdGYXzIlX0p8mD046Mq4P0w5gckhZ7agfdQ/w= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.10/go.mod h1:7vAwI4YVdWl8cB+bmtoxL6UaJ/hsK8L5YJwYYDlN4Vc= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.10 h1:Za3irwaGoBfCKXJqeB9NjBlVu60a9FPk8aGI7c8KlsA= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.10/go.mod h1:Z+hqC2q0pc/cjVHEN/OGEQOiyIHHlHqajV6agFDWxAA= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.28.0 h1:DPb5NN5t7oG01Dskb1qaURIAMA6GG7Y7OuVJDZZnLHI= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.28.0/go.mod h1:wiyjnfFARpwbUaFukzDE/vFlIsT+18D34fR1jfZhLTk= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.8 h1:J6ToNokSFf2TooLPCbu0gE8pxNm2eCx1KPeiPQttI/o= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.8/go.mod h1:AbHoQZ/Q3D7EuTv0s9G8Hq2MnLPuKh7CtTBZpQeZJOA= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.10 h1:FRNxZelyamjes/KzIx34Gf3MDJQhrQVRPDeXdl4Vmno= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.10/go.mod h1:5O6onn9kBfuiAmKoQFRlwzyLtGL7esOY785J2RtporE= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.13 h1:pp2Id7OxLkuBt/RwxTljUnrZI/0bGPwvew1qiqRK06k= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.13/go.mod h1:hYHhbLzJbPEqtn5AFIX3gxUAVxjZiIX/k0qkrtYPMAE= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.10 h1:V4TT4lZvrK/+FWiauEzKhzkmcOihlWhLI99ok6DC2s4= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.10/go.mod h1:NMZf+QBFmS1wKKZe2usxSi2AQ/CMqauSFAawT8bWb9g= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.7 h1:j2o7wDgqlk0o1kYnnJAmfvRA7ZB8CfQv4bUBFe/0vc0= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.7/go.mod h1:a/820gyN3ykj8uh/a+W6QZtq7shWsI/BeYHsRtoQyxw= +github.com/aws/aws-sdk-go-v2/service/configservice v1.46.11 h1:oEpDPoRfF7H8kuRT3LiQ7cfXVAgvTSIcxkxxTllNpvQ= +github.com/aws/aws-sdk-go-v2/service/configservice v1.46.11/go.mod h1:9iyVzn5BgTmy78KTlYJPMqP9ZPm6ripPx9DlM0f3PDY= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.6 h1:xyRQg7ofUyvUvKTcFIoIkZjDnPyk9attgie20xf1TvA= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.6/go.mod h1:bCdstM5DmKcnyJ4WtXtuZ2pGW5Ysgj+jQgjcwI8gyFk= +github.com/aws/aws-sdk-go-v2/service/controltower v1.14.3 h1:5TQoE8Jqa1faLxxF3JEjrLnogd7yuXg/OQh87145qPc= +github.com/aws/aws-sdk-go-v2/service/controltower v1.14.3/go.mod h1:SRnSiyiSHUoo57mdNF8NwLhakUGYbD47FVa5nOi3QM0= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.10 h1:2v7SRmVjQkKUz/+Iz1o4CydiXYZ3YRnIT2otTXTQzAs= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.10/go.mod h1:6z5YYMxC98CbbGVnl4ZTSkKQ8doQGgG+vrMxgjepdHw= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.6 h1:QmRZhtv8MJjzwBvtYcNygr2qEy3+efdW9VPNVBdRtyI= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.6/go.mod h1:Hw7bdrxR6Whnc1Gm/dL+3O47yvxv6fq691QDuYP4CRk= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.10 h1:Dureguz7Rt4oCM6wjJ+8wnHVxzaMxE1yXoyx0dl6L40= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.10/go.mod h1:xHvn/2S7UoUmuCmhOjFhxUJvVIYcFveju/wDRTJLUGo= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.10 h1:ihZtKZKPLNUFBzvRoZ0kXNdO3scdNwmLrZlNDCkYIj0= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.10/go.mod h1:/9TqI2Eb2CsFDP+NT6364fdmhy6/ENIRuOnyVInI8tI= +github.com/aws/aws-sdk-go-v2/service/datasync v1.38.4 h1:XPbgYirjL7lgxww/Giiz5+sxvR+PsrUi7hEd0G2O7Tk= +github.com/aws/aws-sdk-go-v2/service/datasync v1.38.4/go.mod h1:rKicbpvp17KIjesRGNiZTrbKVPkcUvmgsHro0kD2xxw= +github.com/aws/aws-sdk-go-v2/service/datazone v1.8.6 h1:+HLFrID7P2vMu4LDXQ3E5O0r2hlz6CpdSD1Lw/3EBpE= +github.com/aws/aws-sdk-go-v2/service/datazone v1.8.6/go.mod h1:qPKGqWEw4jbUCQbDg05JUtAct5X3N3tEfNF1JUPSqYY= +github.com/aws/aws-sdk-go-v2/service/dax v1.19.10 h1:0HyYc5poHunpMVyLao0aFUPx1T6S7OoD42T5/BanD6I= +github.com/aws/aws-sdk-go-v2/service/dax v1.19.10/go.mod h1:e28ilym+zzgzWaINgcaGR6xhZDk/JD6YzhNlOCLvYwg= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.10 h1:xMDzASghupXMJCyD08fHbGzT0lXYghMvbGGtNcgWc2o= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.10/go.mod h1:2dpVfQeot1pkyC3nlxLa/Re+Cj3+nBkyTmLV/QDQSkE= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.10 h1:uvlI0w0PGHmHMEjvEfUyBWpR9xdabJoPSjX1mps3Z9M= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.10/go.mod h1:jORIT/Q3NE4NFozKMvf5WUH0agl9oyB0w8nundUs5x0= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.10 h1:z3dYRIakCsFQtjjR7nUYSHnzBPnSPdUYH22xt3EFUtA= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.10/go.mod h1:/QLtpNRcVdFov0Lg8hwzryhLzdoLHS6pdsy9nT36oOo= +github.com/aws/aws-sdk-go-v2/service/dlm v1.24.10 h1:8ON2Utun4Q4FW2K6fI7EunVNiNipDQTZHd7VtwifGyw= +github.com/aws/aws-sdk-go-v2/service/dlm v1.24.10/go.mod h1:U24MUfNJt2URjXoFLu2NMPKPDgRUt7ZiAiYZ2jApx8Y= +github.com/aws/aws-sdk-go-v2/service/docdb v1.34.7 h1:1foSApaBUak26Y9xinJKRuf+On2wKQpfCdCeH7BIGpc= +github.com/aws/aws-sdk-go-v2/service/docdb v1.34.7/go.mod h1:2hCT2jx7fl7DyrY0oZjO3OOK7h+/SCvLUWnkU7zUm1A= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.9 h1:W4e41cUvIN/2f9sAhmDMdL5uqQo7V8nofT+TxdjjXhE= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.9/go.mod h1:xvM7Frdhg94+HGSNoOU3dj9s/YeB/e+AgUgG+E44wqc= +github.com/aws/aws-sdk-go-v2/service/drs v1.26.6 h1:MdrimlaasKFQNc5R4P7KPHs88oI/S8s/DqeW/46qkR4= +github.com/aws/aws-sdk-go-v2/service/drs v1.26.6/go.mod h1:SOC8l4nWwE5t4tvgiXQdPkcMye8creUQA/dOr68pWaY= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.8 h1:yOosUCdI/P+gfBd8uXk6lvZmrp7z2Xs8s1caIDP33lo= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.8/go.mod h1:4sYs0Krug9vn4cfDly4ExdbXJRqqZZBVDJNtBHGxCpQ= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.164.0 h1:kN8Jd9H1LD/zlZEaoLpHJjsaKQjzYA1TgzlCB12BCw8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.164.0/go.mod h1:gYk1NtyvkH1SxPcndDtfro3lwbiE5t0tW4eRki5YnOQ= +github.com/aws/aws-sdk-go-v2/service/ecr v1.28.5 h1:dvvTFXpWSv9+8lTNPl1EPNZL6BCUV6MgVckEMvXaOgk= +github.com/aws/aws-sdk-go-v2/service/ecr v1.28.5/go.mod h1:Ogt6AOZ/sPBlJZpVFJgOK+jGGREuo8DMjNg+O/7gpjI= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.10 h1:dNXYTooy/H6NSIJ/zZqAVk/Ri4G4mqEWoz3btXhqI7E= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.10/go.mod h1:6JWi6AO/j/YgTOdu+XM2fRfoZTmferahXDwmravqSwQ= +github.com/aws/aws-sdk-go-v2/service/ecs v1.42.0 h1:FvAROmrc7vjL5I90Ag4JR0/7NRnXYU9OpPOLUSzxnos= +github.com/aws/aws-sdk-go-v2/service/ecs v1.42.0/go.mod h1:qxSuZNUGNmgr4Yt6rK2n8F9w7pWn5eOqo8C+NmF9rmg= +github.com/aws/aws-sdk-go-v2/service/eks v1.43.1 h1:RfpqqfRmDw4RMvNHmPesDBuMeaVDQhWgepAn6tP0aYI= +github.com/aws/aws-sdk-go-v2/service/eks v1.43.1/go.mod h1:oxKaTqwF6pHUbgA6/aOwVEZFK+Okv4tZMdb9m6AHjlg= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.8 h1:y8kZastREinFhp2jcLjh+TeDQY4WpQ5qlB55XoDOj5o= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.8/go.mod h1:kg37oVoLxcdwfXXAsboA9cj6IfgFoc0PWwltp9xy/rY= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.10 h1:6MoPaz2J4C47Gieucud6SFEqhX4yZ9+hKQZzZvLbSy8= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.10/go.mod h1:uW7bugGF+vIsQdE22S+akMpsB+eZsSjJ6Kv/1lKQT50= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.3 h1:Avh8YS+sgb2OKRht0wdNwY8tqtsCzVrmc8dG8Wfy9LI= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.3/go.mod h1:HbtHaw/hnNPaiqcyYnheILVyn81wOZiX9n2gYF5tPmM= +github.com/aws/aws-sdk-go-v2/service/emr v1.39.11 h1:PLsio+PhcBMUVjRypTYnZUAZ3qPYVWKmIgp3B8ZZxRM= +github.com/aws/aws-sdk-go-v2/service/emr v1.39.11/go.mod h1:c4P6499AxhWdFqbnZ25WX77JfVEWFHWqWj9wITeFqlI= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.2 h1:kl5gXTCoi2dEUplPE+p+dpdD/BiOWsp1zKNfd3Onhn4= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.2/go.mod h1:Z2lS6azbbFQslXAH586gQoU2Lup1IviscRXROJMeL6k= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.5 h1:2Qpq1XOClfrQglKh5SgQMSGMD0KLII9pbAw8FRgK/Fs= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.5/go.mod h1:BNzkR8iCd5MUGeo3oMLx8wo+S4EtAsIX2XnAuSdBX/0= +github.com/aws/aws-sdk-go-v2/service/evidently v1.19.10 h1:kRXBNhlhmAihqmXWQD3WCzlq69G+4kaaymDjDSIWQMU= +github.com/aws/aws-sdk-go-v2/service/evidently v1.19.10/go.mod h1:xmn6CgBAvNyXpku7wbOV5BXF/tN/Q0pKF3n9P/Nf5QA= +github.com/aws/aws-sdk-go-v2/service/finspace v1.24.7 h1:dlGh182hZoJIFxlwNjRTUJUQkKvRLoUOiDyGkc6F7No= +github.com/aws/aws-sdk-go-v2/service/finspace v1.24.7/go.mod h1:XPu6lBGrnwZyH2qn5Twk1x8IVYzRWQvXzQx/uRChk+s= +github.com/aws/aws-sdk-go-v2/service/firehose v1.29.1 h1:EULt+Eb7La2to3yiwC/m3Sn2+qEjaFN7IOQxjFk2290= +github.com/aws/aws-sdk-go-v2/service/firehose v1.29.1/go.mod h1:ahhanMBeTZy6yRPzKVybiothdO77NvOCyZMpEMfj2ow= +github.com/aws/aws-sdk-go-v2/service/fis v1.24.8 h1:ajYYW5orv4QkEm9Hr2elpJ2OoTIlcLDa7q9nIEMgXGY= +github.com/aws/aws-sdk-go-v2/service/fis v1.24.8/go.mod h1:0GkfIF1n+BIh/xeWbpWoWlD+Mhk7haXQNH11G7BQTGM= +github.com/aws/aws-sdk-go-v2/service/fms v1.33.7 h1:SMf+LPFIiq1tfNo0rhV6YrlgnL7H6w7CSgMuJwqClEQ= +github.com/aws/aws-sdk-go-v2/service/fms v1.33.7/go.mod h1:NxMT3if6WnGIRRqEn74imFVzImksNcVl+NHKvlBvdT0= +github.com/aws/aws-sdk-go-v2/service/glacier v1.22.10 h1:E19vpAzC5QDng2IlfM6aNMBljv1kFx9O7iydbvMUk14= +github.com/aws/aws-sdk-go-v2/service/glacier v1.22.10/go.mod h1:14pqq/Xg2S/hlu9q67ePsGw0OB6SJppEqDJwxLEivvI= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.1 h1:bDVYY5tSzBnLAcdY/9nZd1gM4O+a8IVk2tUfcS0gJ1A= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.1/go.mod h1:ct31bulbJED7Z4Vdtr+Jtvt6bPRB5PdeH96NNm4wkOc= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.6 h1:2GSPMCtOlEVwltVhqUT1x6CFKpFi/5D2yFhd/PqaSic= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.6/go.mod h1:gFFqhE7646BA034Im+oTpkfnefC1AR/E4ZUTs/sV7lc= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.43.0 h1:Jz/FJc/n27a9j1du1JxtBaMb/Wg/dSkWPbrfn2Y7CT4= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.43.0/go.mod h1:tNfynl7aA5gEHA7yJZiEICHYMkITKSc0Z+vic+YpW0M= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.6 h1:AlmacWcocqb7vowwTlYtVR9AbYWW4vFExIoD7+kFR4g= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.6/go.mod h1:jp0Co1hHoXMEQTzyRICGBHvN8owh1QISx56d79dulFU= +github.com/aws/aws-sdk-go-v2/service/iam v1.32.6 h1:NRlKKQ/BPHPqsuN2Hy6v4WA8/bsRTP0j8/BFPBC5+SU= +github.com/aws/aws-sdk-go-v2/service/iam v1.32.6/go.mod h1:S+s7/UH0UIqRX4GyXvZihMJNR9nqlB0kxO4NKSFeRak= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.12 h1:UPOu53s56w1lIOKMaVfvOF4/4Ku3j5ZwKc9gWLkLUEM= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.12/go.mod h1:zx7M4pSjEGDxTwwREKVb0apz/2amwWoiewD+PztFvps= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.6 h1:uNhB5VBE/O72F3Z7sg86R6CytbceBm32gfjO6PXfILw= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.6/go.mod h1:h+gR0kPQnx2Tm5YPrYhb3W8ufqOTM/jlbHS/4WfUQgo= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10 h1:pkYC5zTOSPXEYJj56b2SOik9AL432i5MT1YVTQbKOK0= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10/go.mod h1:/WNsBOlKWZCG3PMh2aSp8vkyyT/clpMZqOtrnIKqGfk= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.9 h1:497Dd5t4c87GRuKTSNbkVDksiDVbksjfrTyUy1MzR00= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.9/go.mod h1:5OLOnU8LbdA3RXpLmE5AlLnOPb7nfJ2/kNtJBSNdyXM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10 h1:7kZqP7akv0enu6ykJhb9OYlw16oOrSy+Epus8o/VqMY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10/go.mod h1:gYVF3nM1ApfTRDj9pvdhootBb8WbiIejuqn4w8ruMes= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8 h1:iQNXVs1vtaq+y9M90M4ZIVNORje0qXTscqHLqoOnFS0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8/go.mod h1:yUQPRlWqGG0lfNsmjbRWKVwgilfBtZTOFSLEYALlAig= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.5 h1:85EfebIfxSPZ5RpB8I2+HPuFc/LzrBkpkRpM6Akpjnc= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.5/go.mod h1:/n8kxUaFdybhn2PBat7H84g70rFFstTilsoqMEdE35I= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.10 h1:UMiWmMEdLSIIrf21celRIIqe4WJMLkm9uuALljV8amw= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.10/go.mod h1:y+wpKgKTnYMRvRcHjzHDJ1D8OliunRaXZSkyrhLWBpM= -github.com/aws/aws-sdk-go-v2/service/kafka v1.33.1 h1:R29+VumDGtCIw7/pLG9EWiCLT/rXYSM8WuC3PaYEJq0= -github.com/aws/aws-sdk-go-v2/service/kafka v1.33.1/go.mod h1:WoYXT9nv0PosD53azp38FC8tzLZvXfIeoJueb/RoKXo= -github.com/aws/aws-sdk-go-v2/service/kendra v1.50.6 h1:0Ly6pDpHSzbB6qcgbLv1x6GjdPH4R6NWouPqvUS6p1o= -github.com/aws/aws-sdk-go-v2/service/kendra v1.50.6/go.mod h1:sYz8zCK/CLUwKx7JVMp11/s+9SB86+nDYvCB0qqpTvQ= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.9 h1:EzA/tcoScZeu4qSdNY8OgZa2/67Nq0JLMCRWv40w/Ac= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.9/go.mod h1:lBe7NpKoRO5WBXCrRImAp1EbL+VyuugUtwAYirStxmQ= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.9 h1:fAlpf552tr0b6bTvCacWje8QVZegGWKd/uYZuoyMKew= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.9/go.mod h1:DUtS2PcuynMnTZEtNAc3Wohb2fOazftHiqnlwCACsaY= -github.com/aws/aws-sdk-go-v2/service/kms v1.32.2 h1:WuwRxTSPc+E4dwDRmxh4TILJsnYoqm41KTb11pRkzBA= -github.com/aws/aws-sdk-go-v2/service/kms v1.32.2/go.mod h1:qEy625xFxrw6hA+eOAD030wmLERPa7LNCArh+gAC+8o= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.2 h1:hHrFQGWPR6omL1B1n0s3BWULTLk5JeLOVlU2oLs9wMw= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.2/go.mod h1:r0WIO2TxEuCnDKEqhUXlLVgir+3sJHmC2vRHpkMpJcI= -github.com/aws/aws-sdk-go-v2/service/lambda v1.54.5 h1:vNnZuseyIHZG0pspa1vY5euPqtE9oSZKOyEhtCrMrW8= -github.com/aws/aws-sdk-go-v2/service/lambda v1.54.5/go.mod h1:37TBYZp9ogMiYMVpn6YvsuY0qxnJxT289/c9KfbsH9g= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.1 h1:+GJV1uurWnJDx9oQ3AAgJXtxmIEbQH1g0LkvWoDj+jU= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.1/go.mod h1:xvqFkzabyUyKXdTUo78kTqPBtrY+1H6JnhA/erG0sjs= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.9 h1:A9WP4GeQkPZe8kFQ/Ir/Mt+a7Wywepa4NkIoeFgRk80= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.9/go.mod h1:xa+Nx2HjPgfqrAz85nAKU9xt7T5kWZTj8c4GbySsRfY= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.2 h1:4w4lsdD8PTa5JuAmOodlcJUh79Fexq/ISWAFjRePSKU= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.2/go.mod h1:UdEU45WZi2j7BCKUT++AUSUgl/gSuyoVzCowpbdRbwI= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.9 h1:qldenTU5p1oxmAoBnUK6vw8EpjerzccdM+fuyAyj7Uw= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.9/go.mod h1:EoIy5oyAhxYXDEKAlD08Y4YqQVuJ5zMoI41nNN1PaEw= -github.com/aws/aws-sdk-go-v2/service/m2 v1.13.5 h1:UoVLG03hBF+niUXLv1KJOi74qg7N9/08WdWJmnVcYgg= -github.com/aws/aws-sdk-go-v2/service/m2 v1.13.5/go.mod h1:0AeauwISnRKFZuetY669CXyou33+YdoXDxpYbKjxESI= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.9 h1:QZ1lBSqGp54Tc6luLfIax8Ky34A3KiIQLy83QG3tCag= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.9/go.mod h1:IRxDMhbLmYin9VI7pO+bJtTOaMWMkG1TBFwgFNJ9nL4= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.6 h1:n4OkQVvZk1v+XgW2fykGiAd3xRRbvVLqTSBS2mT+IIA= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.6/go.mod h1:wS4atJWTldEYCQD4Jt04JTkVgieBBOXmj5B5+G5JV48= -github.com/aws/aws-sdk-go-v2/service/medialive v1.52.5 h1:p6CdEbxiy6bFmpvZkCqXUfmUzN3kGwWOUkJwhiOlgvs= -github.com/aws/aws-sdk-go-v2/service/medialive v1.52.5/go.mod h1:uZ4AbsI6L/yT9nVEHIpZy0wUIgS5lOqT7442T0EcGZ4= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.10 h1:SSr6PQYnnPmQw6bXw9XdWrb4R1ipJe50ggApHKlVxSM= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.10/go.mod h1:vTPkPUTiEQos6xA6BsCG2z9t3GhiFbKEscfG9SZllkw= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.5 h1:aXhO7+WPthDjRHQQj53dp2z3r4MLNOG4hatbRUrhjlM= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.5/go.mod h1:I0WEAifeVQQI6ehIW2k/BlUbAGkB0kD0CCm+K3z4U6Y= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.9 h1:ogZjlfJ8a+TUkTgKXCFDecgAYxrYkgavDYgry7gSHiA= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.9/go.mod h1:Ay5xEiqwxbmTR+TCU/HkmyU9rqo/VC+vzdXsos9rM+o= -github.com/aws/aws-sdk-go-v2/service/mq v1.22.9 h1:gld+9XYCvWDBao1QFUtZ1gzB8S50AZ/GLGI1Zq5s6L0= -github.com/aws/aws-sdk-go-v2/service/mq v1.22.9/go.mod h1:lNA1aI99R1/cLApvhNQUZLXxp8034JXyjU1v0s28cQM= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.3 h1:3Kyd3mc7BStsqHIIftb09iXYK7AV+6meSSEsInj2a3A= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.3/go.mod h1:2YDe9txlzAdev5lNdZjNHIcR0H/F5dHDSsdJjd8dQ/g= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.6 h1:AwkCyb2nhgZQq2SHb44q4ys3RNL9nPdWHPBeDoD12YI= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.6/go.mod h1:jTZ4DvXlknywRhiIhOqH5YtLn4VwlbFbgKnU8pF+yx0= -github.com/aws/aws-sdk-go-v2/service/oam v1.11.5 h1:1tBA9vcJw9WtlmxfL5pi3SO+EUiHV8rKX5PESdx9Gis= -github.com/aws/aws-sdk-go-v2/service/oam v1.11.5/go.mod h1:tZnCcCh1zUAPK23x00Nv/u6/MYnp6YoZw3B2vsqCvdg= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.12 h1:IAD9XLvs0vdkNiTcQskyefrPNSR99q0Q9FqKv5pEpgg= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.12/go.mod h1:c2ke55hcLmZildKwNeRQcRnyNKHXxq04UkhVQld6egg= -github.com/aws/aws-sdk-go-v2/service/organizations v1.27.8 h1:ssPBOuPEFRf0wtlmscVbbNYYa7MP05XqaCCpoL9FLxo= -github.com/aws/aws-sdk-go-v2/service/organizations v1.27.8/go.mod h1:OdGdDqdyX44kQ4P0c3YnUBIaXbGU8ErpgGUIHqra4YY= -github.com/aws/aws-sdk-go-v2/service/osis v1.9.2 h1:3MPPpp5Ig2cyLwliuweCe7+uUJaeeoxNopXRhIeSsck= -github.com/aws/aws-sdk-go-v2/service/osis v1.9.2/go.mod h1:6pPuxTa+1aXsMthB/+MkkFqQigD4k0Fs1kt7zO40tSc= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.5 h1:IiIuRxBHL2t88nDI+yh5k+ZPRe5Gzl2aqsk7YIj4x9A= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.5/go.mod h1:deugoEnpXhkVl4Ux59nK/b//W2SYUda8ljidwJJwhcc= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.9 h1:QPql+y5eUPyl1zwNzATM4TW6dbCu6WXRPZTwi3kJNJI= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.9/go.mod h1:o0HMAgq53gq6tTads00hLRkmMOGoKCLHFBso4h0tYgQ= -github.com/aws/aws-sdk-go-v2/service/pipes v1.12.0 h1:MCmalsqe4G21n+ooxQfyo6ynCoMa3SQKvUgl5k8L06c= -github.com/aws/aws-sdk-go-v2/service/pipes v1.12.0/go.mod h1:F1oziwLahHIwsEHNgfAyTyDUEk3dSZAwtROItYF57rI= -github.com/aws/aws-sdk-go-v2/service/polly v1.40.4 h1:MdwzWOjcnpC/HR5KmQ3erH8pjOmpfpLZrFffCJsD2mo= -github.com/aws/aws-sdk-go-v2/service/polly v1.40.4/go.mod h1:PkYl8zbU1ejBMEjhVq4BspshPoZxGs3iWBgyY6tC5lE= -github.com/aws/aws-sdk-go-v2/service/pricing v1.28.6 h1:Uy0mLx8tU+pMGxpupTw32FWDq1gz3xzCmGeFC5Mvq8s= -github.com/aws/aws-sdk-go-v2/service/pricing v1.28.6/go.mod h1:s/G6iFuFsgUCJIJ37ySWQ5VNOAn29+c7eHHYWxYIb74= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.5 h1:wY6qfSN+cRTqLFXT03oYaPchUA3He6vFHxxFQ/kH8DQ= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.5/go.mod h1:GzTRF9Y4lbn9WAP6CTYRpvrOvUbH+I8Ldp7kREnO5ZU= -github.com/aws/aws-sdk-go-v2/service/qldb v1.21.9 h1:ZB+uZ+P7TBZbxCNKEiGRtdgiI67ZHI+PxqgOg+ZApWI= -github.com/aws/aws-sdk-go-v2/service/qldb v1.21.9/go.mod h1:MgTWXQt+8OF92k0vkz+XXT75x/k5Nrkkeh7X3LzvC9M= -github.com/aws/aws-sdk-go-v2/service/ram v1.25.9 h1:kwC7qVlk+TmtJjN6+7EUNTYadYWz1c5Q9b2Vwp2K7EA= -github.com/aws/aws-sdk-go-v2/service/ram v1.25.9/go.mod h1:5iM4c0g/cbcU8ggiEOGO2G5Lt9RgYTDzrwlJX9QgUyA= -github.com/aws/aws-sdk-go-v2/service/rbin v1.16.9 h1:ri7dGQymqVmJgZoUS7B6DVmJsvuP229MvV8vn0BasFg= -github.com/aws/aws-sdk-go-v2/service/rbin v1.16.9/go.mod h1:jkgY6w+/RUUITe2tbJXM88NUsmldDmWk8T5Svd2BtFg= -github.com/aws/aws-sdk-go-v2/service/rds v1.79.5 h1:vCMSFBiXtrr6fhNnGs1d2pw+/wJek0l2kZrS0cjtybs= -github.com/aws/aws-sdk-go-v2/service/rds v1.79.5/go.mod h1:esGFn2z+QNa/XcjHevnddtp3RiFQ9/pzHbjl0rgYqDE= -github.com/aws/aws-sdk-go-v2/service/redshift v1.44.5 h1:6We8HAXf96XNvFZBwMNwbngkfbBmsChtYhfEX1AoznM= -github.com/aws/aws-sdk-go-v2/service/redshift v1.44.5/go.mod h1:fy1q/fTBBHtQp4RIk6RNczpmBxaFDFbqkk4e/2pNlqs= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.9 h1:vc2DTUPVAF5SzxcFYYi4RnBPUGxg75lXK9+DV/h5fzo= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.9/go.mod h1:Ot8W+OBY5tfOKhD5OgesMj6zmKiNg9NGR49JBTTefB4= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.6 h1:BLzQg2fN7IgqFVnqWhFRQVRk4F2t+1tXmrXLvp3b4L4= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.6/go.mod h1:SgbGY4Vc1JLTl7caW9xPN5fijT2lSnrk8O9eVJNZs3c= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.5 h1:HdioYEr9M3/OLichl+Y9N3IjqtbblXXO2rQj+7zGoB8= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.5/go.mod h1:WRyV5OOYHXjHVXtvpU0ElHfWK6kKbusET3tRsrYLVO0= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.10 h1:1U18XgeFzg2w5bqJ7ejm3sLMMX/gunKc88okl0HTpMI= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.10/go.mod h1:NNAINz5C+m8r75ywsh+PDgnDpCWCJsrEJkyFKkcaE3g= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.5 h1:G9x3CYKfuP5/YEQBHYnMJqSbh9HL/jB+SgmZVcRpnEk= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.5/go.mod h1:BzKgMdkEW96Pr1IwoFqNgP1ACizIaHd5PUqHjGL/Clk= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.9 h1:R8XSqNex8P+4bwPF7XyY9nJvLst+rE5Lkligffp4STM= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.9/go.mod h1:FLJ8ToIvPGzG7Tq6iiTDpmVcZdBPLQI5VsoXiGOvypo= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.5 h1:V/aodNPZaEyjC5bOPuQ8vY7j65YvFwVlN39IwIl1Z9Q= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.5/go.mod h1:9nWj/jkFpjW4cRmb0r/CHNR61z1Dj0T5T9OW/1HzIj8= -github.com/aws/aws-sdk-go-v2/service/route53 v1.40.9 h1:vsr2H+csntN31+MflT2GIVguoRdi9fTO6waPU+QSFPM= -github.com/aws/aws-sdk-go-v2/service/route53 v1.40.9/go.mod h1:kf6UvOptzjYUR5IDuEZ4gVMmNdWsL+jdEdiKzkPZNPE= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.9 h1:XOVJB9woNbx9qH2Np+lpjaDOVwjBRxnlnxv4ltUAE9o= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.9/go.mod h1:MdiWkoSbcv50IGdaHC9nYcLL6GC9pYJFsrOybA0qjhg= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.6 h1:QFfTnmxuNj9paWYSbvfqU7vj1pEKXb0ZEjYQn3G6yko= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.6/go.mod h1:0xv+lDKL+fzQ9KcTJqd9KrJvqTLs7/DTzr3lwD1b6Tc= -github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0 h1:6kq0Xql9qiwNGL/Go87ZqR4otg9jnKs71OfWCVbPxLM= -github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0/go.mod h1:oSkRFuHVWmUY4Ssk16ErGzBqvYEbvORJFzFXzWhTB2s= -github.com/aws/aws-sdk-go-v2/service/s3control v1.44.12 h1:6F6JIv06AIJR7p+w9xjVYMVxkbNFBydg7eMcy/oP/r4= -github.com/aws/aws-sdk-go-v2/service/s3control v1.44.12/go.mod h1:vWJVDhTPJgkpHRjz/MMMVvqoAupZ1W9emLj5cfnkPzs= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.9 h1:NH6WgOHc0dQlnKWUqVxHsfNC/ZVce94GSSMLBYBb5Rg= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.9/go.mod h1:VHoM5NP6kQnC4az6zU5ES8quC+ze1RGyvLtPbRk23TI= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.29.2 h1:vnONgeMo5TuAtGjVNjieDyaI6tzMDNm0TuBgkKzqkX4= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.29.2/go.mod h1:OR529kEc7Ty9nsqvMuDBBHq5AZVih/MYd5/G9TcL5bQ= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.1 h1:Cvdok+6nG7oFCdi34QTfdy6OgFuNwOzR6sbqmTT3Kpg= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.1/go.mod h1:lFluoyoshhUB2MT9+aDw8AuRf4MmNDYbVxrMfyzcd3Y= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.13.8 h1:mG0xsLueSTX4cIi83FtnGBCpWuLXnTGV5PNt7Rx/1EE= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.13.8/go.mod h1:Muadzn7NMQDr7BCnqNpyb14cUS0BglI3JrfKNeyFa7k= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.9 h1:8BvtV1/fOVsSuFI5nBU0j1Sv3d3szlxA9gvPuUkK1lM= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.9/go.mod h1:wv3qWuYuXYZCX2TEFpqDAR83ImUYZTatxkgMgXCVDCU= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.9 h1:3o5zcwZYvte3CeaYpLaWafwCSkJpclPXI5KSH+lXB90= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.9/go.mod h1:QZpGkzlec0TPr8CA2Td5zRUJBC5+104ib0MusH5UVfI= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.29.5 h1:TRQLLU2t4ftJInFxdaJznmgxRoGc3MmucfQjOCQLoFg= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.29.5/go.mod h1:illLUYpxYsuNYYAmUXNRmrPENgDTEpRChpO7cnIPHrs= -github.com/aws/aws-sdk-go-v2/service/shield v1.25.9 h1:iE8ygwP6P1RrJFUXexGf4Ttxxw+HhSD3brAJnf6JqMI= -github.com/aws/aws-sdk-go-v2/service/shield v1.25.9/go.mod h1:QG2NbjQluhSR04Ds32/dWB7QDcWz+3iuvGQ3gO1NrjA= -github.com/aws/aws-sdk-go-v2/service/signer v1.22.12 h1:UuVx0XwRVrp5PKz0XerBTNjSu3Gr1MKWPcO0PgVrun0= -github.com/aws/aws-sdk-go-v2/service/signer v1.22.12/go.mod h1:U2zIF/gfvjpekxLIRNcCQ1hVQloFQ2+6+U1UWquKKws= -github.com/aws/aws-sdk-go-v2/service/sns v1.29.9 h1:qmf/3SierpSOCu6hB1AO01s1MWI+3QfrEQlde6XrMFU= -github.com/aws/aws-sdk-go-v2/service/sns v1.29.9/go.mod h1:fqNzmSY2wcX37R1TLczX+AESDN0lBv4Ejc5NvoDWX/k= -github.com/aws/aws-sdk-go-v2/service/sqs v1.32.4 h1:iOs0Z+IzkrPusuQgv9sOBhDIzwqv9Z+FanNOhlkDVdE= -github.com/aws/aws-sdk-go-v2/service/sqs v1.32.4/go.mod h1:rK0Bwsv9rJMM4TMHgXiVbYXUfzsfcvN+qJS3VITac5s= -github.com/aws/aws-sdk-go-v2/service/ssm v1.50.5 h1:k4IdBvCLRuKW2RyOMdeuNAIX2rRp682M0Y78TdwFY1Q= -github.com/aws/aws-sdk-go-v2/service/ssm v1.50.5/go.mod h1:zBEScRRmXJYBoXrmdPFUuU+KDrg3+M/91gqyG7Vf3JU= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.9 h1:IL5PsQi2DdMY0y9X7+NuUseyp+Sap8b6Bsmf2e5JPHQ= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.9/go.mod h1:eZrF09zmBnG1SLD5UwacU0YBuEZVnA3Pj8SEwReb6ac= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.9 h1:HxbGLrjoIUSNBpKyuklV5n4uDFOPCwZ6aCwWyqsqcto= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.9/go.mod h1:vDZ1TmzEFyMA9OWLoiCeme8DbgdMQWPowiACLdFpnK0= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.4 h1:You/vznGli+TDIFQOqsHGXMA+sqoFpUdJFm7hzpaNd4= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.4/go.mod h1:+R4ccIDXt23tz+0r13jhQjHBY20IRxQjUOA3KocRMXQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.10 h1:ItKVmFwbyb/ZnCWf+nu3XBVmUirpO9eGEQd7urnBA0s= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.10/go.mod h1:5XKooCTi9VB/xZmJDvh7uZ+v3uQ7QdX6diOyhvPA+/w= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.10 h1:ewJ4HxmJCEvj1hoqh1tfmCnS6T5gebyFosxTYU7QZb4= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.10/go.mod h1:70L2cr29MyJ5WaS6xyO0bfXLPweI/UH+crl3oK7YlCg= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4 h1:QMSCYDg3Iyls0KZc/dk3JtS2c1lFfqbmYO10qBPPkJk= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4/go.mod h1:MZ/PVYU/mRbmSF6WK3ybCYHjA2mig8utVokDEVLDgE0= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.11 h1:HYS0csS7UJxdYRoG+bGgUYrSwVnV3/ece/wHm90TApM= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.11/go.mod h1:QXnthRM35zI92048MMwfFChjFmoufTdhtHmouwNfhhU= -github.com/aws/aws-sdk-go-v2/service/swf v1.23.1 h1:+bMrBr9MkMR7sQQ/T21FodUjsB1vKOyDLo3u2MgtwwU= -github.com/aws/aws-sdk-go-v2/service/swf v1.23.1/go.mod h1:kzwdnvkra6Qyq2TgQ/7Q/OHo4IdIM151BDGHvQhojz8= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.9 h1:p1uPd+o1wGJpYnAEzEnreXtMOhgeFKdFnQLls1E2co0= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.9/go.mod h1:zencmu9FPb6meSHsu92x3URWsL9hQ/wfFPrJeQgvN1c= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.7 h1:5oXX0KAXq4TA/Lo3KA0Y9hr9DtVMI7uen/sjQWF3s58= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.7/go.mod h1:z+SUwvSl0nrioahnzM//6zZXh13hBFDSS4Fcs5mdeug= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.10 h1:16Igl21s0GExN6bAPjtLT8DqoNnUPY2kpZ1GZDEijUo= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.10/go.mod h1:KxuACXXhMjC1swG2dkAjlqMR4PkTykxD373by2oVhlE= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.5 h1:YaDmOyZofY5GWgT9gxNphui0RYRDiOy4TOx+tcESIeI= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.5/go.mod h1:Jpq1iVBw6CEjwFFSgDJGBI31MRJ5DTIDHVJhv17n9vo= -github.com/aws/aws-sdk-go-v2/service/transfer v1.48.2 h1:HJzx2oZhtlOnaR26Vb5q97UdAAXn6SwJzfqlv70tRz8= -github.com/aws/aws-sdk-go-v2/service/transfer v1.48.2/go.mod h1:tyXZ3PxsViPREITcg1BPwnRI8inOOk3FHtwj1jfBAX0= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.14.4 h1:5yPsNHtcI3185jZlIPGsowp2CrNpJ8xMyCkkpQuRxSo= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.14.4/go.mod h1:pZyatQ35/jfUHq/41SfoKSaMkgAeePqNq1uezJMMSTI= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.5 h1:HeIYOSalR9nB4R8DkKjgVGghOJ4oKzjX4f68vhZHbu4= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.5/go.mod h1:2ow7cCSfYs1y759REZl7zlwbGpGKfo5B4DyAMIBjlyI= -github.com/aws/aws-sdk-go-v2/service/waf v1.20.9 h1:5Y2yPlzL6GqM9gjY0EMi+lORXC+PHQvCibyGsPflHwU= -github.com/aws/aws-sdk-go-v2/service/waf v1.20.9/go.mod h1:k/V6ngGarlLnH14pLvkWM/7YGJQXrAHSxbYh9FD53kI= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.9 h1:KgHX+2rtn9kw2on2nly6Tz5iOtpH0ix/oPoYZzSysGQ= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.9/go.mod h1:oNK/5eBpQvBAOxdOMNxnTVEZA9IMQHRxFGn9Pz/bUFg= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.2 h1:OkfutaNXrZW/NgP5Mpb/ai2PcFvbn380dTq4Y4iRNnM= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.2/go.mod h1:UL7uHqGYsdzd2T3CFWrr9VTKMf4Q7w7GJSN+X8xiANo= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.5 h1:9h5YMf0RnHyalThh1i/8SxA25Vs8YQCkWKW+ukotgkY= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.5/go.mod h1:R1wgNN7pdlT1Nsrf9a34cfAtUNPV2fe5K/Jdd/NfQXw= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.5 h1:Xs+CTB6GgBtDBQm9rv7cUB9JvmukPxqj2F5UhsXeEeE= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.5/go.mod h1:SKORr/eYPO0xBY736ZlXQGM14CYqbZwwHxEZRZ4f47w= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.5 h1:zL4IawJJ/HrRHM812Lp0HG26MyUja57OXRJxYkYzbmY= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.5/go.mod h1:lpldi7dapK1dVegBTsiYJBwxDRDZu/4kq6Dx4qRnEkw= -github.com/aws/aws-sdk-go-v2/service/xray v1.25.9 h1:7xiZueIor9/8cQwns+aMAu54kg6AXd38SIUx+a60utE= -github.com/aws/aws-sdk-go-v2/service/xray v1.25.9/go.mod h1:x7G1O5/TJnU0dTHtfqDGhk56VFk6+a/VutVDgqWcet4= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.11 h1:4vt9Sspk59EZyHCAEMaktHKiq0C09noRTQorXD/qV+s= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.11/go.mod h1:5jHR79Tv+Ccq6rwYh+W7Nptmw++WiFafMfR42XhwNl8= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.10 h1:+ijk29Q2FlKCinEzG6GE3IcOyBsmPNUmFq/L82pSyhI= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.10/go.mod h1:D9WZXFWtJD76gmV2ZciWcY8BJBFdCblqdfF9OmkrwVU= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11 h1:o4T+fKxA3gTMcluBNZZXE9DNaMkJuUL1O3mffCUjoJo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11/go.mod h1:84oZdJ+VjuJKs9v1UTC9NaodRZRseOXCTgku+vQJWR8= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.9 h1:TE2i0A9ErH1YfRSvXfCr2SQwfnqsoJT9nPQ9kj0lkxM= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.9/go.mod h1:9TzXX3MehQNGPwCZ3ka4CpwQsoAMWSF48/b+De9rfVM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.6 h1:S+tywpOd723Gqg0xIg5QePGWKQ179kdj8yc0cI0ChI0= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.6/go.mod h1:xBJfeB8hPTEVyxGeBrZn9lO11UjFlC6yN8fm+LMuDl0= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.11 h1:EBpzcF6XrSgCUWvPSJBPxcRxgU0FbZya2KmHXnrXhOg= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.11/go.mod h1:EtWeluyFt+mbORnwybcy/0gmm3psrGPWUOZI4771q0A= +github.com/aws/aws-sdk-go-v2/service/kafka v1.33.2 h1:MP0DahXgJWKGv1/lFkWnO+Koj4fCVxe0Tcap6KlmpYw= +github.com/aws/aws-sdk-go-v2/service/kafka v1.33.2/go.mod h1:hxzW4JuArNI/W5i8scwr0BvYhJXhtntyMNSXnxJ4rcc= +github.com/aws/aws-sdk-go-v2/service/kendra v1.50.7 h1:aH+HH9kXs3AFj51H+NT4izexEDYULpoG4L+wKZ9SXAw= +github.com/aws/aws-sdk-go-v2/service/kendra v1.50.7/go.mod h1:VEnRGR182kFe23M6tA7B+3JN8bvtrDNkBLvlnTpKcbM= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.10 h1:aytBO6+Ex86UOstDfm4KxTD3sPFxdWcT9ImgbdPht4c= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.10/go.mod h1:p8edp/FOKMmGTWOSj4KWtum5Rgv9iE4p7cpdUoz0N+w= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.10 h1:lmp5qBDoJCLsPwKrYNe6zbHnNvW5jzz/xS+H0jkoSYg= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.10/go.mod h1:CUWfw8B25XToRN7+sg092F9Ywjvz0PT4veHXBQ2KE0A= +github.com/aws/aws-sdk-go-v2/service/kms v1.32.3 h1:PtuDgLHjTq9JgykpX93EqGHlbNK0ju8xuDMcdD1Uo5I= +github.com/aws/aws-sdk-go-v2/service/kms v1.32.3/go.mod h1:uQiZ8PiSsPZuVC+hYKe/bSDZEhejdQW8GRemyUp0hio= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.3 h1:wieZjsYWmw330AVbgkIbTQXWacUmTZFrVKqnWBef7WU= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.3/go.mod h1:h7rs2zd6iDs8a9zjQ+JZ1hYBStUxUm+8jTNwpfSZY7E= +github.com/aws/aws-sdk-go-v2/service/lambda v1.54.6 h1:UMu5aeSubjM9geSuPCGOgBAZa0JvsXxJBFXmKgUuisM= +github.com/aws/aws-sdk-go-v2/service/lambda v1.54.6/go.mod h1:fWbFM4/v+IgUW+p4TooAXuhmiQyC5qxMV5gUqxDII2g= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.2 h1:OavF0RBMhcuArrkGSGnRsk7BDZAqg3BmDI6E7KgAcVs= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.2/go.mod h1:DIcTjNG5V6jZxpFWwYkG4/k0CbsqPNJlj5koUQnmu+g= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.10 h1:uX6vAyjLRTlvnrp+MdU2pJQ8EYMbv561PVRCh6QG++w= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.10/go.mod h1:F9+N41US+/MkvlC/NGxptK/MiUfKe1dweqsBl38ev/U= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.3 h1:YdA5QgoYa2wNblkWyZfPlLLYsAEKCwLfdMxpWu16wpM= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.3/go.mod h1:T0LiPG5vKHZ7DmOq4Cmw0Kku3tMkaR9AknskS2hUXvI= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.10 h1:A3MzGDmkAyV2jRVSCHmTjMsuiYrRjrKxQiHsVts1jas= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.10/go.mod h1:BuKoVF3AykN1SAsKigr+aL8UovHFQJs2M7vylsOj8xY= +github.com/aws/aws-sdk-go-v2/service/m2 v1.13.6 h1:NxZs0J3l2p+PY+lPjHFVeY08lmTrv1vHzSfLNWqMfJc= +github.com/aws/aws-sdk-go-v2/service/m2 v1.13.6/go.mod h1:h0ksPg7Jqgml26JZoUs87A2sqx5/gRLH3hrN7p3ww8g= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.10 h1:PF1Q1JOKpyMPAjhBBcxUxOXafaHMZkXjN2Su+yPSj2M= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.10/go.mod h1:I2QK9o927+sKJn0yNFn3L0GVnXyZWwguOTdOy69wqRY= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.7 h1:9GzfkCQV6VLgtCjQQc8Bhz2QJLyae9b3kNN6N9qYVwU= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.7/go.mod h1:jpXXeDQerb6Md4Yg3LxscyQrqOzL+h1xi5SizhXCY9w= +github.com/aws/aws-sdk-go-v2/service/medialive v1.52.6 h1:VUfwXW95Om8NRrNuPBY8+tUpv2pLeMHoHNds2dPoI9s= +github.com/aws/aws-sdk-go-v2/service/medialive v1.52.6/go.mod h1:+kfONJ/rwJ7Qxizw2VNciswVk19vpXg9ngsEpfARusg= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.11 h1:28cpMq1VSS+d1vVYtrXQDzeuz+/P+Dxj2n2c0BrkQ4A= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.11/go.mod h1:v3DYFGJr+U/7XqOVLA5IBHXBUoHksVjfCrCEHQg6Usg= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.6 h1:GXSUO5NtPTuM/YW8v3yVh8h+y0mmbYSBlrL76ybUEUQ= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.6/go.mod h1:pg6xc5VIhx1ViJIsiQetZqdBKYCNRnsl8kcaWuJptZs= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.10 h1:iheOfN0czGrzE96ZtlF9RvFG4sSNfRercZCxENO+BKw= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.10/go.mod h1:ivRaBAFCc5B2vHuHJKlYyC6dDk0Q2cZpGO45Mbl2UPc= +github.com/aws/aws-sdk-go-v2/service/mq v1.22.11 h1:dI5u7KbpjslchKz46vHkQlfYFfcVRXQ53tBp3qdlOH8= +github.com/aws/aws-sdk-go-v2/service/mq v1.22.11/go.mod h1:hQ/8Uo+sQySjHie+oGZxYaDMVsAJYYea7fDWtxOW25g= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.4 h1:8smXN5gAGZKBjervH0VZiR/dpP9G2nOiSakKNL+A2xY= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.4/go.mod h1:n5E3bv5OwgyzXa8wN4dBiQ9chq4427i8mIL0DOGQ08U= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.7 h1:gmQ5UpIRqclaYFHyh+nWlx5NITsvVLR5aOzU9JnVPhU= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.7/go.mod h1:2ZVLdyzUl10QKonLIE4j8hsu9rePk62iO1HW7ND7cIw= +github.com/aws/aws-sdk-go-v2/service/oam v1.11.6 h1:AWbX6Q0CThDhgn6MIm2XPCnw3uA00yFkOKzfkGjDvwI= +github.com/aws/aws-sdk-go-v2/service/oam v1.11.6/go.mod h1:zh+/YaGPYtYIsy83eib8QYUCLNmTTRNnPKSy++MoVx0= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.13 h1:eqytt4h4+NG5eSYjHy/gxQeTYmH6kyB2BiNOqVdLWIU= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.13/go.mod h1:9tkQ/yUzFFBjIM7IbMqpsESMwNZkfO9ZtlXXJVfC/h4= +github.com/aws/aws-sdk-go-v2/service/organizations v1.27.9 h1:KNXacqpLvkK4oAMqSNhG2ETQzrVK4mKETAeNeo+dWyk= +github.com/aws/aws-sdk-go-v2/service/organizations v1.27.9/go.mod h1:hcr6lPG6K2l0WiKyu2ag/JrHbiIOUMg3tdNPtpTe+PM= +github.com/aws/aws-sdk-go-v2/service/osis v1.10.0 h1:2unOPcW9Eh/gcOEWdIcU5rmpwTFtqZ0YLaHzApPwiTI= +github.com/aws/aws-sdk-go-v2/service/osis v1.10.0/go.mod h1:1H+iBuiqX8snPxlOViytBuIKDHY2y+ZHzJ/gIqb+JEs= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.6 h1:dAtMkOI1E/+uOf5Md0TV5DzaOhUWbVsajcbiyjXS8Ng= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.6/go.mod h1:AlYMkLQ4e0iExjXDf8TPosjt8fjsmYu/2nv9xs9MbDs= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.10 h1:cn/ly7rE/rpG4XW7GFxs970D+PglbESF9f8vI/oUC+M= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.10/go.mod h1:3TF4rQ87enheeIx4c/vSFoqQXdoI9eOr6RDPvW0x0mM= +github.com/aws/aws-sdk-go-v2/service/pipes v1.12.1 h1:srOxtOzUntiGKtVCahEL13JYuBHGvuDlBJcHI81dgZA= +github.com/aws/aws-sdk-go-v2/service/pipes v1.12.1/go.mod h1:JHoN0tGkx3ZIYwOvF3WtepKYAMmSfC5o61ijIk6YuKo= +github.com/aws/aws-sdk-go-v2/service/polly v1.40.5 h1:nJowt8m2IcbcLkQnghrnro33nCBaPvGUOxzp2XrGbvE= +github.com/aws/aws-sdk-go-v2/service/polly v1.40.5/go.mod h1:NlZSQx5MgRlTRxuTB1UklQbkXSX/Rjk+nEJR2ClTjrM= +github.com/aws/aws-sdk-go-v2/service/pricing v1.28.7 h1:OimFd9B78+2BO35rJpIni3zEt3xXp+l/YuLwgULMNVE= +github.com/aws/aws-sdk-go-v2/service/pricing v1.28.7/go.mod h1:kdbauXuTWNaItPgeKT1uycVDvVlfD9FAEmKjAmAEiWM= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.6 h1:QtIdssfJjPLUGSc1UEl99uDbtW3WvP+bJ3ZmZPtGS6c= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.6/go.mod h1:J5k2cOgnRLFlQOX4Z0bBWhG8nb45vwMemPjegzvTdto= +github.com/aws/aws-sdk-go-v2/service/qldb v1.21.10 h1:JiA51DS5fOSXCbkaVurMcNAHSXTicEWlpy/343xdp1g= +github.com/aws/aws-sdk-go-v2/service/qldb v1.21.10/go.mod h1:KjLu3xgMrrGMgEpMvft7A0zPTn0EXVA5ys7KiF9/E44= +github.com/aws/aws-sdk-go-v2/service/ram v1.25.10 h1:eTSTspyVeFIjVvKEkhrF8xlTkcv2xRVih8H0ZL/wIGU= +github.com/aws/aws-sdk-go-v2/service/ram v1.25.10/go.mod h1:u82AB4OuZSlMIADLmySpervL3v6El3RYqSh3vjjOa2g= +github.com/aws/aws-sdk-go-v2/service/rbin v1.16.10 h1:4CSjB4CbP+WvGn9ow2ZyBSQ/JDpp2RmKkO2wpiFrBno= +github.com/aws/aws-sdk-go-v2/service/rbin v1.16.10/go.mod h1:PQuHOX24ueFRaxXKMVl+tAsbSPd/Ue5VhF4ispb5zdc= +github.com/aws/aws-sdk-go-v2/service/rds v1.79.6 h1:NX0OiCFYFc/p1Ufimr+kJkXCCFZe9FnUoQmG5mMrYfg= +github.com/aws/aws-sdk-go-v2/service/rds v1.79.6/go.mod h1:fZ+i+g1q3unIVP0qfYYyJd80W8aiyQJ6Wsij/HFj9W0= +github.com/aws/aws-sdk-go-v2/service/redshift v1.44.7 h1:sXKgb/ks0eeSHH2arXiUgMGIew7ka8fhplTLJx1Df48= +github.com/aws/aws-sdk-go-v2/service/redshift v1.44.7/go.mod h1:DNoffDrn/ZewuTyFUolU33+1w6vOieC8mhzF2Yi46PY= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.10 h1:FZiVA6SGDCxNUjoJ/CizSudFScdPvPQNbLtPgmrlUUk= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.10/go.mod h1:jnDZbfq7zPFvAnigSNc6iaOQ2TTAnzzQdNJQgHvg29s= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.8 h1:NtKuvfbHtkVQi/NDtGiDxmv6rL2ZcA93NXARmHkudDU= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.8/go.mod h1:lGVq1ZIzcwgjxeXlfXkY3DNC582SqYLwTjXZ1KGmAkM= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.6 h1:v/UrTB1CHz+CXXPpE0jjGkgHT1sbpsEKs7/XsmrVa4k= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.6/go.mod h1:AzDdeMyTSSSlZ+VO1S788x9x3lJVmVdqYlZxZ3rmi2U= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.11 h1:Ejmh88QYLOxgyh+kzoQUbLNyUbD4P7SLWmQ8Jx7qmmE= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.11/go.mod h1:+iMxqfKvnJVrbiHxDGyf47c7FI8TDukqjoMsLqoLrRw= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.6 h1:+oQIusl/699jbxbWeSI9fQ5ACZUxH6eeKxiXHtHjztQ= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.6/go.mod h1:hECEgQ2nBryyGTtts2k1m6MUjbaFJpoUd1wmNXpkEaY= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.10 h1:Lz66AebKV//iN8kelcsBe0fQekLmCkIzZSq/Yr/S+C4= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.10/go.mod h1:6u29rN3TBB89EOtTnEsjywjOmjA4nmUV8elhfLwinaw= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.6 h1:CnOWQ/6BKnBPcVTb9P7p6SsbFHsUvJJ2UbcQnZuIG+c= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.6/go.mod h1:urcaaPlew4LHXM66eEZeaWJBhCjKWzOCAmE2XInleA8= +github.com/aws/aws-sdk-go-v2/service/route53 v1.40.10 h1:J9uHribwEgHmesH5r0enxsZYyiGBWd2AaExSW2SydqE= +github.com/aws/aws-sdk-go-v2/service/route53 v1.40.10/go.mod h1:tdzmlLwRjsHJjd4XXoSSnubCkVdRa39y4jCp4RACMkY= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10 h1:R56F/k3CQZHwrd3kHQ65Y91KHPBITruyPSX5/JGYe9E= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10/go.mod h1:W3+eDMk01Na1U3aQfwGkkEP1Yfe6WUn8hXzyInvGlcU= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7 h1:32/NRAG4ka8/hwr1k9ZA2xwarcJeWO6djaIFJ42tuFg= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7/go.mod h1:H9RRL0qQ+s+XlaZO5s5G3Z8cVZpKEoj313hOyglUwj0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1 h1:UAxBuh0/8sFJk1qOkvOKewP5sWeWaTPDknbQz0ZkDm0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1/go.mod h1:hWjsYGjVuqCgfoveVcVFPXIWgz0aByzwaxKlN1StKcM= +github.com/aws/aws-sdk-go-v2/service/s3control v1.44.13 h1:HhsZlX5gsL/KfEyHyBO5H0ewgmXoiBpjDPAZ3Ggrj8g= +github.com/aws/aws-sdk-go-v2/service/s3control v1.44.13/go.mod h1:4fXOTqROQgQ4Y6JP0G/vjF//YfG5oHxAwI2TPbgEblU= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.10 h1:tXVgXdk69TNCERB3gQofwGWIKBOSQYXLyhpRaiEmk/g= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.10/go.mod h1:+1zSuvpsye9jvBPYLg++LFV9wKaLZuKRpciXnJcRqkQ= +github.com/aws/aws-sdk-go-v2/service/schemas v1.24.10 h1:WxqJ2K51dsWHdwYUdi1oTqarDFcUOJUwcQOSTEEjQ8k= +github.com/aws/aws-sdk-go-v2/service/schemas v1.24.10/go.mod h1:Mr4cAhSy1m0p+AVxfTNmzPgkFo/Go8Pm2eIIJ9MlEMs= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.30.0 h1:nqR1mkoDntCpOwdlEfa2pZLiwvQeF4Mi56WzOTyuF/s= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.30.0/go.mod h1:M9TqBwpQ7AC6zu1Yji7vijRliqir7hxjuRcnxIk7jCc= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.2 h1:ybKzmQRXvLkQ9rb251QPmaC5ZlCK1g8b1MLq7DD5eaE= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.2/go.mod h1:6SQ5lQJXJZ4HL8ewgW7kp68UkqQtUE/3UmEvDLpJxKk= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.14.0 h1:VQuxwHBq5iKVKbsPdrfKWijA9V3vUmtTOeuqNiL6IkU= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.14.0/go.mod h1:R23fuxDRRYRzUYthyjMLC+j5J3FOdt8vEruXVmzieEc= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.10 h1:YmcqlNM/+On+uz1U8mO67xmCBpIDBunL/Jcvxh5HjnQ= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.10/go.mod h1:qNYkunnIvN0ttbrpYRRZnv2TYUEcAlQmhKXkvT46Rrs= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.29.12 h1:KW0wxLufq7ngz1ofsZcjqSDoJZo3mBsNIwtrQVB7Z/Y= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.29.12/go.mod h1:pMCoQoF+2NgjwpSf4vM+QHp23hnQCje0n5LxrnmMH4Q= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.10 h1:B4VK4LEI/L5dtYq2Omzt4XQ9WwtZX7I+YwmkhcDdEV8= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.10/go.mod h1:jAMj6BiwJo5rCrR97LdKlo1M494krOfnPJCS6X7etcU= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.30.0 h1:9K/f5C/JsiamFFof/E4kKo7DpkZ1z5sa98hI7XHV3P0= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.30.0/go.mod h1:FAFzNrXuMkCLLVL89dpjJq2yJFbgFkyJC98jSgVHsso= +github.com/aws/aws-sdk-go-v2/service/shield v1.25.10 h1:QTc2t3diE1+J1ESShBMZZetQQCJpr4DC6qGsJfpWrrQ= +github.com/aws/aws-sdk-go-v2/service/shield v1.25.10/go.mod h1:pQgQYgpvef5P1jqHjB5+q/ss21ndQ3QtcVbfzNk/GrU= +github.com/aws/aws-sdk-go-v2/service/signer v1.22.13 h1:c3VQdGTewW+OJq0iw/P5rnFpfio+Dy0u9ulPdc+QW5k= +github.com/aws/aws-sdk-go-v2/service/signer v1.22.13/go.mod h1:tm0X1UQcNg0XaT1wRSR+TJXdgTL6SMu7ZNb9EDkqXjA= +github.com/aws/aws-sdk-go-v2/service/sns v1.29.11 h1:cZN4fMAERLi1Q4ZklHj1ru0oFSQ5Dacad0cY26gu/Fc= +github.com/aws/aws-sdk-go-v2/service/sns v1.29.11/go.mod h1:au0J6BWDeQfeyItMkuqT6fhhyZ3cVARGC9FVEDaz+Fk= +github.com/aws/aws-sdk-go-v2/service/sqs v1.32.6 h1:FrGnU+Ggf+jUFj1O7Pdw5hCk42dmyO9TOTCVL7mDISk= +github.com/aws/aws-sdk-go-v2/service/sqs v1.32.6/go.mod h1:2Ef3ZgVWL7lyz5YZf854YkMboK6qF1NbG/0hc9StZsg= +github.com/aws/aws-sdk-go-v2/service/ssm v1.50.6 h1:E+gbKlOadAI0qV+8uh0JnYmkRJi7k7XvMXcKso0Inyc= +github.com/aws/aws-sdk-go-v2/service/ssm v1.50.6/go.mod h1:vR37XXoCLx2fzr/fUaTQoQ6ZlBK8Ua6VLnxLfxN6vLY= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.10 h1:JIw0378UWnueUdaZhOv8MO1zZ6ReIQXpYqSv01TDvio= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.10/go.mod h1:JDRWRN6hxzkF/XDtGSmLUYRP88SkdHBr6LFW1/yZiXI= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.10 h1:MizOPvyKVTN07X9x2dpd/bpvjEuPUj8NyOD4Njp4T7c= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.10/go.mod h1:jgVY27QLdMMdFV+ZlvVmVWiu5HsjnjZO5Hjaqh0soLU= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.5 h1:kiveZFwK8mqJrkaMorymQp6J6l3s/pY5n/i6tabYz3Y= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.5/go.mod h1:auz/mQcCWc6ijosjuNXKw1JItUvqj+ERG1iHwJfHcvE= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.11 h1:gEYM2GSpr4YNWc6hCd5nod4+d4kd9vWIAWrmGuLdlMw= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.11/go.mod h1:gVvwPdPNYehHSP9Rs7q27U1EU+3Or2ZpXvzAYJNh63w= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.11 h1:9R4+nCSXYw+Ea10gD/uDPLEy7jV/m3i7tTN0x4cYPDg= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.11/go.mod h1:yXOGN/jjKLKLkWjZSKRWrnRAdw+6qWXF7bYXL/fB/d4= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5 h1:iXjh3uaH3vsVcnyZX7MqCoCfcyxIrVE9iOQruRaWPrQ= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5/go.mod h1:5ZXesEuy/QcO0WUnt+4sDkxhdXRHTu2yG0uCSH8B6os= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.12 h1:M/1u4HBpwLuMtjlxuI2y6HoVLzF5e2mfxHCg7ZVMYmk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.12/go.mod h1:kcfd+eTdEi/40FIbLq4Hif3XMXnl5b/+t/KTfLt9xIk= +github.com/aws/aws-sdk-go-v2/service/swf v1.23.2 h1:/EudBRyXqjvogP4JLFb31Jt8rz4YYy1UgW9KzKR+1xo= +github.com/aws/aws-sdk-go-v2/service/swf v1.23.2/go.mod h1:z92PP2/Cnis08+F2SlpnLT2kpJPpBQcWQ6aNGyGRvQg= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.10 h1:PMQAcJQH/84Qma/LKvv4bvg0cdJmkcg4t433HZvV+BE= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.10/go.mod h1:ecCYcAmgR/HOcRLfvMsUnSvNiI2rIpwCdoEkxl9tDo8= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.8 h1:dPKuHz5E8aOZHOt/2l5E9p4kX7WeEw93yKsgZxBvMg4= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.8/go.mod h1:ZCewKIHsDadZ9jgcCJYtvdRfH2CEMRxRXLPFobkEQec= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.11 h1:xdW8/PT8R5Qx/IjkAdMvZomjjOdIWlqsFMCH6mqgjsQ= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.11/go.mod h1:QfuI1DCBSBqbqc7hxOB0glVXBJE8NLX81hr9cc9yirQ= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.6 h1:KpnJG4jr1OhjkNnRklDEolRJr1CuFFeJBgKoAIXlhYE= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.6/go.mod h1:NMzEA79tY7NAOXO+fHz57LaOkK7WylnjJpQxmlhgoUc= +github.com/aws/aws-sdk-go-v2/service/transfer v1.48.3 h1:imZ9ImrvPCMGIMtRTLVBO6+mxGNcXw8Mi5WupIEwB9M= +github.com/aws/aws-sdk-go-v2/service/transfer v1.48.3/go.mod h1:RBiHBLIFC7Sye7F6EW16swUjnsETkgjHLBLbEo6lZAM= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.15.0 h1:mUdYHBcfWGNclMsAKSMjCmEgR95z4wzj21JH6bh3f9c= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.15.0/go.mod h1:CI0PDiO2lZqVoaSOLWmmAzDPSixUTzUSqEnlZUdhWq8= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.6 h1:Mn3zWbtu2877a9ONYd3WNRY43NentIgSHNUNnFs9vuQ= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.6/go.mod h1:0iCBzvgSjFsiQfmgRPHBK+8iZdH9mXVAG7EcfyrX4ZM= +github.com/aws/aws-sdk-go-v2/service/waf v1.20.10 h1:nN1bcxknc8kFrI+YSupMiRCmrzjKfMIucvMtKhLbWFo= +github.com/aws/aws-sdk-go-v2/service/waf v1.20.10/go.mod h1:hriMVzhWjoXy3+71A8Q/T+lGprjWLCH3IgEvcuDIvOM= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.10 h1:HiZrToGiVRP1nzh0nTS3cQH1N6o04MrHb8nwsLNuVX8= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.10/go.mod h1:+Rlg1RQVNbUbslQRkTSPk1QjGTPx7MCSnaEpN+VZrIY= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.3 h1:wnhDyatF0gn17s098Vd+/aHmgNvk3N7sknESF++wMck= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.3/go.mod h1:4U73NhYe9Eyz81zJgFKyho6Rmw1ZpIYnwhsdlx65mqI= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.6 h1:8W0gNavRGoSn2kolXQb/wr8MG9D7QrBAg/yjlTkmy04= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.6/go.mod h1:1P1kcHgiFKRuFfXGUck9vNaMCEmIeigbsBjb86UN2eg= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.6 h1:V4AQVudNs3PjsrXiDAX6HITaTLpo9W1r5yuUgzMONis= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.6/go.mod h1:BZlMv5EkPEBRCrHxTM6dH8nohuwIQaEHGHcI76a4pjs= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.6 h1:0IyUHkXxEeIVXWVtPB0+vQMM5sxBOWdPIoqCKwaGiG8= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.6/go.mod h1:utmfTQCJk0fAsiKFJ0FrGTJXFqyZoj5ZHm9FWT8Nf/0= +github.com/aws/aws-sdk-go-v2/service/xray v1.25.10 h1:EaxobHo3hQaj8HaGTdJwM8KRkAspfUQTthTeEXL6THA= +github.com/aws/aws-sdk-go-v2/service/xray v1.25.10/go.mod h1:doojKT3qF2pa1UDEuazJtGxdm2/Og9s9irewwJ+rpXU= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -2034,8 +2044,8 @@ github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 h1:b8vZYB/SkXJT github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0/go.mod h1:tP9BC3icoXBz72evMS5UTFvi98CiKhPdXF6yLs1wS8A= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1/go.mod h1:MsjL1sQ9L7wGwzJ5RjcI6FzEMdyoBnw+XK8ZnOvQOLY= -github.com/hashicorp/terraform-plugin-framework-timetypes v0.3.0 h1:egR4InfakWkgepZNUATWGwkrPhaAYOTEybPfEol+G/I= -github.com/hashicorp/terraform-plugin-framework-timetypes v0.3.0/go.mod h1:9vjvl36aY1p6KltaA5QCvGC5hdE/9t4YuhGftw6WOgE= +github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0 h1:XLI93Oqw2/KTzYjgCXrUnm8LBkGAiHC/mDQg5g5Vob4= +github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0/go.mod h1:mGuieb3bqKFYwEYB4lCMt302Z3siyv4PFYk/41wAUps= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= github.com/hashicorp/terraform-plugin-go v0.22.0/go.mod h1:mPULV91VKss7sik6KFEcEu7HuTogMLLO/EvWCuFkRVE= @@ -2512,8 +2522,8 @@ golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2580,8 +2590,8 @@ golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= -golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2717,8 +2727,9 @@ golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2829,8 +2840,8 @@ golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2851,8 +2862,8 @@ golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2874,8 +2885,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2958,8 +2969,8 @@ golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= -golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/patches/0008-Workaround-Autoscaling-launch_configuration-associat.patch b/patches/0008-Workaround-Autoscaling-launch_configuration-associat.patch index 0d5eaa680f7..aa1d85e7b4b 100644 --- a/patches/0008-Workaround-Autoscaling-launch_configuration-associat.patch +++ b/patches/0008-Workaround-Autoscaling-launch_configuration-associat.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Workaround Autoscaling launch_configuration - Disable computation of property until fixed. diff --git a/internal/service/autoscaling/launch_configuration.go b/internal/service/autoscaling/launch_configuration.go -index d988c9bdc0..9740c2a57c 100644 +index a46c4b4b27..d6fe751162 100644 --- a/internal/service/autoscaling/launch_configuration.go +++ b/internal/service/autoscaling/launch_configuration.go -@@ -51,7 +51,8 @@ func resourceLaunchConfiguration() *schema.Resource { +@@ -52,7 +52,8 @@ func resourceLaunchConfiguration() *schema.Resource { "associate_public_ip_address": { Type: schema.TypeBool, Optional: true, @@ -20,7 +20,7 @@ index d988c9bdc0..9740c2a57c 100644 ForceNew: true, }, "ebs_block_device": { -@@ -318,16 +319,19 @@ func resourceLaunchConfigurationCreate(ctx context.Context, d *schema.ResourceDa +@@ -319,16 +320,19 @@ func resourceLaunchConfigurationCreate(ctx context.Context, d *schema.ResourceDa lcName := create.Name(d.Get(names.AttrName).(string), d.Get(names.AttrNamePrefix).(string)) input := autoscaling.CreateLaunchConfigurationInput{ diff --git a/patches/0013-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch b/patches/0013-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch index 21d3fc5ae35..25573c4e2ad 100644 --- a/patches/0013-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch +++ b/patches/0013-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Catch cty panic in new The root cause is not fully understood yet but this might unblock us. diff --git a/internal/service/sns/topic_subscription.go b/internal/service/sns/topic_subscription.go -index 048654b937..0664e05d84 100644 +index dcef58b233..c4cf612a34 100644 --- a/internal/service/sns/topic_subscription.go +++ b/internal/service/sns/topic_subscription.go -@@ -540,9 +540,11 @@ func normalizeTopicSubscriptionDeliveryPolicy(policy string) ([]byte, error) { +@@ -545,9 +545,11 @@ func normalizeTopicSubscriptionDeliveryPolicy(policy string) ([]byte, error) { func resourceTopicSubscriptionCustomizeDiff(_ context.Context, diff *schema.ResourceDiff, _ interface{}) error { hasPolicy := diff.Get("filter_policy").(string) != "" diff --git a/patches/0016-Revert-Update-endpointHashIPAddress.patch b/patches/0016-Revert-Update-endpointHashIPAddress.patch index 94c287a0072..a07fb0e1ccd 100644 --- a/patches/0016-Revert-Update-endpointHashIPAddress.patch +++ b/patches/0016-Revert-Update-endpointHashIPAddress.patch @@ -9,10 +9,10 @@ This commit causes never-converging diffs due to incorrect use of a computed property in hashing. diff --git a/internal/service/route53resolver/endpoint.go b/internal/service/route53resolver/endpoint.go -index 2531180774..68f1b30fb1 100644 +index 36d7a6477b..62449e6e0f 100644 --- a/internal/service/route53resolver/endpoint.go +++ b/internal/service/route53resolver/endpoint.go -@@ -430,7 +430,7 @@ func waitEndpointDeleted(ctx context.Context, conn *route53resolver.Route53Resol +@@ -435,7 +435,7 @@ func waitEndpointDeleted(ctx context.Context, conn *route53resolver.Route53Resol func endpointHashIPAddress(v interface{}) int { var buf bytes.Buffer m := v.(map[string]interface{}) 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 1f25d6bfde1..6e2fc2b9609 100644 --- a/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch +++ b/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch @@ -44,10 +44,10 @@ index 837e79c057..8fc8280900 100644 }, "etag": { diff --git a/internal/service/docdb/cluster_parameter_group.go b/internal/service/docdb/cluster_parameter_group.go -index 31466da183..d36339e1dc 100644 +index d530b2a85c..c14f298606 100644 --- a/internal/service/docdb/cluster_parameter_group.go +++ b/internal/service/docdb/cluster_parameter_group.go -@@ -48,7 +48,7 @@ func ResourceClusterParameterGroup() *schema.Resource { +@@ -50,7 +50,7 @@ func ResourceClusterParameterGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, @@ -57,10 +57,10 @@ index 31466da183..d36339e1dc 100644 names.AttrFamily: { Type: schema.TypeString, diff --git a/internal/service/docdb/subnet_group.go b/internal/service/docdb/subnet_group.go -index 333fe4befa..b706339eea 100644 +index 70a69db303..5f1045af17 100644 --- a/internal/service/docdb/subnet_group.go +++ b/internal/service/docdb/subnet_group.go -@@ -45,7 +45,7 @@ func ResourceSubnetGroup() *schema.Resource { +@@ -46,7 +46,7 @@ func ResourceSubnetGroup() *schema.Resource { names.AttrDescription: { Type: schema.TypeString, Optional: true, @@ -359,7 +359,7 @@ index 0eba392459..397bac3d54 100644 names.AttrTags: tftags.TagsSchema(), names.AttrTagsAll: tftags.TagsSchemaComputed(), diff --git a/internal/service/rds/parameter_group.go b/internal/service/rds/parameter_group.go -index 56d433437d..a5fa723e39 100644 +index b870ffe2bc..9c72bc5fd1 100644 --- a/internal/service/rds/parameter_group.go +++ b/internal/service/rds/parameter_group.go @@ -52,7 +52,7 @@ func ResourceParameterGroup() *schema.Resource { @@ -1061,7 +1061,7 @@ index aeef59b958..abac8702c5 100644 HostedZoneId: aws.String(zoneID), } diff --git a/internal/service/route53/zone.go b/internal/service/route53/zone.go -index 10dc7c543b..9f5c076bf7 100644 +index 15edc9f2af..db519dc744 100644 --- a/internal/service/route53/zone.go +++ b/internal/service/route53/zone.go @@ -53,7 +53,7 @@ func resourceZone() *schema.Resource { 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 59fa26ab9aa..4699767afd6 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 @@ -114,7 +114,7 @@ index e8e1a272eb..a4a1625554 100644 Blocks: map[string]schema.Block{ names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ diff --git a/internal/service/ec2/ec2_instance_connect_endpoint.go b/internal/service/ec2/ec2_instance_connect_endpoint.go -index f1a198c2d9..25016470af 100644 +index 90273f5fb2..7eb040c4e2 100644 --- a/internal/service/ec2/ec2_instance_connect_endpoint.go +++ b/internal/service/ec2/ec2_instance_connect_endpoint.go @@ -118,7 +118,7 @@ func (r *instanceConnectEndpointResource) Schema(ctx context.Context, req resour diff --git a/patches/0036-Disable-retry-for-KMS-access-denied-in-lambda.patch b/patches/0036-Disable-retry-for-KMS-access-denied-in-lambda.patch index caae29013a6..cd4e9dad628 100644 --- a/patches/0036-Disable-retry-for-KMS-access-denied-in-lambda.patch +++ b/patches/0036-Disable-retry-for-KMS-access-denied-in-lambda.patch @@ -99,7 +99,7 @@ index 6b8ecf2c57..72d8c48672 100644 return &servicePackage{} } diff --git a/names/data/names_data.csv b/names/data/names_data.csv -index da7ff7f983..fefa624383 100644 +index e36b7a9a0c..ebe0f7ed17 100644 --- a/names/data/names_data.csv +++ b/names/data/names_data.csv @@ -218,7 +218,7 @@ kinesis-video-media,kinesisvideomedia,kinesisvideomedia,kinesisvideomedia,,kines diff --git a/patches/0037-Patch-ACM-retry-to-not-retry-after-LimitExceededExce.patch b/patches/0037-Patch-ACM-retry-to-not-retry-after-LimitExceededExce.patch index d70fc8ccdf3..b32e16dbcd9 100644 --- a/patches/0037-Patch-ACM-retry-to-not-retry-after-LimitExceededExce.patch +++ b/patches/0037-Patch-ACM-retry-to-not-retry-after-LimitExceededExce.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Patch ACM retry to not retry after LimitExceededException diff --git a/internal/service/acm/service_package_gen.go b/internal/service/acm/service_package_gen.go -index 7ca15d3ae4..85744c2eee 100644 +index cd3c01f9c9..b993553de2 100644 --- a/internal/service/acm/service_package_gen.go +++ b/internal/service/acm/service_package_gen.go @@ -6,8 +6,10 @@ import ( @@ -20,7 +20,7 @@ index 7ca15d3ae4..85744c2eee 100644 "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/types" "github.com/hashicorp/terraform-provider-aws/names" -@@ -69,6 +71,14 @@ func (p *servicePackage) NewClient(ctx context.Context, config map[string]any) ( +@@ -73,6 +75,14 @@ func (p *servicePackage) NewClient(ctx context.Context, config map[string]any) ( o.EndpointOptions.UseFIPSEndpoint = aws_sdkv2.FIPSEndpointStateDisabled } } diff --git a/patches/0038-Restore-legacy-bucket.patch b/patches/0038-Restore-legacy-bucket.patch index 33bca6b1f81..4c2ee5984b2 100644 --- a/patches/0038-Restore-legacy-bucket.patch +++ b/patches/0038-Restore-legacy-bucket.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Restore legacy bucket diff --git a/go.mod b/go.mod -index ef0bb73901..654b4ceead 100644 +index 57846f59c0..7fb556ab81 100644 --- a/go.mod +++ b/go.mod -@@ -194,6 +194,7 @@ require ( +@@ -199,6 +199,7 @@ require ( github.com/gertd/go-pluralize v0.2.1 github.com/google/go-cmp v0.6.0 github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.23.0 @@ -17,10 +17,10 @@ index ef0bb73901..654b4ceead 100644 github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.54 github.com/hashicorp/awspolicyequivalence v1.6.0 diff --git a/go.sum b/go.sum -index 4f342a97f5..11035e85c7 100644 +index e5dab74913..94e4b1d8b7 100644 --- a/go.sum +++ b/go.sum -@@ -451,6 +451,7 @@ github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +@@ -461,6 +461,7 @@ github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= @@ -28,7 +28,7 @@ index 4f342a97f5..11035e85c7 100644 github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -@@ -470,6 +471,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +@@ -480,6 +481,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.23.0 h1:l16/Vrl0+x+HjHJWEjcKPwHYoxN9EC78gAFXKlH6m84= github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.23.0/go.mod h1:HAmscHyzSOfB1Dr16KLc177KNbn83wscnZC+N7WyaM8= @@ -37,7 +37,7 @@ index 4f342a97f5..11035e85c7 100644 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.53 h1:jgOMbQlypMpUMaqYJotjT7ERSMvQP00Mppgjgh8lNt8= github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.53/go.mod h1:nvpXIeF0ANfZ7sMssXKSSR3pyXfksajxoC2tl4jjN08= github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.54 h1:raRbM2Wynqv0Nyhe7AwVnFgb2roGSvpSUeQKxEg8Lts= -@@ -545,6 +548,7 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i +@@ -555,6 +558,7 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= @@ -45,8 +45,8 @@ index 4f342a97f5..11035e85c7 100644 github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -@@ -657,6 +661,7 @@ golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= - golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +@@ -667,6 +671,7 @@ golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= + golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= diff --git a/patches/0041-Revert-Merge-pull-request-35671-from-hashicorp-b-lb-.patch b/patches/0041-Revert-Merge-pull-request-35671-from-hashicorp-b-lb-.patch index ca03cee299f..2f79d2dfa57 100644 --- a/patches/0041-Revert-Merge-pull-request-35671-from-hashicorp-b-lb-.patch +++ b/patches/0041-Revert-Merge-pull-request-35671-from-hashicorp-b-lb-.patch @@ -187,10 +187,10 @@ index ec53bee87d..5dec03955e 100644 - } -} diff --git a/internal/service/elbv2/listener_data_source.go b/internal/service/elbv2/listener_data_source.go -index 20d1c424e1..2531ae0355 100644 +index dc7221f163..c64e80e7e3 100644 --- a/internal/service/elbv2/listener_data_source.go +++ b/internal/service/elbv2/listener_data_source.go -@@ -339,7 +339,7 @@ func dataSourceListenerRead(ctx context.Context, d *schema.ResourceData, meta in +@@ -340,7 +340,7 @@ func dataSourceListenerRead(ctx context.Context, d *schema.ResourceData, meta in sort.Slice(listener.DefaultActions, func(i, j int) bool { return aws.ToInt32(listener.DefaultActions[i].Order) < aws.ToInt32(listener.DefaultActions[j].Order) }) diff --git a/patches/0042-Allow-creating-lambdas-without-code-related-properti.patch b/patches/0042-Allow-creating-lambdas-without-code-related-properti.patch index e631beaf585..72d752cfce3 100644 --- a/patches/0042-Allow-creating-lambdas-without-code-related-properti.patch +++ b/patches/0042-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 28f37eb277..dfa2e97fa3 100644 +index 4d25e0e549..ac27e24a03 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/0047-restore-ECRConn.patch b/patches/0047-restore-ECRConn.patch index 26e28170e86..e4fd9f3972b 100644 --- a/patches/0047-restore-ECRConn.patch +++ b/patches/0047-restore-ECRConn.patch @@ -5,18 +5,18 @@ Subject: [PATCH] restore ECRConn diff --git a/internal/conns/awsclient_gen.go b/internal/conns/awsclient_gen.go -index 7ff63b248b..11f9c75de5 100644 +index fa56803e05..673dc98e1a 100644 --- a/internal/conns/awsclient_gen.go +++ b/internal/conns/awsclient_gen.go -@@ -195,6 +195,7 @@ import ( +@@ -198,6 +198,7 @@ import ( + directconnect_sdkv1 "github.com/aws/aws-sdk-go/service/directconnect" directoryservice_sdkv1 "github.com/aws/aws-sdk-go/service/directoryservice" - docdb_sdkv1 "github.com/aws/aws-sdk-go/service/docdb" ec2_sdkv1 "github.com/aws/aws-sdk-go/service/ec2" + ecr_sdkv1 "github.com/aws/aws-sdk-go/service/ecr" ecs_sdkv1 "github.com/aws/aws-sdk-go/service/ecs" efs_sdkv1 "github.com/aws/aws-sdk-go/service/efs" elasticache_sdkv1 "github.com/aws/aws-sdk-go/service/elasticache" -@@ -590,6 +591,10 @@ func (c *AWSClient) EC2Client(ctx context.Context) *ec2_sdkv2.Client { +@@ -591,6 +592,10 @@ func (c *AWSClient) EC2Client(ctx context.Context) *ec2_sdkv2.Client { return errs.Must(client[*ec2_sdkv2.Client](ctx, c, names.EC2, make(map[string]any))) } diff --git a/patches/0051-non-idempotent-sns-topic-creation.patch b/patches/0051-non-idempotent-sns-topic-creation.patch index 84ec27b07ec..3c6e81095d2 100644 --- a/patches/0051-non-idempotent-sns-topic-creation.patch +++ b/patches/0051-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 71cc3dcab3..ca542a6467 100644 +index ce64108d08..7d73e7e572 100644 --- a/internal/service/sns/topic.go +++ b/internal/service/sns/topic.go @@ -9,6 +9,7 @@ import ( diff --git a/patches/0058-Parallelize-Lambda-Function-resource-operations.patch b/patches/0058-Parallelize-Lambda-Function-resource-operations.patch index 78339e6cc70..8515481d10d 100644 --- a/patches/0058-Parallelize-Lambda-Function-resource-operations.patch +++ b/patches/0058-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 dfa2e97fa3..0145922945 100644 +index ac27e24a03..192bb39a99 100644 --- a/internal/service/lambda/function.go +++ b/internal/service/lambda/function.go @@ -36,7 +36,6 @@ import ( diff --git a/patches/0061-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0061-Fix-tags_all-Computed-for-PF-resources.patch new file mode 100644 index 00000000000..d51cc711856 --- /dev/null +++ b/patches/0061-Fix-tags_all-Computed-for-PF-resources.patch @@ -0,0 +1,71 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Florian Stadler +Date: Tue, 18 Jun 2024 10:24:51 +0200 +Subject: [PATCH] Fix tags_all Computed for PF resources + + +diff --git a/internal/service/appfabric/app_authorization.go b/internal/service/appfabric/app_authorization.go +index 8b8f2091ec..9781507561 100644 +--- a/internal/service/appfabric/app_authorization.go ++++ b/internal/service/appfabric/app_authorization.go +@@ -112,7 +112,7 @@ func (r *appAuthorizationResource) Schema(ctx context.Context, request resource. + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + "updated_at": schema.StringAttribute{ + CustomType: timetypes.RFC3339Type{}, + Computed: true, +diff --git a/internal/service/appfabric/app_bundle.go b/internal/service/appfabric/app_bundle.go +index 98a55920b8..e1085f4cc4 100644 +--- a/internal/service/appfabric/app_bundle.go ++++ b/internal/service/appfabric/app_bundle.go +@@ -58,7 +58,7 @@ func (r *appBundleResource) Schema(ctx context.Context, request resource.SchemaR + }, + names.AttrID: framework.IDAttribute(), + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + } + } +diff --git a/internal/service/ec2/ec2_capacity_block_reservation.go b/internal/service/ec2/ec2_capacity_block_reservation.go +index eecf8cf1a9..e27245f1fd 100644 +--- a/internal/service/ec2/ec2_capacity_block_reservation.go ++++ b/internal/service/ec2/ec2_capacity_block_reservation.go +@@ -150,7 +150,7 @@ func (r *resourceCapacityBlockReservation) Schema(ctx context.Context, _ resourc + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + "tenancy": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ +diff --git a/internal/service/fms/resource_set.go b/internal/service/fms/resource_set.go +index 8722e6a2b6..09293cdecc 100644 +--- a/internal/service/fms/resource_set.go ++++ b/internal/service/fms/resource_set.go +@@ -103,7 +103,7 @@ func (r *resourceResourceSet) Schema(ctx context.Context, req resource.SchemaReq + names.AttrID: framework.IDAttribute(), + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + "resource_set": resourceSetLNB, +diff --git a/internal/service/guardduty/malware_protection_plan.go b/internal/service/guardduty/malware_protection_plan.go +index efe2773748..c48b5ff4aa 100644 +--- a/internal/service/guardduty/malware_protection_plan.go ++++ b/internal/service/guardduty/malware_protection_plan.go +@@ -88,7 +88,7 @@ func (r *resourceMalwareProtectionPlan) Schema(ctx context.Context, req resource + Computed: true, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + "protected_resource": schema.ListNestedBlock{ diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index 3594f1e9dca..e706f613072 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -880,6 +880,32 @@ "current": "aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion", "majorVersion": 6 }, + "aws_appfabric_app_authorization": { + "current": "aws:appfabric/appAuthorization:AppAuthorization", + "majorVersion": 6, + "fields": { + "credential": { + "maxItemsOne": true, + "elem": { + "fields": { + "api_key_credential": { + "maxItemsOne": false + }, + "oauth2_credential": { + "maxItemsOne": true + } + } + } + }, + "tenant": { + "maxItemsOne": false + } + } + }, + "aws_appfabric_app_bundle": { + "current": "aws:appfabric/appBundle:AppBundle", + "majorVersion": 6 + }, "aws_appflow_connector_profile": { "current": "aws:appflow/connectorProfile:ConnectorProfile", "majorVersion": 6, @@ -9357,6 +9383,10 @@ "current": "aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup", "majorVersion": 6 }, + "aws_ec2_capacity_block_reservation": { + "current": "aws:ec2/capacityBlockReservation:CapacityBlockReservation", + "majorVersion": 6 + }, "aws_ec2_capacity_reservation": { "current": "aws:ec2/capacityReservation:CapacityReservation", "majorVersion": 6 @@ -9491,7 +9521,14 @@ } }, "on_demand_options": { - "maxItemsOne": true + "maxItemsOne": true, + "elem": { + "fields": { + "capacity_reservation_options": { + "maxItemsOne": true + } + } + } }, "spot_options": { "maxItemsOne": true, @@ -11773,6 +11810,22 @@ } } }, + "aws_fms_resource_set": { + "current": "aws:fms/resourceSet:ResourceSet", + "majorVersion": 6, + "fields": { + "resource_set": { + "maxItemsOne": false, + "elem": { + "fields": { + "resource_type_list": { + "maxItemsOne": false + } + } + } + } + } + }, "aws_fsx_backup": { "current": "aws:fsx/backup:Backup", "majorVersion": 6 @@ -13029,6 +13082,39 @@ "current": "aws:guardduty/iPSet:IPSet", "majorVersion": 6 }, + "aws_guardduty_malware_protection_plan": { + "current": "aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan", + "majorVersion": 6, + "fields": { + "actions": { + "maxItemsOne": false, + "elem": { + "fields": { + "tagging": { + "maxItemsOne": false + } + } + } + }, + "protected_resource": { + "maxItemsOne": true, + "elem": { + "fields": { + "s3_bucket": { + "maxItemsOne": true, + "elem": { + "fields": { + "object_prefixes": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, "aws_guardduty_member": { "current": "aws:guardduty/member:Member", "majorVersion": 6 @@ -159328,6 +159414,9 @@ "security_group_ids": { "maxItemsOne": false }, + "subnet_configuration": { + "maxItemsOne": false + }, "subnet_ids": { "maxItemsOne": false } @@ -223500,6 +223589,10 @@ } } }, + "aws_ec2_capacity_block_offering": { + "current": "aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", + "majorVersion": 6 + }, "aws_ec2_client_vpn_endpoint": { "current": "aws:ec2clientvpn/getEndpoint:getEndpoint", "majorVersion": 6, @@ -230609,6 +230702,8 @@ "aws:appconfig/extension:Extension": 0, "aws:appconfig/extensionAssociation:ExtensionAssociation": 0, "aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion": 0, + "aws:appfabric/appAuthorization:AppAuthorization": 1, + "aws:appfabric/appBundle:AppBundle": 1, "aws:appflow/connectorProfile:ConnectorProfile": 0, "aws:appflow/flow:Flow": 0, "aws:appintegrations/dataIntegration:DataIntegration": 0, @@ -230942,6 +231037,7 @@ "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, @@ -231139,6 +231235,7 @@ "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, @@ -231196,6 +231293,7 @@ "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, @@ -232051,6 +232149,7 @@ "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, diff --git a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json index 8cdca1de296..f00196621c4 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_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_fsx_openzfs_file_system":{"maxItemsOneOverrides":{"subnet_ids":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_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}}},"datasources":{"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":0,"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: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/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/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"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/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: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/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/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/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/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: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: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/domain:Domain":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":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: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/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/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/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/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/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: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/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: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/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/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"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/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"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/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":0,"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/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: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:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"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/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"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/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/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: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/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/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":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/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/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: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/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: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/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: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/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: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/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":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/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: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/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/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/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/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: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/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/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: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/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/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/getDataSet:getDataSet":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/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/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: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/getSecrets:getSecrets":0,"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: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: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/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"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_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_fsx_openzfs_file_system":{"maxItemsOneOverrides":{"subnet_ids":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_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}}},"datasources":{"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":0,"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/appBundle:AppBundle":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/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/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"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/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: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/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/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/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/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: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: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/domain:Domain":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":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: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/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/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/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/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/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: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/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"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/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"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/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":0,"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/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: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:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"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/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"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/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/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: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/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/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":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/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/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: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/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: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/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: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/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: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/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":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/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: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/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/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/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: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/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/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: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/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/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/getDataSet:getDataSet":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/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/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: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/getSecrets:getSecrets":0,"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: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: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/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"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 6064bad7605..3258f2f22eb 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -29,6 +29,7 @@ "apigatewayv2": "ApiGatewayV2", "appautoscaling": "AppAutoScaling", "appconfig": "AppConfig", + "appfabric": "AppFabric", "appflow": "AppFlow", "appintegrations": "AppIntegrations", "applicationinsights": "ApplicationInsights", @@ -3534,6 +3535,87 @@ } } }, + "aws:appfabric/AppAuthorizationCredential:AppAuthorizationCredential": { + "properties": { + "apiKeyCredentials": { + "type": "array", + "items": { + "$ref": "#/types/aws:appfabric/AppAuthorizationCredentialApiKeyCredential:AppAuthorizationCredentialApiKeyCredential" + }, + "description": "Contains API key credential information.\n" + }, + "oauth2Credential": { + "$ref": "#/types/aws:appfabric/AppAuthorizationCredentialOauth2Credential:AppAuthorizationCredentialOauth2Credential", + "description": "Contains OAuth2 client credential information.\n" + } + }, + "type": "object" + }, + "aws:appfabric/AppAuthorizationCredentialApiKeyCredential:AppAuthorizationCredentialApiKeyCredential": { + "properties": { + "apiKey": { + "type": "string", + "description": "Contains API key credential information.\n", + "secret": true + } + }, + "type": "object", + "required": [ + "apiKey" + ] + }, + "aws:appfabric/AppAuthorizationCredentialOauth2Credential:AppAuthorizationCredentialOauth2Credential": { + "properties": { + "clientId": { + "type": "string", + "description": "The client ID of the client application.\n" + }, + "clientSecret": { + "type": "string", + "description": "The client secret of the client application.\n", + "secret": true + } + }, + "type": "object", + "required": [ + "clientId", + "clientSecret" + ] + }, + "aws:appfabric/AppAuthorizationTenant:AppAuthorizationTenant": { + "properties": { + "tenantDisplayName": { + "type": "string", + "description": "The display name of the tenant.\n" + }, + "tenantIdentifier": { + "type": "string", + "description": "The ID of the application tenant.\n" + } + }, + "type": "object", + "required": [ + "tenantDisplayName", + "tenantIdentifier" + ] + }, + "aws:appfabric/AppAuthorizationTimeouts:AppAuthorizationTimeouts": { + "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:appflow/ConnectorProfileConnectorProfileConfig:ConnectorProfileConnectorProfileConfig": { "properties": { "connectorProfileCredentials": { @@ -27327,7 +27409,7 @@ }, "sourceActionName": { "type": "string", - "description": "The name of the pipeline source action where the trigger configuration.\n" + "description": "The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.\n" } }, "type": "object", @@ -39833,6 +39915,15 @@ } } }, + "aws:ec2/CapacityBlockReservationTimeouts:CapacityBlockReservationTimeouts": { + "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" + } + }, + "type": "object" + }, "aws:ec2/DefaultNetworkAclEgress:DefaultNetworkAclEgress": { "properties": { "action": { @@ -40456,6 +40547,10 @@ "description": "The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`.\n", "willReplaceOnChanges": true }, + "capacityReservationOptions": { + "$ref": "#/types/aws:ec2/FleetOnDemandOptionsCapacityReservationOptions:FleetOnDemandOptionsCapacityReservationOptions", + "description": "The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`.\n" + }, "maxTotalPrice": { "type": "string", "description": "The maximum amount per hour for On-Demand Instances that you're willing to pay.\n" @@ -40475,6 +40570,15 @@ }, "type": "object" }, + "aws:ec2/FleetOnDemandOptionsCapacityReservationOptions:FleetOnDemandOptionsCapacityReservationOptions": { + "properties": { + "usageStrategy": { + "type": "string", + "description": "Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`.\n" + } + }, + "type": "object" + }, "aws:ec2/FleetSpotOptions:FleetSpotOptions": { "properties": { "allocationStrategy": { @@ -44482,7 +44586,7 @@ "properties": { "type": { "type": "string", - "description": "The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics)\n" + "description": "The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics)\n" } }, "type": "object", @@ -49182,6 +49286,22 @@ } } }, + "aws:ec2/VpcEndpointSubnetConfiguration:VpcEndpointSubnetConfiguration": { + "properties": { + "ipv4": { + "type": "string", + "description": "The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4.\n" + }, + "ipv6": { + "type": "string", + "description": "The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6.\n" + }, + "subnetId": { + "type": "string" + } + }, + "type": "object" + }, "aws:ec2/VpcIpamOperatingRegion:VpcIpamOperatingRegion": { "properties": { "regionName": { @@ -63108,6 +63228,72 @@ }, "type": "object" }, + "aws:fms/ResourceSetResourceSet:ResourceSetResourceSet": { + "properties": { + "description": { + "type": "string", + "description": "Description of the resource set.\n" + }, + "id": { + "type": "string", + "description": "Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete.\n" + }, + "lastUpdateTime": { + "type": "string", + "description": "Last time that the reosurce set was changed.\n" + }, + "name": { + "type": "string", + "description": "Descriptive name of the resource set. You can't change the name of a resource set after you create it.\n" + }, + "resourceSetStatus": { + "type": "string", + "description": "Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.)\n" + }, + "resourceTypeLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list.\n" + }, + "updateToken": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "id", + "lastUpdateTime", + "name", + "resourceSetStatus", + "updateToken" + ] + } + } + }, + "aws:fms/ResourceSetTimeouts:ResourceSetTimeouts": { + "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:fsx/DataRepositoryAssociationS3:DataRepositoryAssociationS3": { "properties": { "autoExportPolicy": { @@ -67177,7 +67363,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values.\n", + "description": "The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values.\n", "willReplaceOnChanges": true }, "status": { @@ -67247,6 +67433,57 @@ "field" ] }, + "aws:guardduty/MalwareProtectionPlanAction:MalwareProtectionPlanAction": { + "properties": { + "taggings": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below.\n" + } + }, + "type": "object", + "required": [ + "taggings" + ] + }, + "aws:guardduty/MalwareProtectionPlanProtectedResource:MalwareProtectionPlanProtectedResource": { + "properties": { + "s3Bucket": { + "$ref": "#/types/aws:guardduty/MalwareProtectionPlanProtectedResourceS3Bucket:MalwareProtectionPlanProtectedResourceS3Bucket", + "description": "Information about the protected S3 bucket resource. See `s3_bucket` below.\n" + } + }, + "type": "object" + }, + "aws:guardduty/MalwareProtectionPlanProtectedResourceS3Bucket:MalwareProtectionPlanProtectedResourceS3Bucket": { + "properties": { + "bucketName": { + "type": "string", + "description": "Name of the S3 bucket.\n" + }, + "objectPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of object prefixes that specify the S3 objects that will be scanned.\n" + } + }, + "type": "object", + "required": [ + "bucketName" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "bucketName", + "objectPrefixes" + ] + } + } + }, "aws:guardduty/OrganizationConfigurationDatasources:OrganizationConfigurationDatasources": { "properties": { "kubernetes": { @@ -67353,7 +67590,7 @@ }, "name": { "type": "string", - "description": "The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`.\n", + "description": "The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values.\n", "willReplaceOnChanges": true } }, @@ -169340,6 +169577,255 @@ "type": "object" } }, + "aws:appfabric/appAuthorization:AppAuthorization": { + "description": "Resource for managing an AWS AppFabric App Authorization.\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.appfabric.AppAuthorization(\"example\", {\n app: \"TERRAFORMCLOUD\",\n appBundleArn: arn,\n authType: \"apiKey\",\n credential: {\n apiKeyCredentials: [{\n apiKey: \"exampleapikeytoken\",\n }],\n },\n tenants: [{\n tenantDisplayName: \"example\",\n tenantIdentifier: \"example\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appfabric.AppAuthorization(\"example\",\n app=\"TERRAFORMCLOUD\",\n app_bundle_arn=arn,\n auth_type=\"apiKey\",\n credential=aws.appfabric.AppAuthorizationCredentialArgs(\n api_key_credentials=[aws.appfabric.AppAuthorizationCredentialApiKeyCredentialArgs(\n api_key=\"exampleapikeytoken\",\n )],\n ),\n tenants=[aws.appfabric.AppAuthorizationTenantArgs(\n tenant_display_name=\"example\",\n tenant_identifier=\"example\",\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.AppFabric.AppAuthorization(\"example\", new()\n {\n App = \"TERRAFORMCLOUD\",\n AppBundleArn = arn,\n AuthType = \"apiKey\",\n Credential = new Aws.AppFabric.Inputs.AppAuthorizationCredentialArgs\n {\n ApiKeyCredentials = new[]\n {\n new Aws.AppFabric.Inputs.AppAuthorizationCredentialApiKeyCredentialArgs\n {\n ApiKey = \"exampleapikeytoken\",\n },\n },\n },\n Tenants = new[]\n {\n new Aws.AppFabric.Inputs.AppAuthorizationTenantArgs\n {\n TenantDisplayName = \"example\",\n TenantIdentifier = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appfabric\"\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 := appfabric.NewAppAuthorization(ctx, \"example\", \u0026appfabric.AppAuthorizationArgs{\n\t\t\tApp: pulumi.String(\"TERRAFORMCLOUD\"),\n\t\t\tAppBundleArn: pulumi.Any(arn),\n\t\t\tAuthType: pulumi.String(\"apiKey\"),\n\t\t\tCredential: \u0026appfabric.AppAuthorizationCredentialArgs{\n\t\t\t\tApiKeyCredentials: appfabric.AppAuthorizationCredentialApiKeyCredentialArray{\n\t\t\t\t\t\u0026appfabric.AppAuthorizationCredentialApiKeyCredentialArgs{\n\t\t\t\t\t\tApiKey: pulumi.String(\"exampleapikeytoken\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTenants: appfabric.AppAuthorizationTenantArray{\n\t\t\t\t\u0026appfabric.AppAuthorizationTenantArgs{\n\t\t\t\t\tTenantDisplayName: pulumi.String(\"example\"),\n\t\t\t\t\tTenantIdentifier: pulumi.String(\"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.appfabric.AppAuthorization;\nimport com.pulumi.aws.appfabric.AppAuthorizationArgs;\nimport com.pulumi.aws.appfabric.inputs.AppAuthorizationCredentialArgs;\nimport com.pulumi.aws.appfabric.inputs.AppAuthorizationTenantArgs;\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 AppAuthorization(\"example\", AppAuthorizationArgs.builder()\n .app(\"TERRAFORMCLOUD\")\n .appBundleArn(arn)\n .authType(\"apiKey\")\n .credential(AppAuthorizationCredentialArgs.builder()\n .apiKeyCredentials(AppAuthorizationCredentialApiKeyCredentialArgs.builder()\n .apiKey(\"exampleapikeytoken\")\n .build())\n .build())\n .tenants(AppAuthorizationTenantArgs.builder()\n .tenantDisplayName(\"example\")\n .tenantIdentifier(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appfabric:AppAuthorization\n properties:\n app: TERRAFORMCLOUD\n appBundleArn: ${arn}\n authType: apiKey\n credential:\n apiKeyCredentials:\n - apiKey: exampleapikeytoken\n tenants:\n - tenantDisplayName: example\n tenantIdentifier: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "app": { + "type": "string", + "description": "The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html.\n" + }, + "appBundleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the app bundle to use for the request.\n" + }, + "arn": { + "type": "string", + "description": "ARN of the App Authorization. Do not begin the description with \"An\", \"The\", \"Defines\", \"Indicates\", or \"Specifies,\" as these are verbose. In other words, \"Indicates the amount of storage,\" can be rewritten as \"Amount of storage,\" without losing any information.\n" + }, + "authType": { + "type": "string", + "description": "The authorization type for the app authorization valid values are oauth2 and apiKey.\n" + }, + "authUrl": { + "type": "string", + "description": "The application URL for the OAuth flow.\n" + }, + "createdAt": { + "type": "string" + }, + "credential": { + "$ref": "#/types/aws:appfabric/AppAuthorizationCredential:AppAuthorizationCredential", + "description": "Contains credentials for the application, such as an API key or OAuth2 client ID and secret.\nSpecify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials.\n" + }, + "persona": { + "type": "string", + "description": "The user persona of the app authorization.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "tenants": { + "type": "array", + "items": { + "$ref": "#/types/aws:appfabric/AppAuthorizationTenant:AppAuthorizationTenant" + }, + "description": "Contains information about an application tenant, such as the application display name and identifier.\n" + }, + "timeouts": { + "$ref": "#/types/aws:appfabric/AppAuthorizationTimeouts:AppAuthorizationTimeouts" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "app", + "appBundleArn", + "arn", + "authType", + "authUrl", + "createdAt", + "persona", + "tagsAll", + "updatedAt" + ], + "inputProperties": { + "app": { + "type": "string", + "description": "The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html.\n" + }, + "appBundleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the app bundle to use for the request.\n" + }, + "authType": { + "type": "string", + "description": "The authorization type for the app authorization valid values are oauth2 and apiKey.\n" + }, + "credential": { + "$ref": "#/types/aws:appfabric/AppAuthorizationCredential:AppAuthorizationCredential", + "description": "Contains credentials for the application, such as an API key or OAuth2 client ID and secret.\nSpecify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tenants": { + "type": "array", + "items": { + "$ref": "#/types/aws:appfabric/AppAuthorizationTenant:AppAuthorizationTenant" + }, + "description": "Contains information about an application tenant, such as the application display name and identifier.\n" + }, + "timeouts": { + "$ref": "#/types/aws:appfabric/AppAuthorizationTimeouts:AppAuthorizationTimeouts" + } + }, + "requiredInputs": [ + "app", + "appBundleArn", + "authType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AppAuthorization resources.\n", + "properties": { + "app": { + "type": "string", + "description": "The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html.\n" + }, + "appBundleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the app bundle to use for the request.\n" + }, + "arn": { + "type": "string", + "description": "ARN of the App Authorization. Do not begin the description with \"An\", \"The\", \"Defines\", \"Indicates\", or \"Specifies,\" as these are verbose. In other words, \"Indicates the amount of storage,\" can be rewritten as \"Amount of storage,\" without losing any information.\n" + }, + "authType": { + "type": "string", + "description": "The authorization type for the app authorization valid values are oauth2 and apiKey.\n" + }, + "authUrl": { + "type": "string", + "description": "The application URL for the OAuth flow.\n" + }, + "createdAt": { + "type": "string" + }, + "credential": { + "$ref": "#/types/aws:appfabric/AppAuthorizationCredential:AppAuthorizationCredential", + "description": "Contains credentials for the application, such as an API key or OAuth2 client ID and secret.\nSpecify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials.\n" + }, + "persona": { + "type": "string", + "description": "The user persona of the app authorization.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "tenants": { + "type": "array", + "items": { + "$ref": "#/types/aws:appfabric/AppAuthorizationTenant:AppAuthorizationTenant" + }, + "description": "Contains information about an application tenant, such as the application display name and identifier.\n" + }, + "timeouts": { + "$ref": "#/types/aws:appfabric/AppAuthorizationTimeouts:AppAuthorizationTimeouts" + }, + "updatedAt": { + "type": "string" + } + }, + "type": "object" + } + }, + "aws:appfabric/appBundle:AppBundle": { + "description": "Resource for managing an AWS AppFabric AppBundle.\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.appfabric.AppBundle(\"example\", {\n customerManagedKeyArn: exampleAwmsKmsKey.arn,\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appfabric.AppBundle(\"example\",\n customer_managed_key_arn=example_awms_kms_key[\"arn\"],\n tags={\n \"Environment\": \"test\",\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.AppFabric.AppBundle(\"example\", new()\n {\n CustomerManagedKeyArn = exampleAwmsKmsKey.Arn,\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appfabric\"\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 := appfabric.NewAppBundle(ctx, \"example\", \u0026appfabric.AppBundleArgs{\n\t\t\tCustomerManagedKeyArn: pulumi.Any(exampleAwmsKmsKey.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\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.appfabric.AppBundle;\nimport com.pulumi.aws.appfabric.AppBundleArgs;\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 AppBundle(\"example\", AppBundleArgs.builder()\n .customerManagedKeyArn(exampleAwmsKmsKey.arn())\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appfabric:AppBundle\n properties:\n customerManagedKeyArn: ${exampleAwmsKmsKey.arn}\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFabric AppBundle using the `arn`. For example:\n\n```sh\n$ pulumi import aws:appfabric/appBundle:AppBundle example arn:aws:appfabric:[region]:[account]:appbundle/ee5587b4-5765-4288-a202-xxxxxxxxxx\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the AppBundle.\n" + }, + "customerManagedKeyArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "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.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + } + }, + "required": [ + "arn", + "tagsAll" + ], + "inputProperties": { + "customerManagedKeyArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "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.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering AppBundle resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the AppBundle.\n" + }, + "customerManagedKeyArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "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.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + } + }, + "type": "object" + } + }, "aws:appflow/connectorProfile:ConnectorProfile": { "description": "Provides an AppFlow connector profile resource.\n\nFor information about AppFlow flows, see the [Amazon AppFlow API Reference](https://docs.aws.amazon.com/appflow/1.0/APIReference/Welcome.html).\nFor specific information about creating an AppFlow connector profile, see the\n[CreateConnectorProfile](https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateConnectorProfile.html) page in the Amazon AppFlow API Reference.\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\nconst example = aws.iam.getPolicy({\n name: \"AmazonRedshiftAllCommandsFullAccess\",\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example_role\",\n managedPolicyArns: [test.arn],\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example_bucket\"});\nconst exampleCluster = new aws.redshift.Cluster(\"example\", {\n clusterIdentifier: \"example_cluster\",\n databaseName: \"example_db\",\n masterUsername: \"exampleuser\",\n masterPassword: \"examplePassword123!\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst exampleConnectorProfile = new aws.appflow.ConnectorProfile(\"example\", {\n name: \"example_profile\",\n connectorType: \"Redshift\",\n connectionMode: \"Public\",\n connectorProfileConfig: {\n connectorProfileCredentials: {\n redshift: {\n password: exampleCluster.masterPassword,\n username: exampleCluster.masterUsername,\n },\n },\n connectorProfileProperties: {\n redshift: {\n bucketName: exampleBucketV2.name,\n databaseUrl: pulumi.interpolate`jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}`,\n roleArn: exampleRole.arn,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy(name=\"AmazonRedshiftAllCommandsFullAccess\")\nexample_role = aws.iam.Role(\"example\",\n name=\"example_role\",\n managed_policy_arns=[test[\"arn\"]],\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }))\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example_bucket\")\nexample_cluster = aws.redshift.Cluster(\"example\",\n cluster_identifier=\"example_cluster\",\n database_name=\"example_db\",\n master_username=\"exampleuser\",\n master_password=\"examplePassword123!\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\nexample_connector_profile = aws.appflow.ConnectorProfile(\"example\",\n name=\"example_profile\",\n connector_type=\"Redshift\",\n connection_mode=\"Public\",\n connector_profile_config=aws.appflow.ConnectorProfileConnectorProfileConfigArgs(\n connector_profile_credentials=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs(\n redshift=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs(\n password=example_cluster.master_password,\n username=example_cluster.master_username,\n ),\n ),\n connector_profile_properties=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs(\n redshift=aws.appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs(\n bucket_name=example_bucket_v2.name,\n database_url=pulumi.Output.all(example_cluster.endpoint, example_cluster.database_name).apply(lambda endpoint, database_name: f\"jdbc:redshift://{endpoint}/{database_name}\"),\n role_arn=example_role.arn,\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 = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AmazonRedshiftAllCommandsFullAccess\",\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example_role\",\n ManagedPolicyArns = new[]\n {\n test.Arn,\n },\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\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example_bucket\",\n });\n\n var exampleCluster = new Aws.RedShift.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example_cluster\",\n DatabaseName = \"example_db\",\n MasterUsername = \"exampleuser\",\n MasterPassword = \"examplePassword123!\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var exampleConnectorProfile = new Aws.AppFlow.ConnectorProfile(\"example\", new()\n {\n Name = \"example_profile\",\n ConnectorType = \"Redshift\",\n ConnectionMode = \"Public\",\n ConnectorProfileConfig = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigArgs\n {\n ConnectorProfileCredentials = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs\n {\n Password = exampleCluster.MasterPassword,\n Username = exampleCluster.MasterUsername,\n },\n },\n ConnectorProfileProperties = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs\n {\n Redshift = new Aws.AppFlow.Inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs\n {\n BucketName = exampleBucketV2.Name,\n DatabaseUrl = Output.Tuple(exampleCluster.Endpoint, exampleCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n RoleArn = exampleRole.Arn,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\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 := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AmazonRedshiftAllCommandsFullAccess\"),\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\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\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\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example_role\"),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\ttest.Arn,\n\t\t\t},\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\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example_bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := redshift.NewCluster(ctx, \"example\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example_cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"example_db\"),\n\t\t\tMasterUsername: pulumi.String(\"exampleuser\"),\n\t\t\tMasterPassword: pulumi.String(\"examplePassword123!\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appflow.NewConnectorProfile(ctx, \"example\", \u0026appflow.ConnectorProfileArgs{\n\t\t\tName: pulumi.String(\"example_profile\"),\n\t\t\tConnectorType: pulumi.String(\"Redshift\"),\n\t\t\tConnectionMode: pulumi.String(\"Public\"),\n\t\t\tConnectorProfileConfig: \u0026appflow.ConnectorProfileConnectorProfileConfigArgs{\n\t\t\t\tConnectorProfileCredentials: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs{\n\t\t\t\t\t\tPassword: exampleCluster.MasterPassword,\n\t\t\t\t\t\tUsername: exampleCluster.MasterUsername,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConnectorProfileProperties: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs{\n\t\t\t\t\tRedshift: \u0026appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs{\n\t\t\t\t\t\tBucketName: exampleBucketV2.Name,\n\t\t\t\t\t\tDatabaseUrl: pulumi.All(exampleCluster.Endpoint, exampleCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\tRoleArn: exampleRole.Arn,\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.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.appflow.ConnectorProfile;\nimport com.pulumi.aws.appflow.ConnectorProfileArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs;\nimport com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs;\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 final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AmazonRedshiftAllCommandsFullAccess\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example_role\")\n .managedPolicyArns(test.arn())\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example_bucket\")\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterIdentifier(\"example_cluster\")\n .databaseName(\"example_db\")\n .masterUsername(\"exampleuser\")\n .masterPassword(\"examplePassword123!\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var exampleConnectorProfile = new ConnectorProfile(\"exampleConnectorProfile\", ConnectorProfileArgs.builder()\n .name(\"example_profile\")\n .connectorType(\"Redshift\")\n .connectionMode(\"Public\")\n .connectorProfileConfig(ConnectorProfileConnectorProfileConfigArgs.builder()\n .connectorProfileCredentials(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs.builder()\n .password(exampleCluster.masterPassword())\n .username(exampleCluster.masterUsername())\n .build())\n .build())\n .connectorProfileProperties(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs.builder()\n .redshift(ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs.builder()\n .bucketName(exampleBucketV2.name())\n .databaseUrl(Output.tuple(exampleCluster.endpoint(), exampleCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .roleArn(exampleRole.arn())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example_role\n managedPolicyArns:\n - ${test.arn}\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example_bucket\n exampleCluster:\n type: aws:redshift:Cluster\n name: example\n properties:\n clusterIdentifier: example_cluster\n databaseName: example_db\n masterUsername: exampleuser\n masterPassword: examplePassword123!\n nodeType: dc1.large\n clusterType: single-node\n exampleConnectorProfile:\n type: aws:appflow:ConnectorProfile\n name: example\n properties:\n name: example_profile\n connectorType: Redshift\n connectionMode: Public\n connectorProfileConfig:\n connectorProfileCredentials:\n redshift:\n password: ${exampleCluster.masterPassword}\n username: ${exampleCluster.masterUsername}\n connectorProfileProperties:\n redshift:\n bucketName: ${exampleBucketV2.name}\n databaseUrl: jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}\n roleArn: ${exampleRole.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AmazonRedshiftAllCommandsFullAccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppFlow Connector Profile using the connector profile `arn`. For example:\n\n```sh\n$ pulumi import aws:appflow/connectorProfile:ConnectorProfile profile arn:aws:appflow:us-west-2:123456789012:connectorprofile/example-profile\n```\n", "properties": { @@ -169871,7 +170357,8 @@ }, "resourceGroupName": { "type": "string", - "description": "Name of the resource group.\n\nThe following arguments are optional:\n" + "description": "Name of the resource group.\n\nThe following arguments are optional:\n", + "willReplaceOnChanges": true }, "tags": { "type": "object", @@ -169919,7 +170406,8 @@ }, "resourceGroupName": { "type": "string", - "description": "Name of the resource group.\n\nThe following arguments are optional:\n" + "description": "Name of the resource group.\n\nThe following arguments are optional:\n", + "willReplaceOnChanges": true }, "tags": { "type": "object", @@ -191094,7 +191582,7 @@ }, "buildTimeout": { "type": "integer", - "description": "Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type.\n" + "description": "Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type.\n" }, "cache": { "$ref": "#/types/aws:codebuild/ProjectCache:ProjectCache", @@ -191228,7 +191716,7 @@ }, "buildTimeout": { "type": "integer", - "description": "Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type.\n" + "description": "Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type.\n" }, "cache": { "$ref": "#/types/aws:codebuild/ProjectCache:ProjectCache", @@ -191354,7 +191842,7 @@ }, "buildTimeout": { "type": "integer", - "description": "Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type.\n" + "description": "Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type.\n" }, "cache": { "$ref": "#/types/aws:codebuild/ProjectCache:ProjectCache", @@ -204214,7 +204702,7 @@ } }, "aws:detective/organizationConfiguration:OrganizationConfiguration": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:detective:Graph\n properties:\n enable: true\n exampleOrganizationConfiguration:\n type: aws:detective:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n graphArn: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example:\n\n```sh\n$ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:detective:Graph\n properties:\n enable: true\n exampleOrganizationConfiguration:\n type: aws:detective:OrganizationConfiguration\n name: example\n properties:\n autoEnable: true\n graphArn: ${example.graphArn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example:\n\n```sh\n$ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example arn:aws:detective:us-east-1:123456789012:graph:00b00fd5aecc0ab60a708659477e9617\n```\n", "properties": { "autoEnable": { "type": "boolean", @@ -216525,6 +217013,215 @@ "type": "object" } }, + "aws:ec2/capacityBlockReservation:CapacityBlockReservation": { + "description": "Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacity_block_offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html).\n\n\u003e **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub.\n\n## Example Usage\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.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;\nimport com.pulumi.aws.ec2.CapacityBlockReservation;\nimport com.pulumi.aws.ec2.CapacityBlockReservationArgs;\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 = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()\n .capacityDuration(24)\n .endDate(\"2024-05-30T15:04:05Z\")\n .instanceCount(1)\n .instancePlatform(\"Linux/UNIX\")\n .instanceType(\"p4d.24xlarge\")\n .startDate(\"2024-04-28T15:04:05Z\")\n .build());\n\n var exampleCapacityBlockReservation = new CapacityBlockReservation(\"exampleCapacityBlockReservation\", CapacityBlockReservationArgs.builder()\n .capacityBlockOfferingId(test.id())\n .instancePlatform(\"Linux/UNIX\")\n .tags(Map.of(\"Environment\", \"dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCapacityBlockReservation:\n type: aws:ec2:CapacityBlockReservation\n name: example\n properties:\n capacityBlockOfferingId: ${test.id}\n instancePlatform: Linux/UNIX\n tags:\n Environment: dev\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getCapacityBlockOffering\n Arguments:\n capacityDuration: 24\n endDate: 2024-05-30T15:04:05Z\n instanceCount: 1\n instancePlatform: Linux/UNIX\n instanceType: p4d.24xlarge\n startDate: 2024-04-28T15:04:05Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the reservation.\n" + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone in which to create the Capacity Block Reservation.\n" + }, + "capacityBlockOfferingId": { + "type": "string", + "description": "The Capacity Block Reservation ID.\n" + }, + "createdDate": { + "type": "string", + "description": "The date and time at which the Capacity Block Reservation was created.\n" + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the Capacity Reservation supports EBS-optimized instances.\n" + }, + "endDate": { + "type": "string", + "description": "The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)\n" + }, + "endDateType": { + "type": "string", + "description": "Indicates the way in which the Capacity Reservation ends.\n" + }, + "instanceCount": { + "type": "integer", + "description": "The number of instances for which to reserve capacity.\n" + }, + "instancePlatform": { + "type": "string", + "description": "The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`.\n" + }, + "instanceType": { + "type": "string", + "description": "The instance type for which to reserve capacity.\n" + }, + "outpostArn": { + "type": "string", + "description": "The ARN of the Outpost on which to create the Capacity Block Reservation.\n" + }, + "placementGroupArn": { + "type": "string", + "description": "The ARN of the placement group in which to create the Capacity Block Reservation.\n" + }, + "reservationType": { + "type": "string", + "description": "The type of Capacity Reservation.\n" + }, + "startDate": { + "type": "string", + "description": "The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "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.\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." + }, + "tenancy": { + "type": "string", + "description": "Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`.\n" + }, + "timeouts": { + "$ref": "#/types/aws:ec2/CapacityBlockReservationTimeouts:CapacityBlockReservationTimeouts" + } + }, + "required": [ + "arn", + "availabilityZone", + "capacityBlockOfferingId", + "createdDate", + "ebsOptimized", + "endDate", + "endDateType", + "instanceCount", + "instancePlatform", + "instanceType", + "outpostArn", + "placementGroupArn", + "reservationType", + "startDate", + "tagsAll", + "tenancy" + ], + "inputProperties": { + "capacityBlockOfferingId": { + "type": "string", + "description": "The Capacity Block Reservation ID.\n" + }, + "instancePlatform": { + "type": "string", + "description": "The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "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.\n" + }, + "timeouts": { + "$ref": "#/types/aws:ec2/CapacityBlockReservationTimeouts:CapacityBlockReservationTimeouts" + } + }, + "requiredInputs": [ + "capacityBlockOfferingId", + "instancePlatform" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CapacityBlockReservation resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the reservation.\n" + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone in which to create the Capacity Block Reservation.\n" + }, + "capacityBlockOfferingId": { + "type": "string", + "description": "The Capacity Block Reservation ID.\n" + }, + "createdDate": { + "type": "string", + "description": "The date and time at which the Capacity Block Reservation was created.\n" + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the Capacity Reservation supports EBS-optimized instances.\n" + }, + "endDate": { + "type": "string", + "description": "The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)\n" + }, + "endDateType": { + "type": "string", + "description": "Indicates the way in which the Capacity Reservation ends.\n" + }, + "instanceCount": { + "type": "integer", + "description": "The number of instances for which to reserve capacity.\n" + }, + "instancePlatform": { + "type": "string", + "description": "The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`.\n" + }, + "instanceType": { + "type": "string", + "description": "The instance type for which to reserve capacity.\n" + }, + "outpostArn": { + "type": "string", + "description": "The ARN of the Outpost on which to create the Capacity Block Reservation.\n" + }, + "placementGroupArn": { + "type": "string", + "description": "The ARN of the placement group in which to create the Capacity Block Reservation.\n" + }, + "reservationType": { + "type": "string", + "description": "The type of Capacity Reservation.\n" + }, + "startDate": { + "type": "string", + "description": "The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "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.\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." + }, + "tenancy": { + "type": "string", + "description": "Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`.\n" + }, + "timeouts": { + "$ref": "#/types/aws:ec2/CapacityBlockReservationTimeouts:CapacityBlockReservationTimeouts" + } + }, + "type": "object" + } + }, "aws:ec2/capacityReservation:CapacityReservation": { "description": "Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration.\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\nconst _default = new aws.ec2.CapacityReservation(\"default\", {\n instanceType: aws.ec2.InstanceType.T2_Micro,\n instancePlatform: aws.ec2.InstancePlatform.LinuxUnix,\n availabilityZone: \"eu-west-1a\",\n instanceCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.CapacityReservation(\"default\",\n instance_type=aws.ec2.InstanceType.T2_MICRO,\n instance_platform=aws.ec2.InstancePlatform.LINUX_UNIX,\n availability_zone=\"eu-west-1a\",\n instance_count=1)\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 @default = new Aws.Ec2.CapacityReservation(\"default\", new()\n {\n InstanceType = Aws.Ec2.InstanceType.T2_Micro,\n InstancePlatform = Aws.Ec2.InstancePlatform.LinuxUnix,\n AvailabilityZone = \"eu-west-1a\",\n InstanceCount = 1,\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.NewCapacityReservation(ctx, \"default\", \u0026ec2.CapacityReservationArgs{\n\t\t\tInstanceType: pulumi.String(ec2.InstanceType_T2_Micro),\n\t\t\tInstancePlatform: pulumi.String(ec2.InstancePlatformLinuxUnix),\n\t\t\tAvailabilityZone: pulumi.String(\"eu-west-1a\"),\n\t\t\tInstanceCount: pulumi.Int(1),\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.CapacityReservation;\nimport com.pulumi.aws.ec2.CapacityReservationArgs;\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 default_ = new CapacityReservation(\"default\", CapacityReservationArgs.builder()\n .instanceType(\"t2.micro\")\n .instancePlatform(\"Linux/UNIX\")\n .availabilityZone(\"eu-west-1a\")\n .instanceCount(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:ec2:CapacityReservation\n properties:\n instanceType: t2.micro\n instancePlatform: Linux/UNIX\n availabilityZone: eu-west-1a\n instanceCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Capacity Reservations using the `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/capacityReservation:CapacityReservation web cr-0123456789abcdef0\n```\n", "properties": { @@ -221021,7 +221718,7 @@ }, "imageId": { "type": "string", - "description": "The AMI from which to launch the instance.\n" + "description": "The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details.\n" }, "instanceInitiatedShutdownBehavior": { "type": "string", @@ -221216,7 +221913,7 @@ }, "imageId": { "type": "string", - "description": "The AMI from which to launch the instance.\n" + "description": "The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details.\n" }, "instanceInitiatedShutdownBehavior": { "type": "string", @@ -221398,7 +222095,7 @@ }, "imageId": { "type": "string", - "description": "The AMI from which to launch the instance.\n" + "description": "The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details.\n" }, "instanceInitiatedShutdownBehavior": { "type": "string", @@ -226942,6 +227639,7 @@ "arn", "networkInterfaceId", "ownerId", + "packetLength", "sessionNumber", "tagsAll", "trafficMirrorFilterId", @@ -227789,7 +228487,7 @@ } }, "aws:ec2/vpcEndpoint:VpcEndpoint": { - "description": "Provides a VPC Endpoint resource.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for\nRoute Tables - (an association between a VPC endpoint and a single `route_table_id`),\nSecurity Groups - (an association between a VPC endpoint and a single `security_group_id`),\nand Subnets - (an association between a VPC endpoint and a single `subnet_id`) and\na VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes.\nDo not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource.\nDoing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\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 s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\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.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\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.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\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 s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\",\n tags={\n \"Environment\": \"test\",\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 s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n Tags = \n {\n { \"Environment\", \"test\" },\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.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\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.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\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 s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n securityGroupIds: [sg1.id],\n privateDnsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n security_group_ids=[sg1[\"id\"]],\n private_dns_enabled=True)\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 ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n },\n PrivateDnsEnabled = true,\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.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t},\n\t\t\tPrivateDnsEnabled: pulumi.Bool(true),\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.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\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 ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .securityGroupIds(sg1.id())\n .privateDnsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n securityGroupIds:\n - ${sg1.id}\n privateDnsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n allowedPrincipals: [current.then(current =\u003e current.arn)],\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.serviceName,\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: example.serviceType,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n allowed_principals=[current.arn],\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=example.service_type,\n vpc_id=example_aws_vpc[\"id\"])\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 current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n AllowedPrincipals = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.ServiceName,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = example.ServiceType,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.Arn),\n\t\t\t},\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: example.ServiceName,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: example.ServiceType,\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\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.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\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 current = AwsFunctions.getCallerIdentity();\n\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .allowedPrincipals(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.serviceName())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(example.serviceType())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n allowedPrincipals:\n - ${current.arn}\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: ${example.serviceType}\n vpcId: ${exampleAwsVpc.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57\n```\n", + "description": "Provides a VPC Endpoint resource.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for\nRoute Tables - (an association between a VPC endpoint and a single `route_table_id`),\nSecurity Groups - (an association between a VPC endpoint and a single `security_group_id`),\nand Subnets - (an association between a VPC endpoint and a single `subnet_id`) and\na VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes.\nDo not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource.\nDoing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\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 s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\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.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\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.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\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 s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\",\n tags={\n \"Environment\": \"test\",\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 s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n Tags = \n {\n { \"Environment\", \"test\" },\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.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\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.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\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 s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n securityGroupIds: [sg1.id],\n privateDnsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n security_group_ids=[sg1[\"id\"]],\n private_dns_enabled=True)\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 ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n },\n PrivateDnsEnabled = true,\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.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t},\n\t\t\tPrivateDnsEnabled: pulumi.Bool(true),\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.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\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 ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .securityGroupIds(sg1.id())\n .privateDnsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n securityGroupIds:\n - ${sg1.id}\n privateDnsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type with User-Defined IP Address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: example.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n subnetConfigurations: [\n {\n ipv4: \"10.0.1.10\",\n subnetId: example1.id,\n },\n {\n ipv4: \"10.0.2.10\",\n subnetId: example2.id,\n },\n ],\n subnetIds: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=example[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n subnet_configurations=[\n aws.ec2.VpcEndpointSubnetConfigurationArgs(\n ipv4=\"10.0.1.10\",\n subnet_id=example1[\"id\"],\n ),\n aws.ec2.VpcEndpointSubnetConfigurationArgs(\n ipv4=\"10.0.2.10\",\n subnet_id=example2[\"id\"],\n ),\n ],\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\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 ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = example.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SubnetConfigurations = new[]\n {\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.1.10\",\n SubnetId = example1.Id,\n },\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.2.10\",\n SubnetId = example2.Id,\n },\n },\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\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.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(example.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.1.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.2.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\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.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.inputs.VpcEndpointSubnetConfigurationArgs;\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 ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(example.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .subnetConfigurations( \n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.1.10\")\n .subnetId(example1.id())\n .build(),\n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.2.10\")\n .subnetId(example2.id())\n .build())\n .subnetIds( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${example.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n subnetConfigurations:\n - ipv4: 10.0.1.10\n subnetId: ${example1.id}\n - ipv4: 10.0.2.10\n subnetId: ${example2.id}\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n allowedPrincipals: [current.then(current =\u003e current.arn)],\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.serviceName,\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: example.serviceType,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n allowed_principals=[current.arn],\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=example.service_type,\n vpc_id=example_aws_vpc[\"id\"])\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 current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n AllowedPrincipals = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.ServiceName,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = example.ServiceType,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.Arn),\n\t\t\t},\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: example.ServiceName,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: example.ServiceType,\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\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.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\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 current = AwsFunctions.getCallerIdentity();\n\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .allowedPrincipals(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.serviceName())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(example.serviceType())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n allowedPrincipals:\n - ${current.arn}\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: ${example.serviceType}\n vpcId: ${exampleAwsVpc.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57\n```\n", "properties": { "arn": { "type": "string", @@ -227870,6 +228568,13 @@ "type": "string", "description": "The state of the VPC endpoint.\n" }, + "subnetConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/VpcEndpointSubnetConfiguration:VpcEndpointSubnetConfiguration" + }, + "description": "Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.\n" + }, "subnetIds": { "type": "array", "items": { @@ -227917,6 +228622,7 @@ "securityGroupIds", "serviceName", "state", + "subnetConfigurations", "subnetIds", "tagsAll", "vpcId" @@ -227961,6 +228667,13 @@ "description": "The service name. For AWS services the service name is usually in the form `com.amazonaws.\u003cregion\u003e.\u003cservice\u003e` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker.\u003cregion\u003e.notebook`).\n", "willReplaceOnChanges": true }, + "subnetConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/VpcEndpointSubnetConfiguration:VpcEndpointSubnetConfiguration" + }, + "description": "Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.\n" + }, "subnetIds": { "type": "array", "items": { @@ -228073,6 +228786,13 @@ "type": "string", "description": "The state of the VPC endpoint.\n" }, + "subnetConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/VpcEndpointSubnetConfiguration:VpcEndpointSubnetConfiguration" + }, + "description": "Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.\n" + }, "subnetIds": { "type": "array", "items": { @@ -248392,6 +249112,93 @@ "type": "object" } }, + "aws:fms/resourceSet:ResourceSet": { + "description": "Resource for managing an AWS FMS (Firewall Manager) Resource Set.\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.fms.ResourceSet(\"example\", {resourceSets: [{\n name: \"testing\",\n resourceTypeLists: [\"AWS::NetworkFirewall::Firewall\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.fms.ResourceSet(\"example\", resource_sets=[aws.fms.ResourceSetResourceSetArgs(\n name=\"testing\",\n resource_type_lists=[\"AWS::NetworkFirewall::Firewall\"],\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.Fms.ResourceSet(\"example\", new()\n {\n ResourceSets = new[]\n {\n new Aws.Fms.Inputs.ResourceSetResourceSetArgs\n {\n Name = \"testing\",\n ResourceTypeLists = new[]\n {\n \"AWS::NetworkFirewall::Firewall\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fms\"\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 := fms.NewResourceSet(ctx, \"example\", \u0026fms.ResourceSetArgs{\n\t\t\tResourceSets: fms.ResourceSetResourceSetArray{\n\t\t\t\t\u0026fms.ResourceSetResourceSetArgs{\n\t\t\t\t\tName: pulumi.String(\"testing\"),\n\t\t\t\t\tResourceTypeLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AWS::NetworkFirewall::Firewall\"),\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.fms.ResourceSet;\nimport com.pulumi.aws.fms.ResourceSetArgs;\nimport com.pulumi.aws.fms.inputs.ResourceSetResourceSetArgs;\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 ResourceSet(\"example\", ResourceSetArgs.builder()\n .resourceSets(ResourceSetResourceSetArgs.builder()\n .name(\"testing\")\n .resourceTypeLists(\"AWS::NetworkFirewall::Firewall\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fms:ResourceSet\n properties:\n resourceSets:\n - name: testing\n resourceTypeLists:\n - AWS::NetworkFirewall::Firewall\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FMS (Firewall Manager) Resource Set using the `id`. For example:\n\n```sh\n$ pulumi import aws:fms/resourceSet:ResourceSet example resource_set-id-12345678\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Resource Set.\n" + }, + "resourceSets": { + "type": "array", + "items": { + "$ref": "#/types/aws:fms/ResourceSetResourceSet:ResourceSetResourceSet" + }, + "description": "Details about the resource set to be created or updated. See `resource_set` Attribute Reference below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:fms/ResourceSetTimeouts:ResourceSetTimeouts" + } + }, + "required": [ + "arn", + "tagsAll" + ], + "inputProperties": { + "resourceSets": { + "type": "array", + "items": { + "$ref": "#/types/aws:fms/ResourceSetResourceSet:ResourceSetResourceSet" + }, + "description": "Details about the resource set to be created or updated. See `resource_set` Attribute Reference below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "timeouts": { + "$ref": "#/types/aws:fms/ResourceSetTimeouts:ResourceSetTimeouts" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering ResourceSet resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Resource Set.\n" + }, + "resourceSets": { + "type": "array", + "items": { + "$ref": "#/types/aws:fms/ResourceSetResourceSet:ResourceSetResourceSet" + }, + "description": "Details about the resource set to be created or updated. See `resource_set` Attribute Reference below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:fms/ResourceSetTimeouts:ResourceSetTimeouts" + } + }, + "type": "object" + } + }, "aws:fsx/backup:Backup": { "description": "Provides a FSx Backup resource.\n\n## Lustre Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLustreFileSystem = new aws.fsx.LustreFileSystem(\"example\", {\n storageCapacity: 1200,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"PERSISTENT_1\",\n perUnitStorageThroughput: 50,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleLustreFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_lustre_file_system = aws.fsx.LustreFileSystem(\"example\",\n storage_capacity=1200,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"PERSISTENT_1\",\n per_unit_storage_throughput=50)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_lustre_file_system.id)\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 exampleLustreFileSystem = new Aws.Fsx.LustreFileSystem(\"example\", new()\n {\n StorageCapacity = 1200,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"PERSISTENT_1\",\n PerUnitStorageThroughput = 50,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleLustreFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLustreFileSystem, err := fsx.NewLustreFileSystem(ctx, \"example\", \u0026fsx.LustreFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(1200),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"PERSISTENT_1\"),\n\t\t\tPerUnitStorageThroughput: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleLustreFileSystem.ID(),\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.fsx.LustreFileSystem;\nimport com.pulumi.aws.fsx.LustreFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\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 exampleLustreFileSystem = new LustreFileSystem(\"exampleLustreFileSystem\", LustreFileSystemArgs.builder()\n .storageCapacity(1200)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"PERSISTENT_1\")\n .perUnitStorageThroughput(50)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder()\n .fileSystemId(exampleLustreFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleLustreFileSystem.id}\n exampleLustreFileSystem:\n type: aws:fsx:LustreFileSystem\n name: example\n properties:\n storageCapacity: 1200\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: PERSISTENT_1\n perUnitStorageThroughput: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Windows Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleWindowsFileSystem = new aws.fsx.WindowsFileSystem(\"example\", {\n activeDirectoryId: eample.id,\n skipFinalBackup: true,\n storageCapacity: 32,\n subnetIds: [example1.id],\n throughputCapacity: 8,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleWindowsFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_windows_file_system = aws.fsx.WindowsFileSystem(\"example\",\n active_directory_id=eample[\"id\"],\n skip_final_backup=True,\n storage_capacity=32,\n subnet_ids=[example1[\"id\"]],\n throughput_capacity=8)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_windows_file_system.id)\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 exampleWindowsFileSystem = new Aws.Fsx.WindowsFileSystem(\"example\", new()\n {\n ActiveDirectoryId = eample.Id,\n SkipFinalBackup = true,\n StorageCapacity = 32,\n SubnetIds = new[]\n {\n example1.Id,\n },\n ThroughputCapacity = 8,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleWindowsFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, \"example\", \u0026fsx.WindowsFileSystemArgs{\n\t\t\tActiveDirectoryId: pulumi.Any(eample.Id),\n\t\t\tSkipFinalBackup: pulumi.Bool(true),\n\t\t\tStorageCapacity: pulumi.Int(32),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t},\n\t\t\tThroughputCapacity: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleWindowsFileSystem.ID(),\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.fsx.WindowsFileSystem;\nimport com.pulumi.aws.fsx.WindowsFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\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 exampleWindowsFileSystem = new WindowsFileSystem(\"exampleWindowsFileSystem\", WindowsFileSystemArgs.builder()\n .activeDirectoryId(eample.id())\n .skipFinalBackup(true)\n .storageCapacity(32)\n .subnetIds(example1.id())\n .throughputCapacity(8)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder()\n .fileSystemId(exampleWindowsFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleWindowsFileSystem.id}\n exampleWindowsFileSystem:\n type: aws:fsx:WindowsFileSystem\n name: example\n properties:\n activeDirectoryId: ${eample.id}\n skipFinalBackup: true\n storageCapacity: 32\n subnetIds:\n - ${example1.id}\n throughputCapacity: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## ONTAP Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOntapVolume = new aws.fsx.OntapVolume(\"example\", {\n name: \"example\",\n junctionPath: \"/example\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: test.id,\n});\nconst example = new aws.fsx.Backup(\"example\", {volumeId: exampleOntapVolume.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ontap_volume = aws.fsx.OntapVolume(\"example\",\n name=\"example\",\n junction_path=\"/example\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=test[\"id\"])\nexample = aws.fsx.Backup(\"example\", volume_id=example_ontap_volume.id)\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 exampleOntapVolume = new Aws.Fsx.OntapVolume(\"example\", new()\n {\n Name = \"example\",\n JunctionPath = \"/example\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = test.Id,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n VolumeId = exampleOntapVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOntapVolume, err := fsx.NewOntapVolume(ctx, \"example\", \u0026fsx.OntapVolumeArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tJunctionPath: pulumi.String(\"/example\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tVolumeId: exampleOntapVolume.ID(),\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.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\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 exampleOntapVolume = new OntapVolume(\"exampleOntapVolume\", OntapVolumeArgs.builder()\n .name(\"example\")\n .junctionPath(\"/example\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(test.id())\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder()\n .volumeId(exampleOntapVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n volumeId: ${exampleOntapVolume.id}\n exampleOntapVolume:\n type: aws:fsx:OntapVolume\n name: example\n properties:\n name: example\n junctionPath: /example\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${test.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## OpenZFS Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOpenZfsFileSystem = new aws.fsx.OpenZfsFileSystem(\"example\", {\n storageCapacity: 64,\n subnetIds: exampleAwsSubnet.id,\n deploymentType: \"SINGLE_AZ_1\",\n throughputCapacity: 64,\n});\nconst example = new aws.fsx.Backup(\"example\", {fileSystemId: exampleOpenZfsFileSystem.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_open_zfs_file_system = aws.fsx.OpenZfsFileSystem(\"example\",\n storage_capacity=64,\n subnet_ids=example_aws_subnet[\"id\"],\n deployment_type=\"SINGLE_AZ_1\",\n throughput_capacity=64)\nexample = aws.fsx.Backup(\"example\", file_system_id=example_open_zfs_file_system.id)\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 exampleOpenZfsFileSystem = new Aws.Fsx.OpenZfsFileSystem(\"example\", new()\n {\n StorageCapacity = 64,\n SubnetIds = exampleAwsSubnet.Id,\n DeploymentType = \"SINGLE_AZ_1\",\n ThroughputCapacity = 64,\n });\n\n var example = new Aws.Fsx.Backup(\"example\", new()\n {\n FileSystemId = exampleOpenZfsFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleOpenZfsFileSystem, err := fsx.NewOpenZfsFileSystem(ctx, \"example\", \u0026fsx.OpenZfsFileSystemArgs{\n\t\t\tStorageCapacity: pulumi.Int(64),\n\t\t\tSubnetIds: pulumi.Any(exampleAwsSubnet.Id),\n\t\t\tDeploymentType: pulumi.String(\"SINGLE_AZ_1\"),\n\t\t\tThroughputCapacity: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fsx.NewBackup(ctx, \"example\", \u0026fsx.BackupArgs{\n\t\t\tFileSystemId: exampleOpenZfsFileSystem.ID(),\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.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.Backup;\nimport com.pulumi.aws.fsx.BackupArgs;\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 exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder()\n .storageCapacity(64)\n .subnetIds(exampleAwsSubnet.id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var example = new Backup(\"example\", BackupArgs.builder()\n .fileSystemId(exampleOpenZfsFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:fsx:Backup\n properties:\n fileSystemId: ${exampleOpenZfsFileSystem.id}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n name: example\n properties:\n storageCapacity: 64\n subnetIds: ${exampleAwsSubnet.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import FSx Backups using the `id`. For example:\n\n```sh\n$ pulumi import aws:fsx/backup:Backup example fs-543ab12b1ca672f33\n```\n", "properties": { @@ -258033,7 +258840,7 @@ "items": { "$ref": "#/types/aws:guardduty/DetectorFeatureAdditionalConfiguration:DetectorFeatureAdditionalConfiguration" }, - "description": "Additional feature configuration block. See below.\n" + "description": "Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below.\n" }, "detectorId": { "type": "string", @@ -258041,7 +258848,7 @@ }, "name": { "type": "string", - "description": "The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n" + "description": "The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n" }, "status": { "type": "string", @@ -258059,7 +258866,7 @@ "items": { "$ref": "#/types/aws:guardduty/DetectorFeatureAdditionalConfiguration:DetectorFeatureAdditionalConfiguration" }, - "description": "Additional feature configuration block. See below.\n", + "description": "Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below.\n", "willReplaceOnChanges": true }, "detectorId": { @@ -258069,7 +258876,7 @@ }, "name": { "type": "string", - "description": "The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n", + "description": "The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n", "willReplaceOnChanges": true }, "status": { @@ -258089,7 +258896,7 @@ "items": { "$ref": "#/types/aws:guardduty/DetectorFeatureAdditionalConfiguration:DetectorFeatureAdditionalConfiguration" }, - "description": "Additional feature configuration block. See below.\n", + "description": "Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below.\n", "willReplaceOnChanges": true }, "detectorId": { @@ -258099,7 +258906,7 @@ }, "name": { "type": "string", - "description": "The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n", + "description": "The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n", "willReplaceOnChanges": true }, "status": { @@ -258445,6 +259252,134 @@ "type": "object" } }, + "aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan": { + "description": "Provides a resource to manage a GuardDuty malware protection plan.\n\n## Example Usage\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.guardduty.MalwareProtectionPlan;\nimport com.pulumi.aws.guardduty.MalwareProtectionPlanArgs;\nimport com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanProtectedResourceArgs;\nimport com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanProtectedResourceS3BucketArgs;\nimport com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanActionArgs;\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 MalwareProtectionPlan(\"example\", MalwareProtectionPlanArgs.builder()\n .role(exampleAwsIamRole.arn())\n .protectedResource(MalwareProtectionPlanProtectedResourceArgs.builder()\n .s3Bucket(MalwareProtectionPlanProtectedResourceS3BucketArgs.builder()\n .bucketName(exampleAwsS3Bucket.id())\n .objectPrefixes( \n \"example1\",\n \"example2\")\n .build())\n .build())\n .actions(MalwareProtectionPlanActionArgs.builder()\n .tagging(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .tags(Map.of(\"Name\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:guardduty:MalwareProtectionPlan\n properties:\n role: ${exampleAwsIamRole.arn}\n protectedResource:\n s3Bucket:\n bucketName: ${exampleAwsS3Bucket.id}\n objectPrefixes:\n - example1\n - example2\n actions:\n - tagging:\n - status: ENABLED\n tags:\n Name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty malware protection plans using their IDs. For example:\n\n```sh\n$ pulumi import aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan example 1234567890abcdef0123\n```\n", + "properties": { + "actions": { + "type": "array", + "items": { + "$ref": "#/types/aws:guardduty/MalwareProtectionPlanAction:MalwareProtectionPlanAction" + }, + "description": "Information about whether the tags will be added to the S3 object after scanning. See `actions` below.\n" + }, + "arn": { + "type": "string", + "description": "The ARN of the GuardDuty malware protection plan\n" + }, + "createdAt": { + "type": "string", + "description": "The timestamp when the Malware Protection plan resource was created.\n" + }, + "protectedResource": { + "$ref": "#/types/aws:guardduty/MalwareProtectionPlanProtectedResource:MalwareProtectionPlanProtectedResource", + "description": "Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below.\n" + }, + "role": { + "type": "string", + "description": "The IAM role that includes the permissions required to scan and add tags to the associated protected resource.\n" + }, + "status": { + "type": "string", + "description": "The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping 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.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + } + }, + "required": [ + "actions", + "arn", + "createdAt", + "role", + "status", + "tagsAll" + ], + "inputProperties": { + "actions": { + "type": "array", + "items": { + "$ref": "#/types/aws:guardduty/MalwareProtectionPlanAction:MalwareProtectionPlanAction" + }, + "description": "Information about whether the tags will be added to the S3 object after scanning. See `actions` below.\n" + }, + "protectedResource": { + "$ref": "#/types/aws:guardduty/MalwareProtectionPlanProtectedResource:MalwareProtectionPlanProtectedResource", + "description": "Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below.\n" + }, + "role": { + "type": "string", + "description": "The IAM role that includes the permissions required to scan and add tags to the associated protected resource.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping 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.\n" + } + }, + "requiredInputs": [ + "role" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MalwareProtectionPlan resources.\n", + "properties": { + "actions": { + "type": "array", + "items": { + "$ref": "#/types/aws:guardduty/MalwareProtectionPlanAction:MalwareProtectionPlanAction" + }, + "description": "Information about whether the tags will be added to the S3 object after scanning. See `actions` below.\n" + }, + "arn": { + "type": "string", + "description": "The ARN of the GuardDuty malware protection plan\n" + }, + "createdAt": { + "type": "string", + "description": "The timestamp when the Malware Protection plan resource was created.\n" + }, + "protectedResource": { + "$ref": "#/types/aws:guardduty/MalwareProtectionPlanProtectedResource:MalwareProtectionPlanProtectedResource", + "description": "Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below.\n" + }, + "role": { + "type": "string", + "description": "The IAM role that includes the permissions required to scan and add tags to the associated protected resource.\n" + }, + "status": { + "type": "string", + "description": "The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping 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.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + } + }, + "type": "object" + } + }, "aws:guardduty/member:Member": { "description": "Provides a resource to manage a GuardDuty member. To accept invitations in member accounts, see the `aws.guardduty.InviteAccepter` resource.\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\nconst primary = new aws.guardduty.Detector(\"primary\", {enable: true});\nconst member = new aws.guardduty.Detector(\"member\", {enable: true});\nconst memberMember = new aws.guardduty.Member(\"member\", {\n accountId: member.accountId,\n detectorId: primary.id,\n email: \"required@example.com\",\n invite: true,\n invitationMessage: \"please accept guardduty invitation\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprimary = aws.guardduty.Detector(\"primary\", enable=True)\nmember = aws.guardduty.Detector(\"member\", enable=True)\nmember_member = aws.guardduty.Member(\"member\",\n account_id=member.account_id,\n detector_id=primary.id,\n email=\"required@example.com\",\n invite=True,\n invitation_message=\"please accept guardduty invitation\")\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 primary = new Aws.GuardDuty.Detector(\"primary\", new()\n {\n Enable = true,\n });\n\n var member = new Aws.GuardDuty.Detector(\"member\", new()\n {\n Enable = true,\n });\n\n var memberMember = new Aws.GuardDuty.Member(\"member\", new()\n {\n AccountId = member.AccountId,\n DetectorId = primary.Id,\n Email = \"required@example.com\",\n Invite = true,\n InvitationMessage = \"please accept guardduty invitation\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := guardduty.NewDetector(ctx, \"primary\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmember, err := guardduty.NewDetector(ctx, \"member\", \u0026guardduty.DetectorArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = guardduty.NewMember(ctx, \"member\", \u0026guardduty.MemberArgs{\n\t\t\tAccountId: member.AccountId,\n\t\t\tDetectorId: primary.ID(),\n\t\t\tEmail: pulumi.String(\"required@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t\tInvitationMessage: pulumi.String(\"please accept guardduty invitation\"),\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.guardduty.Detector;\nimport com.pulumi.aws.guardduty.DetectorArgs;\nimport com.pulumi.aws.guardduty.Member;\nimport com.pulumi.aws.guardduty.MemberArgs;\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 primary = new Detector(\"primary\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var member = new Detector(\"member\", DetectorArgs.builder()\n .enable(true)\n .build());\n\n var memberMember = new Member(\"memberMember\", MemberArgs.builder()\n .accountId(member.accountId())\n .detectorId(primary.id())\n .email(\"required@example.com\")\n .invite(true)\n .invitationMessage(\"please accept guardduty invitation\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n primary:\n type: aws:guardduty:Detector\n properties:\n enable: true\n member:\n type: aws:guardduty:Detector\n properties:\n enable: true\n memberMember:\n type: aws:guardduty:Member\n name: member\n properties:\n accountId: ${member.accountId}\n detectorId: ${primary.id}\n email: required@example.com\n invite: true\n invitationMessage: please accept guardduty invitation\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import GuardDuty members using the primary GuardDuty detector ID and member AWS account ID. For example:\n\n```sh\n$ pulumi import aws:guardduty/member:Member MyMember 00b00fd5aecc0ab60a708659477e9617:123456789012\n```\n", "properties": { @@ -258675,7 +259610,7 @@ "items": { "$ref": "#/types/aws:guardduty/OrganizationConfigurationFeatureAdditionalConfiguration:OrganizationConfigurationFeatureAdditionalConfiguration" }, - "description": "The additional information that will be configured for the organization See below.\n" + "description": "Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below.\n" }, "autoEnable": { "type": "string", @@ -258687,7 +259622,7 @@ }, "name": { "type": "string", - "description": "The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`.\n" + "description": "The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n" } }, "required": [ @@ -258701,7 +259636,7 @@ "items": { "$ref": "#/types/aws:guardduty/OrganizationConfigurationFeatureAdditionalConfiguration:OrganizationConfigurationFeatureAdditionalConfiguration" }, - "description": "The additional information that will be configured for the organization See below.\n", + "description": "Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below.\n", "willReplaceOnChanges": true }, "autoEnable": { @@ -258715,7 +259650,7 @@ }, "name": { "type": "string", - "description": "The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`.\n", + "description": "The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n", "willReplaceOnChanges": true } }, @@ -258731,7 +259666,7 @@ "items": { "$ref": "#/types/aws:guardduty/OrganizationConfigurationFeatureAdditionalConfiguration:OrganizationConfigurationFeatureAdditionalConfiguration" }, - "description": "The additional information that will be configured for the organization See below.\n", + "description": "Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below.\n", "willReplaceOnChanges": true }, "autoEnable": { @@ -258745,7 +259680,7 @@ }, "name": { "type": "string", - "description": "The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`.\n", + "description": "The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values.\n", "willReplaceOnChanges": true } }, @@ -293231,6 +294166,10 @@ "type": "string", "description": "Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`.\nSee [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains).\nDefaults to the lastest version of OpenSearch.\n" }, + "ipAddressType": { + "type": "string", + "description": "The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`.\n" + }, "kibanaEndpoint": { "type": "string", "description": "(**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead.\n", @@ -293294,6 +294233,7 @@ "encryptAtRest", "endpoint", "engineVersion", + "ipAddressType", "kibanaEndpoint", "nodeToNodeEncryption", "offPeakWindowOptions", @@ -293349,6 +294289,10 @@ "type": "string", "description": "Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`.\nSee [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains).\nDefaults to the lastest version of OpenSearch.\n" }, + "ipAddressType": { + "type": "string", + "description": "The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`.\n" + }, "logPublishingOptions": { "type": "array", "items": { @@ -293452,6 +294396,10 @@ "type": "string", "description": "Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`.\nSee [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains).\nDefaults to the lastest version of OpenSearch.\n" }, + "ipAddressType": { + "type": "string", + "description": "The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`.\n" + }, "kibanaEndpoint": { "type": "string", "description": "(**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead.\n", @@ -343766,7 +344714,7 @@ } }, "aws:ssoadmin/accountAssignment:AccountAssignment": { - "description": "Provides a Single Sign-On (SSO) Account Assignment resource\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 = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSet = example.then(example =\u003e aws.ssoadmin.getPermissionSet({\n instanceArn: example.arns?.[0],\n name: \"AWSReadOnlyAccess\",\n}));\nconst exampleGetGroup = example.then(example =\u003e aws.identitystore.getGroup({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"DisplayName\",\n attributeValue: \"ExampleGroup\",\n },\n },\n}));\nconst exampleAccountAssignment = new aws.ssoadmin.AccountAssignment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: exampleGetPermissionSet.then(exampleGetPermissionSet =\u003e exampleGetPermissionSet.arn),\n principalId: exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.groupId),\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_set = aws.ssoadmin.get_permission_set(instance_arn=example.arns[0],\n name=\"AWSReadOnlyAccess\")\nexample_get_group = aws.identitystore.get_group(identity_store_id=example.identity_store_ids[0],\n alternate_identifier=aws.identitystore.GetGroupAlternateIdentifierArgs(\n unique_attribute=aws.identitystore.GetGroupAlternateIdentifierUniqueAttributeArgs(\n attribute_path=\"DisplayName\",\n attribute_value=\"ExampleGroup\",\n ),\n ))\nexample_account_assignment = aws.ssoadmin.AccountAssignment(\"example\",\n instance_arn=example.arns[0],\n permission_set_arn=example_get_permission_set.arn,\n principal_id=example_get_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\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.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSet = Aws.SsoAdmin.GetPermissionSet.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Name = \"AWSReadOnlyAccess\",\n });\n\n var exampleGetGroup = Aws.IdentityStore.GetGroup.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"DisplayName\",\n AttributeValue = \"ExampleGroup\",\n },\n },\n });\n\n var exampleAccountAssignment = new Aws.SsoAdmin.AccountAssignment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = exampleGetPermissionSet.Apply(getPermissionSetResult =\u003e getPermissionSetResult.Arn),\n PrincipalId = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.GroupId),\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPermissionSet, err := ssoadmin.LookupPermissionSet(ctx, \u0026ssoadmin.LookupPermissionSetArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t\tName: pulumi.StringRef(\"AWSReadOnlyAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := identitystore.LookupGroup(ctx, \u0026identitystore.LookupGroupArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetGroupAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetGroupAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"DisplayName\",\n\t\t\t\t\tAttributeValue: \"ExampleGroup\",\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\t_, err = ssoadmin.NewAccountAssignment(ctx, \"example\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: pulumi.String(exampleGetPermissionSet.Arn),\n\t\t\tPrincipalId: pulumi.String(exampleGetGroup.GroupId),\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\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.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\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 = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .name(\"AWSReadOnlyAccess\")\n .build());\n\n final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"DisplayName\")\n .attributeValue(\"ExampleGroup\")\n .build())\n .build())\n .build());\n\n var exampleAccountAssignment = new AccountAssignment(\"exampleAccountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(exampleGetPermissionSet.applyValue(getPermissionSetResult -\u003e getPermissionSetResult.arn()))\n .principalId(exampleGetGroup.applyValue(getGroupResult -\u003e getGroupResult.groupId()))\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${exampleGetPermissionSet.arn}\n principalId: ${exampleGetGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPermissionSet:\n fn::invoke:\n Function: aws:ssoadmin:getPermissionSet\n Arguments:\n instanceArn: ${example.arns[0]}\n name: AWSReadOnlyAccess\n exampleGetGroup:\n fn::invoke:\n Function: aws:identitystore:getGroup\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: DisplayName\n attributeValue: ExampleGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Policy Attachment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: ssoInstance.identityStoreIds[0],\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=sso_instance[\"identityStoreIds\"],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\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.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = ssoInstance.IdentityStoreIds[0],\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.Any(ssoInstance.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(ssoInstance.identityStoreIds()[0])\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${ssoInstance.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `principal_id`, `principal_type`, `target_id`, `target_type`, `permission_set_arn`, `instance_arn` separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/accountAssignment:AccountAssignment example f81d4fae-7dec-11d0-a765-00a0c91e6bf6,GROUP,1234567890,AWS_ACCOUNT,arn:aws:sso:::permissionSet/ssoins-0123456789abcdef/ps-0123456789abcdef,arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", + "description": "Provides a Single Sign-On (SSO) Account Assignment resource\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 = aws.ssoadmin.getInstances({});\nconst exampleGetPermissionSet = example.then(example =\u003e aws.ssoadmin.getPermissionSet({\n instanceArn: example.arns?.[0],\n name: \"AWSReadOnlyAccess\",\n}));\nconst exampleGetGroup = example.then(example =\u003e aws.identitystore.getGroup({\n identityStoreId: example.identityStoreIds?.[0],\n alternateIdentifier: {\n uniqueAttribute: {\n attributePath: \"DisplayName\",\n attributeValue: \"ExampleGroup\",\n },\n },\n}));\nconst exampleAccountAssignment = new aws.ssoadmin.AccountAssignment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: exampleGetPermissionSet.then(exampleGetPermissionSet =\u003e exampleGetPermissionSet.arn),\n principalId: exampleGetGroup.then(exampleGetGroup =\u003e exampleGetGroup.groupId),\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_permission_set = aws.ssoadmin.get_permission_set(instance_arn=example.arns[0],\n name=\"AWSReadOnlyAccess\")\nexample_get_group = aws.identitystore.get_group(identity_store_id=example.identity_store_ids[0],\n alternate_identifier=aws.identitystore.GetGroupAlternateIdentifierArgs(\n unique_attribute=aws.identitystore.GetGroupAlternateIdentifierUniqueAttributeArgs(\n attribute_path=\"DisplayName\",\n attribute_value=\"ExampleGroup\",\n ),\n ))\nexample_account_assignment = aws.ssoadmin.AccountAssignment(\"example\",\n instance_arn=example.arns[0],\n permission_set_arn=example_get_permission_set.arn,\n principal_id=example_get_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\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.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetPermissionSet = Aws.SsoAdmin.GetPermissionSet.Invoke(new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n Name = \"AWSReadOnlyAccess\",\n });\n\n var exampleGetGroup = Aws.IdentityStore.GetGroup.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n AlternateIdentifier = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierInputArgs\n {\n UniqueAttribute = new Aws.IdentityStore.Inputs.GetGroupAlternateIdentifierUniqueAttributeInputArgs\n {\n AttributePath = \"DisplayName\",\n AttributeValue = \"ExampleGroup\",\n },\n },\n });\n\n var exampleAccountAssignment = new Aws.SsoAdmin.AccountAssignment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = exampleGetPermissionSet.Apply(getPermissionSetResult =\u003e getPermissionSetResult.Arn),\n PrincipalId = exampleGetGroup.Apply(getGroupResult =\u003e getGroupResult.GroupId),\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetPermissionSet, err := ssoadmin.LookupPermissionSet(ctx, \u0026ssoadmin.LookupPermissionSetArgs{\n\t\t\tInstanceArn: example.Arns[0],\n\t\t\tName: pulumi.StringRef(\"AWSReadOnlyAccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetGroup, err := identitystore.LookupGroup(ctx, \u0026identitystore.LookupGroupArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t\tAlternateIdentifier: identitystore.GetGroupAlternateIdentifier{\n\t\t\t\tUniqueAttribute: identitystore.GetGroupAlternateIdentifierUniqueAttribute{\n\t\t\t\t\tAttributePath: \"DisplayName\",\n\t\t\t\t\tAttributeValue: \"ExampleGroup\",\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\t_, err = ssoadmin.NewAccountAssignment(ctx, \"example\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: pulumi.String(exampleGetPermissionSet.Arn),\n\t\t\tPrincipalId: pulumi.String(exampleGetGroup.GroupId),\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\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.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;\nimport com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\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 = SsoadminFunctions.getInstances();\n\n final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .name(\"AWSReadOnlyAccess\")\n .build());\n\n final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()\n .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()\n .attributePath(\"DisplayName\")\n .attributeValue(\"ExampleGroup\")\n .build())\n .build())\n .build());\n\n var exampleAccountAssignment = new AccountAssignment(\"exampleAccountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(exampleGetPermissionSet.applyValue(getPermissionSetResult -\u003e getPermissionSetResult.arn()))\n .principalId(exampleGetGroup.applyValue(getGroupResult -\u003e getGroupResult.groupId()))\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${exampleGetPermissionSet.arn}\n principalId: ${exampleGetGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetPermissionSet:\n fn::invoke:\n Function: aws:ssoadmin:getPermissionSet\n Arguments:\n instanceArn: ${example.arns[0]}\n name: AWSReadOnlyAccess\n exampleGetGroup:\n fn::invoke:\n Function: aws:identitystore:getGroup\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n alternateIdentifier:\n uniqueAttribute:\n attributePath: DisplayName\n attributeValue: ExampleGroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Managed Policy Attachment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\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.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Account Assignments using the `principal_id`, `principal_type`, `target_id`, `target_type`, `permission_set_arn`, `instance_arn` separated by commas (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/accountAssignment:AccountAssignment example f81d4fae-7dec-11d0-a765-00a0c91e6bf6,GROUP,1234567890,AWS_ACCOUNT,arn:aws:sso:::permissionSet/ssoins-0123456789abcdef/ps-0123456789abcdef,arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n", "properties": { "instanceArn": { "type": "string", @@ -344345,7 +345293,7 @@ } }, "aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment": { - "description": "Provides an IAM managed policy for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\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 = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.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 = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.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.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Account Assignment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: ssoInstance.identityStoreIds[0],\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=sso_instance[\"identityStoreIds\"],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\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.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = ssoInstance.IdentityStoreIds[0],\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.Any(ssoInstance.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(ssoInstance.identityStoreIds()[0])\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${ssoInstance.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `managed_policy_arn`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment example arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", + "description": "Provides an IAM managed policy for a Single Sign-On (SSO) Permission Set resource\n\n\u003e **NOTE:** Creating this resource will automatically [Provision the Permission Set](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ProvisionPermissionSet.html) to apply the corresponding updates to all assigned accounts.\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 = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.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 = Aws.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.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.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With Account Assignment\n\n\u003e Because destruction of a managed policy attachment resource also re-provisions the associated permission set to all accounts, explicitly indicating the dependency with the account assignment resource via the `depends_on` meta argument is necessary to ensure proper deletion order when these resources are used together.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst examplePermissionSet = new aws.ssoadmin.PermissionSet(\"example\", {\n name: \"Example\",\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n});\nconst exampleGroup = new aws.identitystore.Group(\"example\", {\n identityStoreId: example.then(example =\u003e example.identityStoreIds?.[0]),\n displayName: \"Admin\",\n description: \"Admin Group\",\n});\nconst accountAssignment = new aws.ssoadmin.AccountAssignment(\"account_assignment\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n permissionSetArn: examplePermissionSet.arn,\n principalId: exampleGroup.groupId,\n principalType: \"GROUP\",\n targetId: \"123456789012\",\n targetType: \"AWS_ACCOUNT\",\n});\nconst exampleManagedPolicyAttachment = new aws.ssoadmin.ManagedPolicyAttachment(\"example\", {\n instanceArn: example.then(example =\u003e example.arns?.[0]),\n managedPolicyArn: \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permissionSetArn: examplePermissionSet.arn,\n}, {\n dependsOn: [exampleAwsSsoadminAccountAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_permission_set = aws.ssoadmin.PermissionSet(\"example\",\n name=\"Example\",\n instance_arn=example.arns[0])\nexample_group = aws.identitystore.Group(\"example\",\n identity_store_id=example.identity_store_ids[0],\n display_name=\"Admin\",\n description=\"Admin Group\")\naccount_assignment = aws.ssoadmin.AccountAssignment(\"account_assignment\",\n instance_arn=example.arns[0],\n permission_set_arn=example_permission_set.arn,\n principal_id=example_group.group_id,\n principal_type=\"GROUP\",\n target_id=\"123456789012\",\n target_type=\"AWS_ACCOUNT\")\nexample_managed_policy_attachment = aws.ssoadmin.ManagedPolicyAttachment(\"example\",\n instance_arn=example.arns[0],\n managed_policy_arn=\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n permission_set_arn=example_permission_set.arn,\n opts=pulumi.ResourceOptions(depends_on=[example_aws_ssoadmin_account_assignment]))\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.SsoAdmin.GetInstances.Invoke();\n\n var examplePermissionSet = new Aws.SsoAdmin.PermissionSet(\"example\", new()\n {\n Name = \"Example\",\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n });\n\n var exampleGroup = new Aws.IdentityStore.Group(\"example\", new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n DisplayName = \"Admin\",\n Description = \"Admin Group\",\n });\n\n var accountAssignment = new Aws.SsoAdmin.AccountAssignment(\"account_assignment\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n PermissionSetArn = examplePermissionSet.Arn,\n PrincipalId = exampleGroup.GroupId,\n PrincipalType = \"GROUP\",\n TargetId = \"123456789012\",\n TargetType = \"AWS_ACCOUNT\",\n });\n\n var exampleManagedPolicyAttachment = new Aws.SsoAdmin.ManagedPolicyAttachment(\"example\", new()\n {\n InstanceArn = example.Apply(getInstancesResult =\u003e getInstancesResult.Arns[0]),\n ManagedPolicyArn = \"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\",\n PermissionSetArn = examplePermissionSet.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleAwsSsoadminAccountAssignment,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\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 := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermissionSet, err := ssoadmin.NewPermissionSet(ctx, \"example\", \u0026ssoadmin.PermissionSetArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := identitystore.NewGroup(ctx, \"example\", \u0026identitystore.GroupArgs{\n\t\t\tIdentityStoreId: pulumi.String(example.IdentityStoreIds[0]),\n\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\tDescription: pulumi.String(\"Admin Group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewAccountAssignment(ctx, \"account_assignment\", \u0026ssoadmin.AccountAssignmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t\tPrincipalId: exampleGroup.GroupId,\n\t\t\tPrincipalType: pulumi.String(\"GROUP\"),\n\t\t\tTargetId: pulumi.String(\"123456789012\"),\n\t\t\tTargetType: pulumi.String(\"AWS_ACCOUNT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssoadmin.NewManagedPolicyAttachment(ctx, \"example\", \u0026ssoadmin.ManagedPolicyAttachmentArgs{\n\t\t\tInstanceArn: pulumi.String(example.Arns[0]),\n\t\t\tManagedPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\"),\n\t\t\tPermissionSetArn: examplePermissionSet.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAwsSsoadminAccountAssignment,\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.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.ssoadmin.PermissionSet;\nimport com.pulumi.aws.ssoadmin.PermissionSetArgs;\nimport com.pulumi.aws.identitystore.Group;\nimport com.pulumi.aws.identitystore.GroupArgs;\nimport com.pulumi.aws.ssoadmin.AccountAssignment;\nimport com.pulumi.aws.ssoadmin.AccountAssignmentArgs;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachment;\nimport com.pulumi.aws.ssoadmin.ManagedPolicyAttachmentArgs;\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 = SsoadminFunctions.getInstances();\n\n var examplePermissionSet = new PermissionSet(\"examplePermissionSet\", PermissionSetArgs.builder()\n .name(\"Example\")\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .displayName(\"Admin\")\n .description(\"Admin Group\")\n .build());\n\n var accountAssignment = new AccountAssignment(\"accountAssignment\", AccountAssignmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .permissionSetArn(examplePermissionSet.arn())\n .principalId(exampleGroup.groupId())\n .principalType(\"GROUP\")\n .targetId(\"123456789012\")\n .targetType(\"AWS_ACCOUNT\")\n .build());\n\n var exampleManagedPolicyAttachment = new ManagedPolicyAttachment(\"exampleManagedPolicyAttachment\", ManagedPolicyAttachmentArgs.builder()\n .instanceArn(example.applyValue(getInstancesResult -\u003e getInstancesResult.arns()[0]))\n .managedPolicyArn(\"arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\")\n .permissionSetArn(examplePermissionSet.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAwsSsoadminAccountAssignment)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplePermissionSet:\n type: aws:ssoadmin:PermissionSet\n name: example\n properties:\n name: Example\n instanceArn: ${example.arns[0]}\n exampleGroup:\n type: aws:identitystore:Group\n name: example\n properties:\n identityStoreId: ${example.identityStoreIds[0]}\n displayName: Admin\n description: Admin Group\n accountAssignment:\n type: aws:ssoadmin:AccountAssignment\n name: account_assignment\n properties:\n instanceArn: ${example.arns[0]}\n permissionSetArn: ${examplePermissionSet.arn}\n principalId: ${exampleGroup.groupId}\n principalType: GROUP\n targetId: '123456789012'\n targetType: AWS_ACCOUNT\n exampleManagedPolicyAttachment:\n type: aws:ssoadmin:ManagedPolicyAttachment\n name: example\n properties:\n instanceArn: ${example.arns[0]}\n managedPolicyArn: arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup\n permissionSetArn: ${examplePermissionSet.arn}\n options:\n dependson:\n - ${exampleAwsSsoadminAccountAssignment}\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SSO Managed Policy Attachments using the `managed_policy_arn`, `permission_set_arn`, and `instance_arn` separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment example arn:aws:iam::aws:policy/AlexaForBusinessDeviceSetup,arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72\n```\n", "properties": { "instanceArn": { "type": "string", @@ -367368,6 +368316,98 @@ "type": "object" } }, + "aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering": { + "description": "Information about a single EC2 Capacity Block Offering.\n\n## Example Usage\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.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;\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 = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()\n .capacityDurationHours(24)\n .endDateRange(\"2024-05-30T15:04:05Z\")\n .instanceCount(1)\n .instancePlatform(\"Linux/UNIX\")\n .instanceType(\"p4d.24xlarge\")\n .startDateRange(\"2024-04-28T15:04:05Z\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ec2:getCapacityBlockOffering\n Arguments:\n capacityDurationHours: 24\n endDateRange: 2024-05-30T15:04:05Z\n instanceCount: 1\n instancePlatform: Linux/UNIX\n instanceType: p4d.24xlarge\n startDateRange: 2024-04-28T15:04:05Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getCapacityBlockOffering.\n", + "properties": { + "capacityDurationHours": { + "type": "integer", + "description": "The amount of time of the Capacity Block reservation in hours.\n" + }, + "endDateRange": { + "type": "string", + "description": "The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)\n" + }, + "instanceCount": { + "type": "integer", + "description": "The number of instances for which to reserve capacity.\n" + }, + "instanceType": { + "type": "string", + "description": "The instance type for which to reserve capacity.\n" + }, + "startDateRange": { + "type": "string", + "description": "The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`)\n" + } + }, + "type": "object", + "required": [ + "capacityDurationHours", + "instanceCount", + "instanceType" + ] + }, + "outputs": { + "description": "A collection of values returned by getCapacityBlockOffering.\n", + "properties": { + "availabilityZone": { + "description": "The Availability Zone in which to create the Capacity Reservation.\n", + "type": "string" + }, + "capacityBlockOfferingId": { + "description": "The Capacity Block Reservation ID.\n", + "type": "string" + }, + "capacityDurationHours": { + "type": "integer" + }, + "currencyCode": { + "description": "The currency of the payment for the Capacity Block.\n", + "type": "string" + }, + "endDateRange": { + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "instanceCount": { + "type": "integer" + }, + "instanceType": { + "type": "string" + }, + "startDateRange": { + "type": "string" + }, + "tenancy": { + "description": "Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`.\n", + "type": "string" + }, + "upfrontFee": { + "description": "The total price to be paid up front.\n", + "type": "string" + } + }, + "required": [ + "availabilityZone", + "capacityBlockOfferingId", + "capacityDurationHours", + "currencyCode", + "endDateRange", + "instanceCount", + "instanceType", + "startDateRange", + "tenancy", + "upfrontFee", + "id" + ], + "type": "object" + } + }, "aws:ec2/getCoipPool:getCoipPool": { "description": "Provides details about a specific EC2 Customer-Owned IP Pool.\n\nThis data source can prove useful when a module accepts a coip pool id as\nan input variable and needs to, for example, determine the CIDR block of that\nCOIP Pool.\n\n## Example Usage\n\nThe following example returns a specific coip pool ID\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.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetCoipPoolArgs;\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 coipPoolId = config.get(\"coipPoolId\");\n final var selected = Ec2Functions.getCoipPool(GetCoipPoolArgs.builder()\n .id(coipPoolId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n coipPoolId:\n type: dynamic\nvariables:\n selected:\n fn::invoke:\n Function: aws:ec2:getCoipPool\n Arguments:\n id: ${coipPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -389084,6 +390124,10 @@ "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, + "ipAddressType": { + "description": "Type of IP addresses supported by the endpoint for the domain.\n", + "type": "string" + }, "kibanaEndpoint": { "deprecationMessage": "use 'dashboard_endpoint' attribute instead", "description": "(**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead.\n", @@ -389157,6 +390201,7 @@ "encryptionAtRests", "endpoint", "engineVersion", + "ipAddressType", "kibanaEndpoint", "logPublishingOptions", "nodeToNodeEncryptions", diff --git a/provider/go.mod b/provider/go.mod index 57f5ecdb552..718166c2032 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -3,9 +3,9 @@ module github.com/pulumi/pulumi-aws/provider/v6 go 1.22.2 require ( - github.com/aws/aws-sdk-go-v2/config v1.27.17 - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4 - github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0 + github.com/aws/aws-sdk-go-v2/config v1.27.18 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5 + github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.53 github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 @@ -63,194 +63,199 @@ 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 v1.53.18 // indirect - github.com/aws/aws-sdk-go-v2 v1.27.1 // indirect + github.com/aws/aws-sdk-go v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2 v1.27.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.17 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.18 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.24 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.29.7 // indirect - github.com/aws/aws-sdk-go-v2/service/account v1.16.9 // indirect - github.com/aws/aws-sdk-go-v2/service/acm v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.2 // indirect - github.com/aws/aws-sdk-go-v2/service/amp v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/amplify v1.21.10 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.11 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.7 // indirect - github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.9 // indirect - github.com/aws/aws-sdk-go-v2/service/appflow v1.41.9 // indirect - github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.9 // indirect - github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.9 // indirect - github.com/aws/aws-sdk-go-v2/service/appstream v1.34.9 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.41.1 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.9 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.10 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.10 // indirect - github.com/aws/aws-sdk-go-v2/service/batch v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.9 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.6 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.23.5 // indirect - github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.2 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.10 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.10 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.2 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.5 // indirect - github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.2 // indirect - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/codepipeline v1.27.5 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.7 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.12 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.9 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/configservice v1.46.10 // indirect - github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.5 // indirect - github.com/aws/aws-sdk-go-v2/service/controltower v1.14.2 // indirect - github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.9 // indirect - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.5 // indirect - github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.9 // indirect - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.9 // indirect - github.com/aws/aws-sdk-go-v2/service/datasync v1.38.3 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.8.5 // indirect - github.com/aws/aws-sdk-go-v2/service/dax v1.19.9 // indirect - github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.9 // indirect - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.9 // indirect - github.com/aws/aws-sdk-go-v2/service/dlm v1.24.9 // indirect - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.8 // indirect - github.com/aws/aws-sdk-go-v2/service/drs v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.7 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.163.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.28.4 // indirect - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.41.12 // indirect - github.com/aws/aws-sdk-go-v2/service/eks v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.7 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.9 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.2 // indirect - github.com/aws/aws-sdk-go-v2/service/emr v1.39.10 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.4 // indirect - github.com/aws/aws-sdk-go-v2/service/evidently v1.19.9 // indirect - github.com/aws/aws-sdk-go-v2/service/finspace v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/firehose v1.28.11 // indirect - github.com/aws/aws-sdk-go-v2/service/fis v1.24.7 // indirect - github.com/aws/aws-sdk-go-v2/service/fms v1.33.6 // indirect - github.com/aws/aws-sdk-go-v2/service/glacier v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.5 // indirect - github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.5 // indirect - github.com/aws/aws-sdk-go-v2/service/iam v1.32.5 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.11 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.9 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/account v1.17.1 // indirect + github.com/aws/aws-sdk-go-v2/service/acm v1.26.2 // indirect + github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.3 // indirect + github.com/aws/aws-sdk-go-v2/service/amp v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/amplify v1.21.11 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.12 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.8 // indirect + github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.10 // indirect + github.com/aws/aws-sdk-go-v2/service/appflow v1.41.10 // indirect + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.10 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.10 // indirect + github.com/aws/aws-sdk-go-v2/service/appstream v1.34.10 // indirect + github.com/aws/aws-sdk-go-v2/service/athena v1.41.2 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11 // indirect + github.com/aws/aws-sdk-go-v2/service/batch v1.38.1 // indirect + github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.10 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.8 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.2 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.23.6 // indirect + github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.3 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.11 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.11 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.3 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.6 // indirect + github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.3 // indirect + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/codepipeline v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.8 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.13 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.10 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/configservice v1.46.11 // indirect + github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.6 // indirect + github.com/aws/aws-sdk-go-v2/service/controltower v1.14.3 // indirect + github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.10 // indirect + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.6 // indirect + github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.10 // indirect + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.10 // indirect + github.com/aws/aws-sdk-go-v2/service/datasync v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.8.6 // indirect + github.com/aws/aws-sdk-go-v2/service/dax v1.19.10 // indirect + github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.10 // indirect + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/dlm v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/docdb v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.9 // indirect + github.com/aws/aws-sdk-go-v2/service/drs v1.26.6 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.8 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.164.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.28.5 // indirect + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/eks v1.43.1 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.8 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.10 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.3 // indirect + github.com/aws/aws-sdk-go-v2/service/emr v1.39.11 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.2 // indirect + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.5 // indirect + github.com/aws/aws-sdk-go-v2/service/evidently v1.19.10 // indirect + github.com/aws/aws-sdk-go-v2/service/finspace v1.24.7 // indirect + github.com/aws/aws-sdk-go-v2/service/firehose v1.29.1 // indirect + github.com/aws/aws-sdk-go-v2/service/fis v1.24.8 // indirect + github.com/aws/aws-sdk-go-v2/service/fms v1.33.7 // indirect + github.com/aws/aws-sdk-go-v2/service/glacier v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.1 // indirect + github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.6 // indirect + github.com/aws/aws-sdk-go-v2/service/guardduty v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.6 // indirect + github.com/aws/aws-sdk-go-v2/service/iam v1.32.6 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.12 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.6 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.9 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.10 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.50.6 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.9 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.9 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.32.2 // indirect - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.2 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.54.5 // indirect - github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.9 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.2 // indirect - github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.9 // indirect - github.com/aws/aws-sdk-go-v2/service/m2 v1.13.5 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.9 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.6 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.52.5 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.10 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/mq v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.3 // indirect - github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.6 // indirect - github.com/aws/aws-sdk-go-v2/service/oam v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.12 // indirect - github.com/aws/aws-sdk-go-v2/service/organizations v1.27.8 // indirect - github.com/aws/aws-sdk-go-v2/service/osis v1.9.2 // indirect - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.5 // indirect - github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.9 // indirect - github.com/aws/aws-sdk-go-v2/service/pipes v1.12.0 // indirect - github.com/aws/aws-sdk-go-v2/service/polly v1.40.4 // indirect - github.com/aws/aws-sdk-go-v2/service/pricing v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.5 // indirect - github.com/aws/aws-sdk-go-v2/service/qldb v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ram v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/rbin v1.16.9 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.79.5 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.44.5 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.6 // indirect - github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.5 // indirect - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.10 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/route53 v1.40.9 // indirect - github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.9 // indirect - github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.6 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.44.12 // indirect - github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.9 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.29.2 // indirect - github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.1 // indirect - github.com/aws/aws-sdk-go-v2/service/securitylake v1.13.8 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.9 // indirect - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.29.5 // indirect - github.com/aws/aws-sdk-go-v2/service/shield v1.25.9 // indirect - github.com/aws/aws-sdk-go-v2/service/signer v1.22.12 // indirect - github.com/aws/aws-sdk-go-v2/service/sns v1.29.9 // indirect - github.com/aws/aws-sdk-go-v2/service/sqs v1.32.4 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.50.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.4 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.10 // indirect - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.10 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.11 // indirect - github.com/aws/aws-sdk-go-v2/service/swf v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.9 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.7 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.10 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.5 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.48.2 // indirect - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.14.4 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.5 // indirect - github.com/aws/aws-sdk-go-v2/service/waf v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.9 // indirect - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.2 // indirect - github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.5 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.5 // indirect - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.5 // indirect - github.com/aws/aws-sdk-go-v2/service/xray v1.25.9 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.11 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.10 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.9 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.11 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.33.2 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.50.7 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.10 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.10 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.32.3 // indirect + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.3 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.54.6 // indirect + github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.10 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.3 // indirect + github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.10 // indirect + github.com/aws/aws-sdk-go-v2/service/m2 v1.13.6 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.10 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.7 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.52.6 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.11 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.6 // indirect + github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/mq v1.22.11 // indirect + github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.4 // indirect + github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.7 // indirect + github.com/aws/aws-sdk-go-v2/service/oam v1.11.6 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.13 // indirect + github.com/aws/aws-sdk-go-v2/service/organizations v1.27.9 // indirect + github.com/aws/aws-sdk-go-v2/service/osis v1.10.0 // indirect + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.6 // indirect + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.10 // indirect + github.com/aws/aws-sdk-go-v2/service/pipes v1.12.1 // indirect + github.com/aws/aws-sdk-go-v2/service/polly v1.40.5 // indirect + github.com/aws/aws-sdk-go-v2/service/pricing v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.6 // indirect + github.com/aws/aws-sdk-go-v2/service/qldb v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ram v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/rbin v1.16.10 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.79.6 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.44.7 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.8 // indirect + github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.6 // indirect + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.11 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.6 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.6 // indirect + github.com/aws/aws-sdk-go-v2/service/route53 v1.40.10 // indirect + github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10 // indirect + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.44.13 // indirect + github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.10 // indirect + github.com/aws/aws-sdk-go-v2/service/schemas v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.2 // indirect + github.com/aws/aws-sdk-go-v2/service/securitylake v1.14.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.10 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.29.12 // indirect + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/shield v1.25.10 // indirect + github.com/aws/aws-sdk-go-v2/service/signer v1.22.13 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.29.11 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.32.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.50.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.11 // indirect + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.11 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.12 // indirect + github.com/aws/aws-sdk-go-v2/service/swf v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.10 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.8 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.11 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.6 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.48.3 // indirect + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.6 // indirect + github.com/aws/aws-sdk-go-v2/service/waf v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.10 // indirect + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.3 // indirect + github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.6 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.6 // indirect + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.6 // indirect + github.com/aws/aws-sdk-go-v2/service/xray v1.25.10 // indirect github.com/aws/smithy-go v1.20.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beevik/etree v1.4.0 // indirect @@ -329,7 +334,7 @@ require ( github.com/hashicorp/terraform-plugin-framework v1.9.0 // indirect github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect - github.com/hashicorp/terraform-plugin-framework-timetypes v0.3.0 // indirect + github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect github.com/hashicorp/terraform-plugin-go v0.23.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect @@ -427,17 +432,17 @@ require ( go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.37.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect - golang.org/x/mod v0.16.0 // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect - golang.org/x/sync v0.6.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.18.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect diff --git a/provider/go.sum b/provider/go.sum index 65e9be69b19..cd48730eb7f 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1234,388 +1234,398 @@ github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3A github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.53.18 h1:BeMeCK5e3bDGJj675FhnO94zRci8O35ombWXRvYomJs= -github.com/aws/aws-sdk-go v1.53.18/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= -github.com/aws/aws-sdk-go-v2 v1.27.1 h1:xypCL2owhog46iFxBKKpBcw+bPTX/RJzwNj8uSilENw= -github.com/aws/aws-sdk-go-v2 v1.27.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go v1.54.0 h1:tGCQ6YS2TepzKtbl+ddXnLIoV8XvWdxMKtuMxdrsa4U= +github.com/aws/aws-sdk-go v1.54.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go-v2 v1.27.2 h1:pLsTXqX93rimAOZG2FIYraDQstZaaGVVN4tNw65v0h8= +github.com/aws/aws-sdk-go-v2 v1.27.2/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= -github.com/aws/aws-sdk-go-v2/config v1.27.17 h1:L0JZN7Gh7pT6u5CJReKsLhGKparqNKui+mcpxMXjDZc= -github.com/aws/aws-sdk-go-v2/config v1.27.17/go.mod h1:MzM3balLZeaafYcPz8IihAmam/aCz6niPQI0FdprxW0= -github.com/aws/aws-sdk-go-v2/credentials v1.17.17 h1:b3Dk9uxQByS9sc6r0sc2jmxsJKO75eOcb9nNEiaUBLM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.17/go.mod h1:e4khg9iY08LnFK/HXQDWMf9GDaiMari7jWPnXvKAuBU= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4 h1:0cSfTYYL9qiRcdi4Dvz+8s3JUgNR2qvbgZkXcwPEEEk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4/go.mod h1:Wjn5O9eS7uSi7vlPKt/v0MLTncANn9EMmoDvnzJli6o= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23 h1:g6IHovcexw51hcP0hxsT7Mr3/PG76hZvoodm9tuKuUc= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23/go.mod h1:8KSZ0CibxgOaPk28CFL4DGBdGrscHJr8FuxB+jnJBaM= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8 h1:RnLB7p6aaFMRfyQkD6ckxR7myCC9SABIqSz4czYUUbU= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8/go.mod h1:XH7dQJd+56wEbP1I4e4Duo+QhSMxNArE8VP7NuUOTeM= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8 h1:jzApk2f58L9yW9q1GEab3BMMFWUkkiZhyrRUtbwUbKU= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8/go.mod h1:WqO+FftfO3tGePUtQxPXM6iODVfqMwsVMgTbG/ZXIdQ= +github.com/aws/aws-sdk-go-v2/config v1.27.18 h1:wFvAnwOKKe7QAyIxziwSKjmer9JBMH1vzIL6W+fYuKk= +github.com/aws/aws-sdk-go-v2/config v1.27.18/go.mod h1:0xz6cgdX55+kmppvPm2IaKzIXOheGJhAufacPJaXZ7c= +github.com/aws/aws-sdk-go-v2/credentials v1.17.18 h1:D/ALDWqK4JdY3OFgA2thcPO1c9aYTT5STS/CvnkqY1c= +github.com/aws/aws-sdk-go-v2/credentials v1.17.18/go.mod h1:JuitCWq+F5QGUrmMPsk945rop6bB57jdscu+Glozdnc= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5 h1:dDgptDO9dxeFkXy+tEgVkzSClHZje/6JkPW5aZyEvrQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5/go.mod h1:gjvE2KBUgUQhcv89jqxrIxH9GaKs1JbZzWejj/DaHGA= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.24 h1:FzNwpVTZDCvm597Ty6mGYvxTolyC1oup0waaKntZI4E= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.24/go.mod h1:wM9NElT/Wn6n3CT1eyVcXtfCy8lSVjjQXfdawQbSShc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9 h1:cy8ahBJuhtM8GTTSyOkfy6WVPV1IE+SS5/wfXUYuulw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9/go.mod h1:CZBXGLaJnEZI6EVNcPd7a6B5IC5cA/GkRWtu9fp3S6Y= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9 h1:A4SYk07ef04+vxZToz9LWvAXl9LW0NClpPpMsi31cz0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9/go.mod h1:5jJcHuwDagxN+ErjQ3PU3ocf6Ylc/p9x+BLO/+X4iXw= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8 h1:jH33S0y5Bo5ZVML62JgZhjd/LrtU+vbR8W7XnIE3Srk= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8/go.mod h1:hD5YwHLOy6k7d6kqcn3me1bFWHOtzhaXstMd6BpdB68= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.29.7 h1:6q05M2ViGWE+3GkbiqmmsBsvGCp5gNEZZSPZifURGyA= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.29.7/go.mod h1:cnG0IU6tQf1KxuQ0kbvnCA8Qgfnx7Wyivo8O9j8tLvk= -github.com/aws/aws-sdk-go-v2/service/account v1.16.9 h1:MadkMsGYCYW6P4JoiDFQ8T/Ff+kj6VRKFYnl3ysxz/Q= -github.com/aws/aws-sdk-go-v2/service/account v1.16.9/go.mod h1:OybSrxadd84Qs5XUzH9V0hghotzxD0FAJYSsCc8CZBU= -github.com/aws/aws-sdk-go-v2/service/acm v1.26.1 h1:W4o6dIMmPWjl55ZE2ycdBvE1Q/KOLFqCzVNHeLTyrlM= -github.com/aws/aws-sdk-go-v2/service/acm v1.26.1/go.mod h1:89Ze+u79IkUA44zjubmbg1HDPSGp1SI1JuuUUiJOzAU= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.2 h1:1aMZfAJVaBrj6cxY3ojGn/znOrTHSLttVb6aB6fb0PQ= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.2/go.mod h1:tZnbAvOV9JciQJbqm8Na5fUZXv1EvyRM06KXwzbljmg= -github.com/aws/aws-sdk-go-v2/service/amp v1.25.9 h1:zU9uaQSwO92vayybbVdMG+d6mg1SOWR5OVa+kmJJbMo= -github.com/aws/aws-sdk-go-v2/service/amp v1.25.9/go.mod h1:mlddUJtrN2tKHNpmIG3E91dmuvfFI8cLggFL8H4+w0g= -github.com/aws/aws-sdk-go-v2/service/amplify v1.21.10 h1:OsaYS+/JWNEDDf5YELyGisl3b9Tdd9ueTrADBin6zWg= -github.com/aws/aws-sdk-go-v2/service/amplify v1.21.10/go.mod h1:ldQUWH3j+do/+sM0poEzaO8PeD/+QwzXe3NPLI+YP9w= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.11 h1:uOP/yBKRB5pF0GuJ9hoT78DTRGODvhFpoor5MPwdB0o= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.11/go.mod h1:gp/vsU/c4H5+GOXV+/COOB8YjdTCCSikkNAdarVv9r8= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.9 h1:Rb27E4tz99CxtKLmJ537jqqVq7GUcUc87mbcHiFRC28= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.9/go.mod h1:21Y/m4p04kU1f8ezJ1bPcdrzdgxyqqGTaZx/j1nZBPo= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.7 h1:GpyPxvdNK8NqoRM2Rzx4cdAB+CxcxfrAz4M35UWcUrI= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.7/go.mod h1:EI6wUCGbotAPSfmhAmj99/CBzd5dSpJsJ/XdEUFp6bU= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.9 h1:foygWWx5fS42/ucCucBGP5qHyTFA0pNLXIpHXwOassg= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.9/go.mod h1:ej8tRg5xShaP4W5rcMD7Go9iKwGkcP7Vw32Oq1tgOUA= -github.com/aws/aws-sdk-go-v2/service/appflow v1.41.9 h1:q/SMW1kvWMfKdYCU6jTUbyvGmZrHIuPzpBw0l6NPH78= -github.com/aws/aws-sdk-go-v2/service/appflow v1.41.9/go.mod h1:w13VlUT9+84Be5ac3PMFn5shJGVIsN9p29oWBuS4+KU= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.9 h1:7PyEqMghk3KIAFaoMRC/lUmZP5R0I4pIF6Pccqk0f58= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.9/go.mod h1:aOZE8XojOjrcym2gMlaxcpls/D8DgDDjAfgrsimNTlc= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.9 h1:YsSQsh1brYaShY/2/Fvv+8x+HBu8m6mP8hWzu9DINyU= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.9/go.mod h1:Pjje0RQAC+Y24jsEZpknwL9uWwk+kuAe/lyVN8eGSuc= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.9 h1:Q6rPeL0kBv9mXgTo8SsDxBsgQdaPdmx0hdBW039tX8c= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.9/go.mod h1:FdKPru0+/ApAr5pL4dGKHRz0UqdBhY+ZhjRDuSx+OT4= -github.com/aws/aws-sdk-go-v2/service/appstream v1.34.9 h1:6Y7TAh9HtZxURVFnbNYmlUZuLim2qR0+qonumqDvsc4= -github.com/aws/aws-sdk-go-v2/service/appstream v1.34.9/go.mod h1:2En3KqyLPTHuGvK3yRheC+qLGi/lcbPMgSZguQnUFRo= -github.com/aws/aws-sdk-go-v2/service/athena v1.41.1 h1:3D4DPNdTPCswyacGMbpuOg7RlRcxhl6C23qY933iryI= -github.com/aws/aws-sdk-go-v2/service/athena v1.41.1/go.mod h1:NnUELFpzA/8N9QUn+HvMelMTsO7ji/dsPm+ZFxz6TYQ= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.9 h1:TYjT72sCy5jqtHjlsI59HOaJTY86IC51HgiTJwsrdEQ= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.9/go.mod h1:EesYlytgpWj/zwvmD7ErYFDAbA2mddixGCOSqunsFH4= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.10 h1:jXlt8pQwVXgXjYTJeUAtPpqf/Ryuxvapgr7w2BlULV4= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.10/go.mod h1:sXim2icRtsmYypYTh6j4dLVnMOGxIoAlNDb4W5HLeaw= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.10 h1:M+KGc3JCmMCwjrzOvmKTZc63IC/W3xIy4nJJ/5a0LMY= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.10/go.mod h1:W51/zBIuZuwIPtOki5+LPEemGl5YVHg2umspXQuSv/k= -github.com/aws/aws-sdk-go-v2/service/batch v1.38.0 h1:0ss8TfCJscCvd7ULEP9DYyhvahcxC9uapyahMmlrsjM= -github.com/aws/aws-sdk-go-v2/service/batch v1.38.0/go.mod h1:Go7Sz20JusyAuCbddxU7NKI36XH5cGFjsKE1N1uoXSM= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.9 h1:5bFTggYWi8HLSU+lizpJGQeql4IauGzsx4EPr4OvKyo= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.9/go.mod h1:XkHQvxIw/Yfb4kTVM+pxwaHW/NCn/MqqGO2brlarnRc= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.6 h1:muH72oPRKPkyLf2O4zeJsqBLQOdjB4Bb3aOivesFmPE= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.6/go.mod h1:wHeuIK8LrZEq69mgb3JLFoYUFvsOf6c9+4zR0HdiUPg= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.1 h1:pPOpN4PidOfxi9PlrnbghURbnPH5XWnUTufe10KgmAc= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.1/go.mod h1:awijWYqEeAC6rUeYDyVVynZRsTNwfVDzMHdOKlOi+YQ= -github.com/aws/aws-sdk-go-v2/service/budgets v1.23.5 h1:+8X3KnVOSJ7E0jwTU5a2g4EpwPrGwZxUhA5iFiOInCg= -github.com/aws/aws-sdk-go-v2/service/budgets v1.23.5/go.mod h1:3ERfQNDIDggodU+jvNCw603e34yOAXD1HbvgEJIUSag= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.2 h1:RGTV3Z6ik5s/RGYXGWZFOQBSrd/ICZi4tCcZCYon2iQ= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.2/go.mod h1:1wFTPpScELexlNaBeMsfinctWUUo0vrV8dBg/MZp1LA= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.10 h1:BxSly3EMRSZf3Oik/wWOG29qmtN5vQZ1HYPJoDT5TAY= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.10/go.mod h1:q4xUtlugssicwS7LkVMF/b0BIbCQYsap3WG7Hq9Rf24= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.5 h1:vOWcsAQKyA1AMHr5UpRNfxxpFyxUMxlBH58XfiCs7c0= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.5/go.mod h1:aD0UrXaUfH7pvlGvm+6eBB8yxbRbGigbHvoa4FxOM7A= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.5 h1:uvhcW2IT6YYT+ueDRrXJGEQytoDC/fvLKEHnsLL8wBo= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.5/go.mod h1:AbquvPv3vI71Yj+Masu3krIsULx29rHAQLJqxGBfK/0= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.10 h1:xM2wNXt77YA8nTU22l3QTyMsiO4kTPb0eP5vA3LdJUI= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.10/go.mod h1:+5URMBuBHX0x6MgcfOUrCRGmlRkQwbRu0SaNT8hseBw= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.9 h1:Wp1QFv8uyNpwPXSI/a6TRkIR0CiT+Fa60s5vVTsFdXM= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.9/go.mod h1:pFrHzOZRN/EfWL7ygk9ELdQHqRGERgOgP03OLIOlQV4= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.2 h1:FBc+xcfqpBzYl6WWIBk3AB9d/oc6r2sn/mYPnuORCFI= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.2/go.mod h1:qadtdULA3L3WyTz7ybmu46Motr8ckS+zGZS+4oXLxH0= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.5 h1:DKx0ps1B8V1xBeFd5RgKQ/lJPiB43A4AzKLdgiooIOE= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.5/go.mod h1:TJgAoZFGs+7byrhDmluDEGCt93pLTDlxGjMd4Ia7jfg= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.9 h1:lwen9n8AdIY9BB627RF3Ax5IaQx29sxWQn8R7XmrJvo= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.9/go.mod h1:HLCHANLx2q0m/eEyYa2yvzO3GQjRH89T8xetHgM8Rzs= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.9 h1:t9WFp1T4MXN5TzFwQyIRU1IPEuWvBGMkO3ys7FyRoqg= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.9/go.mod h1:Zy3dSIZhPk4L4PTRvN3vmmq9/X8NQqfgQx+a6QODx6s= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.9 h1:l6DbbNYmFducKo+hHT7x+ob0pxhnRunZCqIU9248/ZA= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.9/go.mod h1:MuXw4qV+Ee8v9LcrQbhEAErIV7JpmW5cUai/XNQQDVI= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.1 h1:oNvFCFZz6yXvnr6tl8OiBjiHC+EmNzkmrjjFleLu770= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.1/go.mod h1:d8nesi91YHJGg8VeltqnVv0TYmQ4LuLcDFtonPixugg= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.5 h1:jyvrRzJdoGjfCExDxM47Ii/ExA3i+H1gBPw2zlqlcaY= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.5/go.mod h1:MFZAb9T6kbRKTa53yHkANoRKCqGradZyyoWHS440238= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.6 h1:tXVolP2znfXC3nBOxQfcgH3zW/owC6ZetE52wyWUGr4= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.6/go.mod h1:uCZnP2Kf2k/KJ20fVok7//GDqXVWzxQSSi3qjdzQdMI= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.5 h1:vrPOyJJ4Ph445jYq+1jFEpgmZhwHe9WX2V4OylzOV9M= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.5/go.mod h1:Jk7hUaInLPjpZc1NzwB0gNYghUJLm9AvwfKuAsGq4A0= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.2 h1:mnioxU68tB2WgpNgQVarbhU+wsZ1GZE0H9jLP/uUQSY= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.2/go.mod h1:WRxr+oZ82iydlU2cpLjntR9N5+TNAhQ0MmPxK0A+JZA= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.6 h1:fI5UEAVNiDqnzhrkCRMiEUHwRmWLPERGl83aJ1HaFpE= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.6/go.mod h1:Gi7YJyKguZq1pgtqE+GT5K4JLxGFuBXWYO7l7/szEUc= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.9 h1:ZYcHHKeg6hOmZ3FlSymr5bJZpPTMXRgfZhhukQYruzs= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.9/go.mod h1:Hfm8CW+xQUbAfexpS051wcrp19Lah2nXESiYQlwGVc4= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.9 h1:YCKBVqEkK/of4mo6K4xtd6ufMacw4vxikv3G8OQY1x0= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.9/go.mod h1:kZyRQhOR4+WVZB65xG6xtYtolpBTsxCm8G8RovQMjOY= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.9 h1:aOyANAp8hjqNKbTNaQj6aIHKUg/n8eOliKaWl3JarAc= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.9/go.mod h1:qySguuarVfRmMxMLKBO480QGQns0+4TKMyBN4vR2xwc= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.9 h1:eaEUjR9fvG/Evf89kXpEbo/JlaNVc7JFmzulHjAAc/c= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.9/go.mod h1:gmf8ZX3neJRCXXT6jvmkxyd4ep8EahbVKkngPZ74CDM= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.27.5 h1:tdklfuPmP/IRsDwkvF21lMtJgX+ZkOjAogcEpmmtO5k= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.27.5/go.mod h1:qVh/vi8z1CA7vQYE4O5vgmOiPcIaY+0gIhA1A7cQjRI= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.7 h1:M1eQwZJxbFMTqjZz1bw3pgZWxHrg6KxI49oI3qVOiZc= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.7/go.mod h1:wzCHPA2yNJIO1rLoaShOaU9VQfpUyDTaOYBC52fJ50s= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.9 h1:eC/DreRM4xdByIGD8DetRnbVnkOyUgf3ll/9iqow9IU= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.9/go.mod h1:eiGo1HOvfJ/lLYTI8pxzvy/vBoxIwf6pLJNASHiDW1w= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.12 h1:pCP3UvACOEz44YxdU6Yt8Y31RUHb+YAFm7qJeFBxzP8= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.12/go.mod h1:vX/HrY/CrkdxiSV1/fn6Xz2YcYTy68W2gKY5ikoukW4= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.9 h1:CW735M20pqFrVeH8DKGae/Zsf8QOUtFudbxHS8CzVqU= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.9/go.mod h1:DJ1VFgvnwm0+Hbl1BRQcH7wt8qpJWg6e7inLC59d8lg= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.6 h1:ebXoh6KPFE9svQ2jOyUIGB1dU7rROKXR7nDsO1umd94= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.6/go.mod h1:eQMb7jz+FeFVUDM4kBczh1WhPW5n5jTDCTlDv+x5ADg= -github.com/aws/aws-sdk-go-v2/service/configservice v1.46.10 h1:rY3jnjqfiCI/DatSuriXt55yPwFb39uErKgH01fDtb8= -github.com/aws/aws-sdk-go-v2/service/configservice v1.46.10/go.mod h1:nSjj++pObQHd23H4ptYGUXkwOoAX/nwj0SOU06cMP+Q= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.5 h1:kb3/AFtz6xAZXKG4R39I1gsknMs1nBxab79nNk25hw4= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.5/go.mod h1:6d0nOWBdkUgrq2scypNF3k2zGhjpU6Wxy9/QWV9qSNg= -github.com/aws/aws-sdk-go-v2/service/controltower v1.14.2 h1:TZ/9Bmyqsej4nCKlkPQIaTqXM6Bd7xqDdYYACcCYje0= -github.com/aws/aws-sdk-go-v2/service/controltower v1.14.2/go.mod h1:WbLjgaKpccbQCoCOWcvfRkhs3B44trmCyqBQEwekn7c= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.9 h1:7FrbJ4aJLFx8/Mkh52NMRObDQZzsyyRbFA6WyCzyGvU= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.9/go.mod h1:86jlNAeESKhrHzi2b2dTr7qeofl+6/SgaaxLqdBGsyo= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.5 h1:5ihWudE7yBiGhfBfj1ukKMokhsupldhTnYKJitd2ITQ= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.5/go.mod h1:EG1DJU0TsNpg6Ebomvv9gAGuz1A/XlA7ZYQem/+gDSY= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.9 h1:YdtaUZGZuVd6dEL4FWPJTJjqA5hoOYzy5TU9kSfNhwc= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.9/go.mod h1:FjmMN20q7BlUL6kntP5G1ZX0PGCSNeP5Tlz5wHp+v/4= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.9 h1:SYaxmq1dcInwtaiRKe90GRmQpBHDah7pQlb6GenrJiw= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.9/go.mod h1:bQ7ZqU8EP0wYiGdAwMBQGB4YnVL6OhmEON4qj2sd1ss= -github.com/aws/aws-sdk-go-v2/service/datasync v1.38.3 h1:22ofAvnuh7pqMC19Be7qqiczJXebTLlaLgd7feo6n2M= -github.com/aws/aws-sdk-go-v2/service/datasync v1.38.3/go.mod h1:Wp0BHCccttxO3F3yPUtqvyGLuppjglXOIakUdzeKXCY= -github.com/aws/aws-sdk-go-v2/service/datazone v1.8.5 h1:sqMn+Tbxvt/d3HactmeKPCeADOI99DkrBXjA/KbwfXk= -github.com/aws/aws-sdk-go-v2/service/datazone v1.8.5/go.mod h1:1Q+n8iJiRNtXYkECjZ7MKTDn5w9xg1eQkjPginSfxBc= -github.com/aws/aws-sdk-go-v2/service/dax v1.19.9 h1:mvVNF4tkx5OQSKZiaKcjqrfz1tTGGV6+v6k0GKrvPQ8= -github.com/aws/aws-sdk-go-v2/service/dax v1.19.9/go.mod h1:5FJP0sA22bRPLsj3Aj/D26h9JYHIT9PyWOUhd0YSlpI= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.9 h1:eLAJEpCINOY0E75BKpBwnkG1xfi20EK0QtocNb5+IYw= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.9/go.mod h1:2uSmwrJTMEq6+33BjavHkqpIMiw2z5LoDWDpDWvcnF0= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.9 h1:dvp6kG9iOateXDsUNQUfA0u3hCl16b6sFMmXZEq77RU= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.9/go.mod h1:iKZYRujMonknQBFLRab15aRFGkezP5l30eDDd9ZAFU4= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.9 h1:IUT9X0mSw7nn163sgApcIwVbsu9e4cenpO8EoXlFFeA= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.9/go.mod h1:D4kc1uNcsRFGQTJzZDZiLKU8slsvgeKfFvoLDWahYZQ= -github.com/aws/aws-sdk-go-v2/service/dlm v1.24.9 h1:rbCsQ+v8ZhPCyraCMGJ0ryoRNyOST+Epqf7BLFU6juw= -github.com/aws/aws-sdk-go-v2/service/dlm v1.24.9/go.mod h1:TDugCcN4kVVjmf3AyrgJxF+bMGo6xE0rIqzekOdBci0= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.8 h1:h2e8qCW13l+HidSl5AL/yyTm7SjG+1rccnL5v0H0DMs= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.8/go.mod h1:sNRGOjnAEBY66qjElTl5VMEv1vm8bCD0HNjheIpsG8g= -github.com/aws/aws-sdk-go-v2/service/drs v1.26.5 h1:KGamj85Y3eghj2i/D4Hm72rjkHClGSQv3kiDb/17sUg= -github.com/aws/aws-sdk-go-v2/service/drs v1.26.5/go.mod h1:hgzJdiCobHu4Oe5uaKGQGlftUn7rpgGI9EPBgNTBAAk= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.7 h1:Y0pFOzMrx/c6mVswi99Y9UmBfbBhmFsAzuaJDXTHd0U= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.7/go.mod h1:CYR+43Fe0qazBzSTrIwSK7uYdYVf958kwGF+EQgQqhw= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.163.0 h1:gwthjSMr5tW2fYBJNt3LQGgtkREvv5IcuaWRjeo1fh0= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.163.0/go.mod h1:eu3DWRK5GBq4hjCr7nAbnQiHSan5RJ6ue3qQVp5PJs0= -github.com/aws/aws-sdk-go-v2/service/ecr v1.28.4 h1:nEnhbD8rfT+XGoD5ETf81uIVYZMFigG0XpnsTlreJmQ= -github.com/aws/aws-sdk-go-v2/service/ecr v1.28.4/go.mod h1:ZjUXU9PCqBZaGjYVamdzpY1gIHdiyKHNRdjQV5V/iO8= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.9 h1:+GMe2/1NW21VksHgdEWOqWOcxly7eIq+l19KTQQyU6M= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.9/go.mod h1:QweEjDVzCQwmTNvEDz8gS54o358TVJkqCS/lCfQ62Xg= -github.com/aws/aws-sdk-go-v2/service/ecs v1.41.12 h1:PP+1o3w32h6ZcQXJB8SE8xcd7nv5FGVs1f/rowqBW4Q= -github.com/aws/aws-sdk-go-v2/service/ecs v1.41.12/go.mod h1:wiwrrDV7ppDkVjnKBkBx72Qiy1Hh0pbdqY8+ipXvT74= -github.com/aws/aws-sdk-go-v2/service/eks v1.43.0 h1:TRgA51vdnrXiZpCab7pQT0bF52rX5idH0/fzrIVnQS0= -github.com/aws/aws-sdk-go-v2/service/eks v1.43.0/go.mod h1:875ZmajQCZ9N7HeR1DE25nTSaalkqGYzQa+BxLattlQ= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.7 h1:jxO/Nxg4qot/KbV6DSnWjc6OFlHmzhIyxZ9k5XgLDZc= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.7/go.mod h1:Qme5R5YzOzalo6w0RY4vITPbY7Gg5NBKu9wkOTIC61E= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.9 h1:r1BOQn2YVFgTGPqcsFzbeh50UNlaAlMDmnZoX4IkgrI= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.9/go.mod h1:14m8XOiPPjvkGUa62fzMGsa9H06n2h2Hx1Q+JkRiWko= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.2 h1:gUlcjgmgyDd4iy3W3cbxpCXv8n3sym/2iGeqtAAT6x0= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.2/go.mod h1:F8qHFjuWUd6lCi4xxdv+ZxVeYmee49pzoQZG9hIornU= -github.com/aws/aws-sdk-go-v2/service/emr v1.39.10 h1:C43PoUONgDe29RJ2xS4fLcbt3wvINZejFki0LXU3zys= -github.com/aws/aws-sdk-go-v2/service/emr v1.39.10/go.mod h1:3coXPXZ3pvysGppxBBWSuBgfJJgw0CLAWSdOw13peX8= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.1 h1:q0M9pxjrWz1eBc7rzeVExYsI+9zR2pfoeCowRWQjdxU= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.1/go.mod h1:gK8y4pQpHpVoCdZ7Gbq50DgwFOuPprXB5oKq9XQ+WLA= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.4 h1:uPKGvZlwm2vI2zd3YsyCqbHRIHjz5HoHBHYLWvS4wfk= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.4/go.mod h1:RWFNpWB/YcbRCRYU9Z4eprbWpUpeaus4e3wAxCeYd+U= -github.com/aws/aws-sdk-go-v2/service/evidently v1.19.9 h1:rRr+y95AP9SjhbSbtLxvlYwCtfIDAZleSP/acJDPEIc= -github.com/aws/aws-sdk-go-v2/service/evidently v1.19.9/go.mod h1:WO9IOGnJJ7DJyZY/dZV6ubh+RYktqJNsh4LvsqbxcDI= -github.com/aws/aws-sdk-go-v2/service/finspace v1.24.6 h1:6Q6B0meSNri5pNjj6BIXWaXwG7DxzycXSsJxFUllINc= -github.com/aws/aws-sdk-go-v2/service/finspace v1.24.6/go.mod h1:artpSqyfWcQOiEo30+PkyMC+X2FxbFn/6jhQMtGAB+A= -github.com/aws/aws-sdk-go-v2/service/firehose v1.28.11 h1:EnsIMXQzQ0HH0367oyMGcTU63pLB2fZJYAt3t13OOTM= -github.com/aws/aws-sdk-go-v2/service/firehose v1.28.11/go.mod h1:MLIJ2PyS/PqsER2aa1fjv7hCAX4fHJpW5FqVE8ZK37o= -github.com/aws/aws-sdk-go-v2/service/fis v1.24.7 h1:AkpQeK+HgEJZIJLFD4vQU7mXCrED3ngIL6TA/sKpuMY= -github.com/aws/aws-sdk-go-v2/service/fis v1.24.7/go.mod h1:7x7GIZ64mv5wPZKhHDwYvD2cv6URb5wS5Xrt2QYhLLM= -github.com/aws/aws-sdk-go-v2/service/fms v1.33.6 h1:mmICRSNRgcV1UIva6jfnGl8deNHPyqDU+92U+Y7en7s= -github.com/aws/aws-sdk-go-v2/service/fms v1.33.6/go.mod h1:54BuIVUiFxviRbkYHQZNJCena31Hu/4pfj7I0TZEg6M= -github.com/aws/aws-sdk-go-v2/service/glacier v1.22.9 h1:VEV/9IVykgeCD76wE+MRvSB8FOOo3GqdK17g9EuiypU= -github.com/aws/aws-sdk-go-v2/service/glacier v1.22.9/go.mod h1:YhA4aSfqiqBGagXxuT6jf8zQ79Yb3abiZpdtRiIljpY= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.0 h1:SGVSJQWO1i2WqlzfatepkLu3+NuvELohsKVjWovDDaA= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.0/go.mod h1:45UdEiD/JbcgBVwcLZZd752sAutrndMdvNop/3js2oI= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.5 h1:mNgrkKH+6B1dtbkzSVA8qf9fR9lMg+mUEYUBNnWeWyU= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.5/go.mod h1:a8x2abmJoP3bGTTsX2LYIIyj4tMKLG8ophLxHBF6utM= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.5 h1:3BYfEzrCaDWyUOMDypGp6GyFYl3xYbAU88LQr4cTj4k= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.5/go.mod h1:fmn1PtN7zkXWRLCNW7YS9QXrJh5mJ3SYv3wppgVVQxA= -github.com/aws/aws-sdk-go-v2/service/iam v1.32.5 h1:G2judWqHbm2bDrmJPj9W0nD3Pv8+WzhY+fAAEQMpLf4= -github.com/aws/aws-sdk-go-v2/service/iam v1.32.5/go.mod h1:RorjhuicJ7tEwun17BEeD//1JiPdvxPv15KOa9BKxS8= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.11 h1:EC6Yxxzw1n4b5bsVF7JAyGIK/V/Mce95Ij8IBIX6P4E= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.11/go.mod h1:h4eA/XwjtoO5dN6BVpOaBSOH6hUFM+PFWmAnx9wBkMg= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.5 h1:UJUc+S6kAAivhWluw7+DGZe2o9VzVPD0LvyUgj62htA= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.5/go.mod h1:Z0WGPJQcCcl40bqyYxr/iDvyR0MPqsQr930PESO6TcU= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.9 h1:vHyZxoLVOgrI8GqX7OMHLXp4YYoxeEsrjweXKpye+ds= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.9/go.mod h1:z9VXZsWA2BvZNH1dT0ToUYwMu/CR9Skkj/TBX+mceZw= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.30.0 h1:l5NODu13ZXBo3SIuWlSqM8W15UkmGb1CfoT9LMePiGQ= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.30.0/go.mod h1:+J6D4VAx1rypnSo1AI7XIx4v3al7RwEmTT45+hKtsuo= +github.com/aws/aws-sdk-go-v2/service/account v1.17.1 h1:4NJR1yu7rp5FxJqnqpRaSnIiq/EL26EBaGFnLh3TVlM= +github.com/aws/aws-sdk-go-v2/service/account v1.17.1/go.mod h1:RP2gSKo6kGbTkrDVhsK7BDmhobfBc+0O1dVI1VGNR0U= +github.com/aws/aws-sdk-go-v2/service/acm v1.26.2 h1:BAAPzljqPgzr4vJl1aI+qwWArot2Ev7jZy9i69Bysvo= +github.com/aws/aws-sdk-go-v2/service/acm v1.26.2/go.mod h1:UxBKNLjXNINYbDrT7DG7ZHYEK2qOT1m6XJeKY+LitbQ= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.3 h1:bQ+4RthpbM3w5+1Z9l/OoANG1J5Nl3oNVCL70dZbEV0= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.30.3/go.mod h1:JV4s3XObODdRk5gtgA5uKNSLhCqi5WRvQgnzhkMvJEk= +github.com/aws/aws-sdk-go-v2/service/amp v1.25.10 h1:aGSGpPg6aGoe/v42C2iSQqzDI778m0YpMolinM5SeIE= +github.com/aws/aws-sdk-go-v2/service/amp v1.25.10/go.mod h1:wyfNo2hj/f8yPSdberXMJv60eUG6xGr3cDLVF4jJivY= +github.com/aws/aws-sdk-go-v2/service/amplify v1.21.11 h1:B4BzoxzV8vio6V07yEDEqpVrhd2ciD3b4OkF2QGpgkA= +github.com/aws/aws-sdk-go-v2/service/amplify v1.21.11/go.mod h1:Ev3460rW8/OmH3bJBkMZDgZR48c6wl1d4DxA78h+CWM= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.12 h1:B9YQUaFlg5YAEukEogYG5E+C6GHHAMNbS1g82rgxRSg= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.23.12/go.mod h1:zwkGhImFmKYyfIjJb2jBVd+cQ+pq+APQNryk9Tk57Ps= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.10 h1:7rAYDeRvzVKJcnNDT/xOX1px9k/scn4Ya4NtonV6PWg= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.20.10/go.mod h1:hYMrp35CMcqnG1/+ZuaqOCl8YoGdb0+OfB2o/CbT7AU= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.8 h1:VlCuJtG4WFXaYWqqX/FK6L+yaS8hRJNA9Q3c0Vrv018= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.8/go.mod h1:n46CP0fdiMHscrLc9E4E/AW90LxtoD8KAs8GBOlh1ZU= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.10 h1:ZH680e/x/CCEZuumTWovuPFKvHjxFe6FXOjD7JOYr7Y= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.10/go.mod h1:gNOb1nyhDzbyNir5SOA+O502Gwy8HRLCZZiWF856+hw= +github.com/aws/aws-sdk-go-v2/service/appflow v1.41.10 h1:ozylppjAYagJKcnCEQL8pKPT2b4B0IeeOwCYy/ZMTO0= +github.com/aws/aws-sdk-go-v2/service/appflow v1.41.10/go.mod h1:MeLW0NK8MPEUQm7XnZniE5rQRLiGKbu49kHWWdd5lzI= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.10 h1:tCGbQBGGMcgHZmSLcRI4lvU/y3l36z1GHWd8w9Wl7uY= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.10/go.mod h1:DItbH9nkfmNQJKfARIjF8kktLUOv0lQ8oLeCoHX6P9Q= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.10 h1:ry4D6RPuF6FrVDaFaKgwkLYV5BrJE/rt3m6K6FQYZqw= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.27.10/go.mod h1:0pzgHdeoNmeBekRPJl+DRXNJD6D9FqTcD+tFkK81NRg= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.24.10 h1:5XwvSPLjQleCuojVnUqMqYiD7UHfrc29GOZmpj/bB0c= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.24.10/go.mod h1:Xrzju78vcomnDMXDJ9T6qWk6wHJ6HgGUQ4Fh9reSFL0= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.10 h1:wGqe+j9Ab0kSbrSTI0AlLbd1xMp8vj916/pAAe2F48I= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.10/go.mod h1:QqiGYjaeD3O+DGHeij4FZgMEW+pzqJUCQBbcseLQeJU= +github.com/aws/aws-sdk-go-v2/service/appstream v1.34.10 h1:JhIT4EGxtjpmIC9l9iLWGw0j8FZezbsqADa6XwkD870= +github.com/aws/aws-sdk-go-v2/service/appstream v1.34.10/go.mod h1:stS2ZSwmXOl+IeWEQWFyo8++JVSuKwuJpMF+EJTNLco= +github.com/aws/aws-sdk-go-v2/service/athena v1.41.2 h1:PiTlzkJrnYGHucoQQ8zDvgf/vKDgDps2FVr3GIWIWdE= +github.com/aws/aws-sdk-go-v2/service/athena v1.41.2/go.mod h1:XCkSMZRqquO7222ELibKBj+bDjg9QeS2wkVKcW7z2Mk= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.33.0 h1:vrvI5gUkDC9s2ogMPTgpLaAca3V49TMi5JkopstiOkA= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.33.0/go.mod h1:w6hDogXBS5N3C/OsuPFbmjzBH5B/MHnZkAsO5aerB6k= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11 h1:n0OjQw2HMbBr1g2M3XzzNTV8srYSoLkYgV48jiLkqbQ= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11/go.mod h1:qaQkZEptpHa0HhooCCONUjxvYbkgHtDuG/cCDvJt6UE= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11 h1:EphDT9zNEntQAikIWgSm368R6CP403jtG+f7k9xrtLk= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11/go.mod h1:9nh1OAv8xttmIE3AJ2hWAROcSdsrPMyHE+4tLW7BO90= +github.com/aws/aws-sdk-go-v2/service/batch v1.38.1 h1:AJUFYzHn6B6vYa3/MHZkdoAx+0QExCKXiO7YQSIsMN0= +github.com/aws/aws-sdk-go-v2/service/batch v1.38.1/go.mod h1:3EYTC8QgdDTgwytlDYvWUvSTgmyQ/4V5rCJlma5ZTvk= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.10 h1:oBaVBnBvkDh/7gNz7Fs6EbrVdMMfnysCoach9u9B0zQ= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.10/go.mod h1:ukyl81iTQhkgiZydbzFTdh6ddHza0HQO/vffH37X5GQ= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.8 h1:xYOVGI6TC1gfli10NShlRsd80pe1Fp/t+LXJNIshihI= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.8/go.mod h1:jlgZZlnucnhTwwkt/MLIYT9GRq+hgjkkaLNwWaqp7lk= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.2 h1:5mpsZ7TDvTw1TpT7DnSQTUDMluVPZdccKzhXGThQdho= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.12.2/go.mod h1:sR0KPW2UZmFP1A9xAIO9lQIwh/uzmGy9hTenzuyems0= +github.com/aws/aws-sdk-go-v2/service/budgets v1.23.6 h1:2NdUhw2XHwuT2sK1849T4FEl3dNB6mebOWYaQV/T++4= +github.com/aws/aws-sdk-go-v2/service/budgets v1.23.6/go.mod h1:X69Kb7PDBlJCYyAh1nUS5oEjLplyvIxxTOmEOXVZ7uI= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.3 h1:MU/H6Bopqtfu7SOrVy1fZ/eZzX1gKKHqXIZAerKxomU= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.2.3/go.mod h1:Nup6J+0ugC1ddxf04M4e+Tl8KStEJ2m8DIuwIaFwqBc= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.11 h1:QWZ/DP2bVhPMKHfeEI6sZ7QOxCXpW36HavOqKCo2wTg= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.11/go.mod h1:pQZUK8Lm31nCPFLsDnZUDvmRxw/GGLqF7GtZvEZPB3A= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.6 h1:u4fcjpNEk1X0K2x7BvmssdWgavB65KaeU+t3Qi3juUc= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.15.6/go.mod h1:Wh1ryEf52xU0QD97S9+IGGk8Rv8z0zNmMsXyu0ADTmM= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.6 h1:NxemArZLwYuKFSSbbD9tIci6qVvCQtJcEZc2jg/Nc08= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.12.6/go.mod h1:eNWgs4jaUQhfmFU6kail21dJ+zookZyxmQReFajmn7w= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.11 h1:tEWBfvLgInrnrNPIN1dHe5T4o6t7tPrh6wMGUaBA1S8= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.24.11/go.mod h1:HApCCrEvcY5kj+d0S/a7bjcn5XoD6JYKHGrReD+R4E4= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.10 h1:D8E8QEHZ/2yt7GEOdlsQMypCNYs6RoQLlV2UBDbBWV8= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.18.10/go.mod h1:lQc/tta6L/lJIOJEd+coKVFi5qum1oNe/8EXBNtK68I= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.3 h1:HlsyxSED4xEtAq7WsFh7oMuBg2OnK+Q2thz0MQR5uAY= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.51.3/go.mod h1:KiLdmslIONL5WXMrelwfAzisbZ5UckYT9FGtZJASKnk= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.6 h1:dYxK3oAOXbryNOs4qnWugEe6oWh50PWLPe/Y1CoJGzU= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.36.6/go.mod h1:tt1D2vhp2ZJbQ875VVxsXgx8z2OWaD4kgkSNqQd0EOc= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.10 h1:7aB96DEtCf33kX1i5zXE30UZNStVz6EuRk23e1gGfkY= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.4.10/go.mod h1:wt0o+YJBTQocmC/8rixGl9Ovddw5mfz0IghtpvS3sRw= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.10 h1:Olk2n5NKBCzkRCeQILoQ3B0QSBr46u0WvnjoohW8TXI= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.21.10/go.mod h1:x2vWbMhG6oBV4SZ51ew4X0Wm8dig5d4zM5Z9W8HOCEc= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.10 h1:x2Z2nDm6Egfu9/VIHRWsHj9aeQe/XAc2Ox3uId/4/HU= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.22.10/go.mod h1:kZHeNQxC4Kynj/C/FN9L6I7UloX3l0geJrx66diSNq0= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.2 h1:oUpoMnt8H30Th/P+goSYB57aaIMHgO0ri0Bs/zFDo30= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.40.2/go.mod h1:NlPpu+9PsQp311DfPxg6gvE0NW2E4xdVSWZmu6pv1dc= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.6 h1:UVjxYe8VGpwXYcmBcciBHlQrNssdEvntXCPWmnRR15U= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.38.6/go.mod h1:4V6VDA0kZavRn71+sLpVna75oobnlG+gwtnNcBwZhu4= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.7 h1:kG3A4w9GMub28Cn9k0M5c0F1wQLbTCHMvsb9FlUXGu0= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.35.7/go.mod h1:Ibm/16D/pKg0k9InRCkG6DATLfHGMRWJ0QVS06ppVjs= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.6 h1:7h/vvPE3FmutPx1hz9ZiUWbIutlBnYe9cpnOvapV++s= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.27.6/go.mod h1:QFlahZ+Y+RempIF6zMcl/G9/r026ERriqikzRZjDI10= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.3 h1:M9D+qSdebooflTy5FZKjjc0ScIu4rY8wft4pProSOfo= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.37.3/go.mod h1:oLXvRVcYUh9Jct6B4yBtsOrj2FECvBXQcTMnpHZrUl4= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.7 h1:1ENRDfamQrcHJLuSRBuNoiSjMpmGHMXY944F/XN4wII= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.13.7/go.mod h1:JWrdgdMeoK2tKjF4HJ6YX9zA+7Ibnrs3UDjhAjAUQSg= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.10 h1:vlf+RZWguYZJzbC95Zoddg3elMg3ZmH8nSip9LF4TkY= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.22.10/go.mod h1:jN+rcF5OPMwDpAJ/uK16MAUis/ByjN1YB/fmPISRZ3U= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.10 h1:Luq+/0wysA7vYfrgp+z6K1sbSMvAGsM8lyfD+Ps/q3k= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.25.10/go.mod h1:Z/PUeQGN2+03OeszXPaNB1VPyDcPeaYlqVfV/pfpt4s= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.10 h1:ct/fxqFdGYXzIlX0p8mD046Mq4P0w5gckhZ7agfdQ/w= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.20.10/go.mod h1:7vAwI4YVdWl8cB+bmtoxL6UaJ/hsK8L5YJwYYDlN4Vc= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.10 h1:Za3irwaGoBfCKXJqeB9NjBlVu60a9FPk8aGI7c8KlsA= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.25.10/go.mod h1:Z+hqC2q0pc/cjVHEN/OGEQOiyIHHlHqajV6agFDWxAA= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.28.0 h1:DPb5NN5t7oG01Dskb1qaURIAMA6GG7Y7OuVJDZZnLHI= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.28.0/go.mod h1:wiyjnfFARpwbUaFukzDE/vFlIsT+18D34fR1jfZhLTk= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.8 h1:J6ToNokSFf2TooLPCbu0gE8pxNm2eCx1KPeiPQttI/o= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.25.8/go.mod h1:AbHoQZ/Q3D7EuTv0s9G8Hq2MnLPuKh7CtTBZpQeZJOA= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.10 h1:FRNxZelyamjes/KzIx34Gf3MDJQhrQVRPDeXdl4Vmno= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.22.10/go.mod h1:5O6onn9kBfuiAmKoQFRlwzyLtGL7esOY785J2RtporE= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.13 h1:pp2Id7OxLkuBt/RwxTljUnrZI/0bGPwvew1qiqRK06k= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.23.13/go.mod h1:hYHhbLzJbPEqtn5AFIX3gxUAVxjZiIX/k0qkrtYPMAE= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.10 h1:V4TT4lZvrK/+FWiauEzKhzkmcOihlWhLI99ok6DC2s4= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.31.10/go.mod h1:NMZf+QBFmS1wKKZe2usxSi2AQ/CMqauSFAawT8bWb9g= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.7 h1:j2o7wDgqlk0o1kYnnJAmfvRA7ZB8CfQv4bUBFe/0vc0= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.34.7/go.mod h1:a/820gyN3ykj8uh/a+W6QZtq7shWsI/BeYHsRtoQyxw= +github.com/aws/aws-sdk-go-v2/service/configservice v1.46.11 h1:oEpDPoRfF7H8kuRT3LiQ7cfXVAgvTSIcxkxxTllNpvQ= +github.com/aws/aws-sdk-go-v2/service/configservice v1.46.11/go.mod h1:9iyVzn5BgTmy78KTlYJPMqP9ZPm6ripPx9DlM0f3PDY= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.6 h1:xyRQg7ofUyvUvKTcFIoIkZjDnPyk9attgie20xf1TvA= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.17.6/go.mod h1:bCdstM5DmKcnyJ4WtXtuZ2pGW5Ysgj+jQgjcwI8gyFk= +github.com/aws/aws-sdk-go-v2/service/controltower v1.14.3 h1:5TQoE8Jqa1faLxxF3JEjrLnogd7yuXg/OQh87145qPc= +github.com/aws/aws-sdk-go-v2/service/controltower v1.14.3/go.mod h1:SRnSiyiSHUoo57mdNF8NwLhakUGYbD47FVa5nOi3QM0= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.10 h1:2v7SRmVjQkKUz/+Iz1o4CydiXYZ3YRnIT2otTXTQzAs= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.10/go.mod h1:6z5YYMxC98CbbGVnl4ZTSkKQ8doQGgG+vrMxgjepdHw= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.6 h1:QmRZhtv8MJjzwBvtYcNygr2qEy3+efdW9VPNVBdRtyI= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.6/go.mod h1:Hw7bdrxR6Whnc1Gm/dL+3O47yvxv6fq691QDuYP4CRk= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.10 h1:Dureguz7Rt4oCM6wjJ+8wnHVxzaMxE1yXoyx0dl6L40= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.10/go.mod h1:xHvn/2S7UoUmuCmhOjFhxUJvVIYcFveju/wDRTJLUGo= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.10 h1:ihZtKZKPLNUFBzvRoZ0kXNdO3scdNwmLrZlNDCkYIj0= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.10/go.mod h1:/9TqI2Eb2CsFDP+NT6364fdmhy6/ENIRuOnyVInI8tI= +github.com/aws/aws-sdk-go-v2/service/datasync v1.38.4 h1:XPbgYirjL7lgxww/Giiz5+sxvR+PsrUi7hEd0G2O7Tk= +github.com/aws/aws-sdk-go-v2/service/datasync v1.38.4/go.mod h1:rKicbpvp17KIjesRGNiZTrbKVPkcUvmgsHro0kD2xxw= +github.com/aws/aws-sdk-go-v2/service/datazone v1.8.6 h1:+HLFrID7P2vMu4LDXQ3E5O0r2hlz6CpdSD1Lw/3EBpE= +github.com/aws/aws-sdk-go-v2/service/datazone v1.8.6/go.mod h1:qPKGqWEw4jbUCQbDg05JUtAct5X3N3tEfNF1JUPSqYY= +github.com/aws/aws-sdk-go-v2/service/dax v1.19.10 h1:0HyYc5poHunpMVyLao0aFUPx1T6S7OoD42T5/BanD6I= +github.com/aws/aws-sdk-go-v2/service/dax v1.19.10/go.mod h1:e28ilym+zzgzWaINgcaGR6xhZDk/JD6YzhNlOCLvYwg= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.10 h1:xMDzASghupXMJCyD08fHbGzT0lXYghMvbGGtNcgWc2o= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.22.10/go.mod h1:2dpVfQeot1pkyC3nlxLa/Re+Cj3+nBkyTmLV/QDQSkE= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.10 h1:uvlI0w0PGHmHMEjvEfUyBWpR9xdabJoPSjX1mps3Z9M= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.10/go.mod h1:jORIT/Q3NE4NFozKMvf5WUH0agl9oyB0w8nundUs5x0= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.10 h1:z3dYRIakCsFQtjjR7nUYSHnzBPnSPdUYH22xt3EFUtA= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.10/go.mod h1:/QLtpNRcVdFov0Lg8hwzryhLzdoLHS6pdsy9nT36oOo= +github.com/aws/aws-sdk-go-v2/service/dlm v1.24.10 h1:8ON2Utun4Q4FW2K6fI7EunVNiNipDQTZHd7VtwifGyw= +github.com/aws/aws-sdk-go-v2/service/dlm v1.24.10/go.mod h1:U24MUfNJt2URjXoFLu2NMPKPDgRUt7ZiAiYZ2jApx8Y= +github.com/aws/aws-sdk-go-v2/service/docdb v1.34.7 h1:1foSApaBUak26Y9xinJKRuf+On2wKQpfCdCeH7BIGpc= +github.com/aws/aws-sdk-go-v2/service/docdb v1.34.7/go.mod h1:2hCT2jx7fl7DyrY0oZjO3OOK7h+/SCvLUWnkU7zUm1A= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.9 h1:W4e41cUvIN/2f9sAhmDMdL5uqQo7V8nofT+TxdjjXhE= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.9/go.mod h1:xvM7Frdhg94+HGSNoOU3dj9s/YeB/e+AgUgG+E44wqc= +github.com/aws/aws-sdk-go-v2/service/drs v1.26.6 h1:MdrimlaasKFQNc5R4P7KPHs88oI/S8s/DqeW/46qkR4= +github.com/aws/aws-sdk-go-v2/service/drs v1.26.6/go.mod h1:SOC8l4nWwE5t4tvgiXQdPkcMye8creUQA/dOr68pWaY= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.8 h1:yOosUCdI/P+gfBd8uXk6lvZmrp7z2Xs8s1caIDP33lo= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.32.8/go.mod h1:4sYs0Krug9vn4cfDly4ExdbXJRqqZZBVDJNtBHGxCpQ= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.164.0 h1:kN8Jd9H1LD/zlZEaoLpHJjsaKQjzYA1TgzlCB12BCw8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.164.0/go.mod h1:gYk1NtyvkH1SxPcndDtfro3lwbiE5t0tW4eRki5YnOQ= +github.com/aws/aws-sdk-go-v2/service/ecr v1.28.5 h1:dvvTFXpWSv9+8lTNPl1EPNZL6BCUV6MgVckEMvXaOgk= +github.com/aws/aws-sdk-go-v2/service/ecr v1.28.5/go.mod h1:Ogt6AOZ/sPBlJZpVFJgOK+jGGREuo8DMjNg+O/7gpjI= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.10 h1:dNXYTooy/H6NSIJ/zZqAVk/Ri4G4mqEWoz3btXhqI7E= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.10/go.mod h1:6JWi6AO/j/YgTOdu+XM2fRfoZTmferahXDwmravqSwQ= +github.com/aws/aws-sdk-go-v2/service/ecs v1.42.0 h1:FvAROmrc7vjL5I90Ag4JR0/7NRnXYU9OpPOLUSzxnos= +github.com/aws/aws-sdk-go-v2/service/ecs v1.42.0/go.mod h1:qxSuZNUGNmgr4Yt6rK2n8F9w7pWn5eOqo8C+NmF9rmg= +github.com/aws/aws-sdk-go-v2/service/eks v1.43.1 h1:RfpqqfRmDw4RMvNHmPesDBuMeaVDQhWgepAn6tP0aYI= +github.com/aws/aws-sdk-go-v2/service/eks v1.43.1/go.mod h1:oxKaTqwF6pHUbgA6/aOwVEZFK+Okv4tZMdb9m6AHjlg= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.8 h1:y8kZastREinFhp2jcLjh+TeDQY4WpQ5qlB55XoDOj5o= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.38.8/go.mod h1:kg37oVoLxcdwfXXAsboA9cj6IfgFoc0PWwltp9xy/rY= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.10 h1:6MoPaz2J4C47Gieucud6SFEqhX4yZ9+hKQZzZvLbSy8= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.10/go.mod h1:uW7bugGF+vIsQdE22S+akMpsB+eZsSjJ6Kv/1lKQT50= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.3 h1:Avh8YS+sgb2OKRht0wdNwY8tqtsCzVrmc8dG8Wfy9LI= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.31.3/go.mod h1:HbtHaw/hnNPaiqcyYnheILVyn81wOZiX9n2gYF5tPmM= +github.com/aws/aws-sdk-go-v2/service/emr v1.39.11 h1:PLsio+PhcBMUVjRypTYnZUAZ3qPYVWKmIgp3B8ZZxRM= +github.com/aws/aws-sdk-go-v2/service/emr v1.39.11/go.mod h1:c4P6499AxhWdFqbnZ25WX77JfVEWFHWqWj9wITeFqlI= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.2 h1:kl5gXTCoi2dEUplPE+p+dpdD/BiOWsp1zKNfd3Onhn4= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.21.2/go.mod h1:Z2lS6azbbFQslXAH586gQoU2Lup1IviscRXROJMeL6k= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.5 h1:2Qpq1XOClfrQglKh5SgQMSGMD0KLII9pbAw8FRgK/Fs= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.31.5/go.mod h1:BNzkR8iCd5MUGeo3oMLx8wo+S4EtAsIX2XnAuSdBX/0= +github.com/aws/aws-sdk-go-v2/service/evidently v1.19.10 h1:kRXBNhlhmAihqmXWQD3WCzlq69G+4kaaymDjDSIWQMU= +github.com/aws/aws-sdk-go-v2/service/evidently v1.19.10/go.mod h1:xmn6CgBAvNyXpku7wbOV5BXF/tN/Q0pKF3n9P/Nf5QA= +github.com/aws/aws-sdk-go-v2/service/finspace v1.24.7 h1:dlGh182hZoJIFxlwNjRTUJUQkKvRLoUOiDyGkc6F7No= +github.com/aws/aws-sdk-go-v2/service/finspace v1.24.7/go.mod h1:XPu6lBGrnwZyH2qn5Twk1x8IVYzRWQvXzQx/uRChk+s= +github.com/aws/aws-sdk-go-v2/service/firehose v1.29.1 h1:EULt+Eb7La2to3yiwC/m3Sn2+qEjaFN7IOQxjFk2290= +github.com/aws/aws-sdk-go-v2/service/firehose v1.29.1/go.mod h1:ahhanMBeTZy6yRPzKVybiothdO77NvOCyZMpEMfj2ow= +github.com/aws/aws-sdk-go-v2/service/fis v1.24.8 h1:ajYYW5orv4QkEm9Hr2elpJ2OoTIlcLDa7q9nIEMgXGY= +github.com/aws/aws-sdk-go-v2/service/fis v1.24.8/go.mod h1:0GkfIF1n+BIh/xeWbpWoWlD+Mhk7haXQNH11G7BQTGM= +github.com/aws/aws-sdk-go-v2/service/fms v1.33.7 h1:SMf+LPFIiq1tfNo0rhV6YrlgnL7H6w7CSgMuJwqClEQ= +github.com/aws/aws-sdk-go-v2/service/fms v1.33.7/go.mod h1:NxMT3if6WnGIRRqEn74imFVzImksNcVl+NHKvlBvdT0= +github.com/aws/aws-sdk-go-v2/service/glacier v1.22.10 h1:E19vpAzC5QDng2IlfM6aNMBljv1kFx9O7iydbvMUk14= +github.com/aws/aws-sdk-go-v2/service/glacier v1.22.10/go.mod h1:14pqq/Xg2S/hlu9q67ePsGw0OB6SJppEqDJwxLEivvI= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.1 h1:bDVYY5tSzBnLAcdY/9nZd1gM4O+a8IVk2tUfcS0gJ1A= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.24.1/go.mod h1:ct31bulbJED7Z4Vdtr+Jtvt6bPRB5PdeH96NNm4wkOc= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.6 h1:2GSPMCtOlEVwltVhqUT1x6CFKpFi/5D2yFhd/PqaSic= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.6/go.mod h1:gFFqhE7646BA034Im+oTpkfnefC1AR/E4ZUTs/sV7lc= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.43.0 h1:Jz/FJc/n27a9j1du1JxtBaMb/Wg/dSkWPbrfn2Y7CT4= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.43.0/go.mod h1:tNfynl7aA5gEHA7yJZiEICHYMkITKSc0Z+vic+YpW0M= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.6 h1:AlmacWcocqb7vowwTlYtVR9AbYWW4vFExIoD7+kFR4g= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.6/go.mod h1:jp0Co1hHoXMEQTzyRICGBHvN8owh1QISx56d79dulFU= +github.com/aws/aws-sdk-go-v2/service/iam v1.32.6 h1:NRlKKQ/BPHPqsuN2Hy6v4WA8/bsRTP0j8/BFPBC5+SU= +github.com/aws/aws-sdk-go-v2/service/iam v1.32.6/go.mod h1:S+s7/UH0UIqRX4GyXvZihMJNR9nqlB0kxO4NKSFeRak= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.12 h1:UPOu53s56w1lIOKMaVfvOF4/4Ku3j5ZwKc9gWLkLUEM= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.23.12/go.mod h1:zx7M4pSjEGDxTwwREKVb0apz/2amwWoiewD+PztFvps= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.6 h1:uNhB5VBE/O72F3Z7sg86R6CytbceBm32gfjO6PXfILw= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.26.6/go.mod h1:h+gR0kPQnx2Tm5YPrYhb3W8ufqOTM/jlbHS/4WfUQgo= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10 h1:pkYC5zTOSPXEYJj56b2SOik9AL432i5MT1YVTQbKOK0= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10/go.mod h1:/WNsBOlKWZCG3PMh2aSp8vkyyT/clpMZqOtrnIKqGfk= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.9 h1:497Dd5t4c87GRuKTSNbkVDksiDVbksjfrTyUy1MzR00= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.9/go.mod h1:5OLOnU8LbdA3RXpLmE5AlLnOPb7nfJ2/kNtJBSNdyXM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10 h1:7kZqP7akv0enu6ykJhb9OYlw16oOrSy+Epus8o/VqMY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10/go.mod h1:gYVF3nM1ApfTRDj9pvdhootBb8WbiIejuqn4w8ruMes= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8 h1:iQNXVs1vtaq+y9M90M4ZIVNORje0qXTscqHLqoOnFS0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8/go.mod h1:yUQPRlWqGG0lfNsmjbRWKVwgilfBtZTOFSLEYALlAig= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.5 h1:85EfebIfxSPZ5RpB8I2+HPuFc/LzrBkpkRpM6Akpjnc= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.5/go.mod h1:/n8kxUaFdybhn2PBat7H84g70rFFstTilsoqMEdE35I= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.10 h1:UMiWmMEdLSIIrf21celRIIqe4WJMLkm9uuALljV8amw= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.10/go.mod h1:y+wpKgKTnYMRvRcHjzHDJ1D8OliunRaXZSkyrhLWBpM= -github.com/aws/aws-sdk-go-v2/service/kafka v1.33.1 h1:R29+VumDGtCIw7/pLG9EWiCLT/rXYSM8WuC3PaYEJq0= -github.com/aws/aws-sdk-go-v2/service/kafka v1.33.1/go.mod h1:WoYXT9nv0PosD53azp38FC8tzLZvXfIeoJueb/RoKXo= -github.com/aws/aws-sdk-go-v2/service/kendra v1.50.6 h1:0Ly6pDpHSzbB6qcgbLv1x6GjdPH4R6NWouPqvUS6p1o= -github.com/aws/aws-sdk-go-v2/service/kendra v1.50.6/go.mod h1:sYz8zCK/CLUwKx7JVMp11/s+9SB86+nDYvCB0qqpTvQ= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.9 h1:EzA/tcoScZeu4qSdNY8OgZa2/67Nq0JLMCRWv40w/Ac= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.9/go.mod h1:lBe7NpKoRO5WBXCrRImAp1EbL+VyuugUtwAYirStxmQ= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.9 h1:fAlpf552tr0b6bTvCacWje8QVZegGWKd/uYZuoyMKew= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.9/go.mod h1:DUtS2PcuynMnTZEtNAc3Wohb2fOazftHiqnlwCACsaY= -github.com/aws/aws-sdk-go-v2/service/kms v1.32.2 h1:WuwRxTSPc+E4dwDRmxh4TILJsnYoqm41KTb11pRkzBA= -github.com/aws/aws-sdk-go-v2/service/kms v1.32.2/go.mod h1:qEy625xFxrw6hA+eOAD030wmLERPa7LNCArh+gAC+8o= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.2 h1:hHrFQGWPR6omL1B1n0s3BWULTLk5JeLOVlU2oLs9wMw= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.2/go.mod h1:r0WIO2TxEuCnDKEqhUXlLVgir+3sJHmC2vRHpkMpJcI= -github.com/aws/aws-sdk-go-v2/service/lambda v1.54.5 h1:vNnZuseyIHZG0pspa1vY5euPqtE9oSZKOyEhtCrMrW8= -github.com/aws/aws-sdk-go-v2/service/lambda v1.54.5/go.mod h1:37TBYZp9ogMiYMVpn6YvsuY0qxnJxT289/c9KfbsH9g= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.1 h1:+GJV1uurWnJDx9oQ3AAgJXtxmIEbQH1g0LkvWoDj+jU= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.1/go.mod h1:xvqFkzabyUyKXdTUo78kTqPBtrY+1H6JnhA/erG0sjs= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.9 h1:A9WP4GeQkPZe8kFQ/Ir/Mt+a7Wywepa4NkIoeFgRk80= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.9/go.mod h1:xa+Nx2HjPgfqrAz85nAKU9xt7T5kWZTj8c4GbySsRfY= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.2 h1:4w4lsdD8PTa5JuAmOodlcJUh79Fexq/ISWAFjRePSKU= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.2/go.mod h1:UdEU45WZi2j7BCKUT++AUSUgl/gSuyoVzCowpbdRbwI= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.9 h1:qldenTU5p1oxmAoBnUK6vw8EpjerzccdM+fuyAyj7Uw= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.9/go.mod h1:EoIy5oyAhxYXDEKAlD08Y4YqQVuJ5zMoI41nNN1PaEw= -github.com/aws/aws-sdk-go-v2/service/m2 v1.13.5 h1:UoVLG03hBF+niUXLv1KJOi74qg7N9/08WdWJmnVcYgg= -github.com/aws/aws-sdk-go-v2/service/m2 v1.13.5/go.mod h1:0AeauwISnRKFZuetY669CXyou33+YdoXDxpYbKjxESI= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.9 h1:QZ1lBSqGp54Tc6luLfIax8Ky34A3KiIQLy83QG3tCag= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.9/go.mod h1:IRxDMhbLmYin9VI7pO+bJtTOaMWMkG1TBFwgFNJ9nL4= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.6 h1:n4OkQVvZk1v+XgW2fykGiAd3xRRbvVLqTSBS2mT+IIA= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.6/go.mod h1:wS4atJWTldEYCQD4Jt04JTkVgieBBOXmj5B5+G5JV48= -github.com/aws/aws-sdk-go-v2/service/medialive v1.52.5 h1:p6CdEbxiy6bFmpvZkCqXUfmUzN3kGwWOUkJwhiOlgvs= -github.com/aws/aws-sdk-go-v2/service/medialive v1.52.5/go.mod h1:uZ4AbsI6L/yT9nVEHIpZy0wUIgS5lOqT7442T0EcGZ4= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.10 h1:SSr6PQYnnPmQw6bXw9XdWrb4R1ipJe50ggApHKlVxSM= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.10/go.mod h1:vTPkPUTiEQos6xA6BsCG2z9t3GhiFbKEscfG9SZllkw= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.5 h1:aXhO7+WPthDjRHQQj53dp2z3r4MLNOG4hatbRUrhjlM= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.5/go.mod h1:I0WEAifeVQQI6ehIW2k/BlUbAGkB0kD0CCm+K3z4U6Y= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.9 h1:ogZjlfJ8a+TUkTgKXCFDecgAYxrYkgavDYgry7gSHiA= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.9/go.mod h1:Ay5xEiqwxbmTR+TCU/HkmyU9rqo/VC+vzdXsos9rM+o= -github.com/aws/aws-sdk-go-v2/service/mq v1.22.9 h1:gld+9XYCvWDBao1QFUtZ1gzB8S50AZ/GLGI1Zq5s6L0= -github.com/aws/aws-sdk-go-v2/service/mq v1.22.9/go.mod h1:lNA1aI99R1/cLApvhNQUZLXxp8034JXyjU1v0s28cQM= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.3 h1:3Kyd3mc7BStsqHIIftb09iXYK7AV+6meSSEsInj2a3A= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.3/go.mod h1:2YDe9txlzAdev5lNdZjNHIcR0H/F5dHDSsdJjd8dQ/g= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.6 h1:AwkCyb2nhgZQq2SHb44q4ys3RNL9nPdWHPBeDoD12YI= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.6/go.mod h1:jTZ4DvXlknywRhiIhOqH5YtLn4VwlbFbgKnU8pF+yx0= -github.com/aws/aws-sdk-go-v2/service/oam v1.11.5 h1:1tBA9vcJw9WtlmxfL5pi3SO+EUiHV8rKX5PESdx9Gis= -github.com/aws/aws-sdk-go-v2/service/oam v1.11.5/go.mod h1:tZnCcCh1zUAPK23x00Nv/u6/MYnp6YoZw3B2vsqCvdg= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.12 h1:IAD9XLvs0vdkNiTcQskyefrPNSR99q0Q9FqKv5pEpgg= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.12/go.mod h1:c2ke55hcLmZildKwNeRQcRnyNKHXxq04UkhVQld6egg= -github.com/aws/aws-sdk-go-v2/service/organizations v1.27.8 h1:ssPBOuPEFRf0wtlmscVbbNYYa7MP05XqaCCpoL9FLxo= -github.com/aws/aws-sdk-go-v2/service/organizations v1.27.8/go.mod h1:OdGdDqdyX44kQ4P0c3YnUBIaXbGU8ErpgGUIHqra4YY= -github.com/aws/aws-sdk-go-v2/service/osis v1.9.2 h1:3MPPpp5Ig2cyLwliuweCe7+uUJaeeoxNopXRhIeSsck= -github.com/aws/aws-sdk-go-v2/service/osis v1.9.2/go.mod h1:6pPuxTa+1aXsMthB/+MkkFqQigD4k0Fs1kt7zO40tSc= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.5 h1:IiIuRxBHL2t88nDI+yh5k+ZPRe5Gzl2aqsk7YIj4x9A= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.5/go.mod h1:deugoEnpXhkVl4Ux59nK/b//W2SYUda8ljidwJJwhcc= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.9 h1:QPql+y5eUPyl1zwNzATM4TW6dbCu6WXRPZTwi3kJNJI= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.9/go.mod h1:o0HMAgq53gq6tTads00hLRkmMOGoKCLHFBso4h0tYgQ= -github.com/aws/aws-sdk-go-v2/service/pipes v1.12.0 h1:MCmalsqe4G21n+ooxQfyo6ynCoMa3SQKvUgl5k8L06c= -github.com/aws/aws-sdk-go-v2/service/pipes v1.12.0/go.mod h1:F1oziwLahHIwsEHNgfAyTyDUEk3dSZAwtROItYF57rI= -github.com/aws/aws-sdk-go-v2/service/polly v1.40.4 h1:MdwzWOjcnpC/HR5KmQ3erH8pjOmpfpLZrFffCJsD2mo= -github.com/aws/aws-sdk-go-v2/service/polly v1.40.4/go.mod h1:PkYl8zbU1ejBMEjhVq4BspshPoZxGs3iWBgyY6tC5lE= -github.com/aws/aws-sdk-go-v2/service/pricing v1.28.6 h1:Uy0mLx8tU+pMGxpupTw32FWDq1gz3xzCmGeFC5Mvq8s= -github.com/aws/aws-sdk-go-v2/service/pricing v1.28.6/go.mod h1:s/G6iFuFsgUCJIJ37ySWQ5VNOAn29+c7eHHYWxYIb74= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.5 h1:wY6qfSN+cRTqLFXT03oYaPchUA3He6vFHxxFQ/kH8DQ= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.5/go.mod h1:GzTRF9Y4lbn9WAP6CTYRpvrOvUbH+I8Ldp7kREnO5ZU= -github.com/aws/aws-sdk-go-v2/service/qldb v1.21.9 h1:ZB+uZ+P7TBZbxCNKEiGRtdgiI67ZHI+PxqgOg+ZApWI= -github.com/aws/aws-sdk-go-v2/service/qldb v1.21.9/go.mod h1:MgTWXQt+8OF92k0vkz+XXT75x/k5Nrkkeh7X3LzvC9M= -github.com/aws/aws-sdk-go-v2/service/ram v1.25.9 h1:kwC7qVlk+TmtJjN6+7EUNTYadYWz1c5Q9b2Vwp2K7EA= -github.com/aws/aws-sdk-go-v2/service/ram v1.25.9/go.mod h1:5iM4c0g/cbcU8ggiEOGO2G5Lt9RgYTDzrwlJX9QgUyA= -github.com/aws/aws-sdk-go-v2/service/rbin v1.16.9 h1:ri7dGQymqVmJgZoUS7B6DVmJsvuP229MvV8vn0BasFg= -github.com/aws/aws-sdk-go-v2/service/rbin v1.16.9/go.mod h1:jkgY6w+/RUUITe2tbJXM88NUsmldDmWk8T5Svd2BtFg= -github.com/aws/aws-sdk-go-v2/service/rds v1.79.5 h1:vCMSFBiXtrr6fhNnGs1d2pw+/wJek0l2kZrS0cjtybs= -github.com/aws/aws-sdk-go-v2/service/rds v1.79.5/go.mod h1:esGFn2z+QNa/XcjHevnddtp3RiFQ9/pzHbjl0rgYqDE= -github.com/aws/aws-sdk-go-v2/service/redshift v1.44.5 h1:6We8HAXf96XNvFZBwMNwbngkfbBmsChtYhfEX1AoznM= -github.com/aws/aws-sdk-go-v2/service/redshift v1.44.5/go.mod h1:fy1q/fTBBHtQp4RIk6RNczpmBxaFDFbqkk4e/2pNlqs= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.9 h1:vc2DTUPVAF5SzxcFYYi4RnBPUGxg75lXK9+DV/h5fzo= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.9/go.mod h1:Ot8W+OBY5tfOKhD5OgesMj6zmKiNg9NGR49JBTTefB4= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.6 h1:BLzQg2fN7IgqFVnqWhFRQVRk4F2t+1tXmrXLvp3b4L4= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.6/go.mod h1:SgbGY4Vc1JLTl7caW9xPN5fijT2lSnrk8O9eVJNZs3c= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.5 h1:HdioYEr9M3/OLichl+Y9N3IjqtbblXXO2rQj+7zGoB8= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.5/go.mod h1:WRyV5OOYHXjHVXtvpU0ElHfWK6kKbusET3tRsrYLVO0= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.10 h1:1U18XgeFzg2w5bqJ7ejm3sLMMX/gunKc88okl0HTpMI= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.10/go.mod h1:NNAINz5C+m8r75ywsh+PDgnDpCWCJsrEJkyFKkcaE3g= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.5 h1:G9x3CYKfuP5/YEQBHYnMJqSbh9HL/jB+SgmZVcRpnEk= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.5/go.mod h1:BzKgMdkEW96Pr1IwoFqNgP1ACizIaHd5PUqHjGL/Clk= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.9 h1:R8XSqNex8P+4bwPF7XyY9nJvLst+rE5Lkligffp4STM= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.9/go.mod h1:FLJ8ToIvPGzG7Tq6iiTDpmVcZdBPLQI5VsoXiGOvypo= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.5 h1:V/aodNPZaEyjC5bOPuQ8vY7j65YvFwVlN39IwIl1Z9Q= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.5/go.mod h1:9nWj/jkFpjW4cRmb0r/CHNR61z1Dj0T5T9OW/1HzIj8= -github.com/aws/aws-sdk-go-v2/service/route53 v1.40.9 h1:vsr2H+csntN31+MflT2GIVguoRdi9fTO6waPU+QSFPM= -github.com/aws/aws-sdk-go-v2/service/route53 v1.40.9/go.mod h1:kf6UvOptzjYUR5IDuEZ4gVMmNdWsL+jdEdiKzkPZNPE= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.9 h1:XOVJB9woNbx9qH2Np+lpjaDOVwjBRxnlnxv4ltUAE9o= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.9/go.mod h1:MdiWkoSbcv50IGdaHC9nYcLL6GC9pYJFsrOybA0qjhg= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.6 h1:QFfTnmxuNj9paWYSbvfqU7vj1pEKXb0ZEjYQn3G6yko= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.6/go.mod h1:0xv+lDKL+fzQ9KcTJqd9KrJvqTLs7/DTzr3lwD1b6Tc= -github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0 h1:6kq0Xql9qiwNGL/Go87ZqR4otg9jnKs71OfWCVbPxLM= -github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0/go.mod h1:oSkRFuHVWmUY4Ssk16ErGzBqvYEbvORJFzFXzWhTB2s= -github.com/aws/aws-sdk-go-v2/service/s3control v1.44.12 h1:6F6JIv06AIJR7p+w9xjVYMVxkbNFBydg7eMcy/oP/r4= -github.com/aws/aws-sdk-go-v2/service/s3control v1.44.12/go.mod h1:vWJVDhTPJgkpHRjz/MMMVvqoAupZ1W9emLj5cfnkPzs= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.9 h1:NH6WgOHc0dQlnKWUqVxHsfNC/ZVce94GSSMLBYBb5Rg= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.9/go.mod h1:VHoM5NP6kQnC4az6zU5ES8quC+ze1RGyvLtPbRk23TI= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.29.2 h1:vnONgeMo5TuAtGjVNjieDyaI6tzMDNm0TuBgkKzqkX4= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.29.2/go.mod h1:OR529kEc7Ty9nsqvMuDBBHq5AZVih/MYd5/G9TcL5bQ= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.1 h1:Cvdok+6nG7oFCdi34QTfdy6OgFuNwOzR6sbqmTT3Kpg= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.1/go.mod h1:lFluoyoshhUB2MT9+aDw8AuRf4MmNDYbVxrMfyzcd3Y= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.13.8 h1:mG0xsLueSTX4cIi83FtnGBCpWuLXnTGV5PNt7Rx/1EE= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.13.8/go.mod h1:Muadzn7NMQDr7BCnqNpyb14cUS0BglI3JrfKNeyFa7k= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.9 h1:8BvtV1/fOVsSuFI5nBU0j1Sv3d3szlxA9gvPuUkK1lM= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.9/go.mod h1:wv3qWuYuXYZCX2TEFpqDAR83ImUYZTatxkgMgXCVDCU= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.9 h1:3o5zcwZYvte3CeaYpLaWafwCSkJpclPXI5KSH+lXB90= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.9/go.mod h1:QZpGkzlec0TPr8CA2Td5zRUJBC5+104ib0MusH5UVfI= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.29.5 h1:TRQLLU2t4ftJInFxdaJznmgxRoGc3MmucfQjOCQLoFg= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.29.5/go.mod h1:illLUYpxYsuNYYAmUXNRmrPENgDTEpRChpO7cnIPHrs= -github.com/aws/aws-sdk-go-v2/service/shield v1.25.9 h1:iE8ygwP6P1RrJFUXexGf4Ttxxw+HhSD3brAJnf6JqMI= -github.com/aws/aws-sdk-go-v2/service/shield v1.25.9/go.mod h1:QG2NbjQluhSR04Ds32/dWB7QDcWz+3iuvGQ3gO1NrjA= -github.com/aws/aws-sdk-go-v2/service/signer v1.22.12 h1:UuVx0XwRVrp5PKz0XerBTNjSu3Gr1MKWPcO0PgVrun0= -github.com/aws/aws-sdk-go-v2/service/signer v1.22.12/go.mod h1:U2zIF/gfvjpekxLIRNcCQ1hVQloFQ2+6+U1UWquKKws= -github.com/aws/aws-sdk-go-v2/service/sns v1.29.9 h1:qmf/3SierpSOCu6hB1AO01s1MWI+3QfrEQlde6XrMFU= -github.com/aws/aws-sdk-go-v2/service/sns v1.29.9/go.mod h1:fqNzmSY2wcX37R1TLczX+AESDN0lBv4Ejc5NvoDWX/k= -github.com/aws/aws-sdk-go-v2/service/sqs v1.32.4 h1:iOs0Z+IzkrPusuQgv9sOBhDIzwqv9Z+FanNOhlkDVdE= -github.com/aws/aws-sdk-go-v2/service/sqs v1.32.4/go.mod h1:rK0Bwsv9rJMM4TMHgXiVbYXUfzsfcvN+qJS3VITac5s= -github.com/aws/aws-sdk-go-v2/service/ssm v1.50.5 h1:k4IdBvCLRuKW2RyOMdeuNAIX2rRp682M0Y78TdwFY1Q= -github.com/aws/aws-sdk-go-v2/service/ssm v1.50.5/go.mod h1:zBEScRRmXJYBoXrmdPFUuU+KDrg3+M/91gqyG7Vf3JU= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.9 h1:IL5PsQi2DdMY0y9X7+NuUseyp+Sap8b6Bsmf2e5JPHQ= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.9/go.mod h1:eZrF09zmBnG1SLD5UwacU0YBuEZVnA3Pj8SEwReb6ac= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.9 h1:HxbGLrjoIUSNBpKyuklV5n4uDFOPCwZ6aCwWyqsqcto= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.9/go.mod h1:vDZ1TmzEFyMA9OWLoiCeme8DbgdMQWPowiACLdFpnK0= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.4 h1:You/vznGli+TDIFQOqsHGXMA+sqoFpUdJFm7hzpaNd4= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.4/go.mod h1:+R4ccIDXt23tz+0r13jhQjHBY20IRxQjUOA3KocRMXQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.10 h1:ItKVmFwbyb/ZnCWf+nu3XBVmUirpO9eGEQd7urnBA0s= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.10/go.mod h1:5XKooCTi9VB/xZmJDvh7uZ+v3uQ7QdX6diOyhvPA+/w= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.10 h1:ewJ4HxmJCEvj1hoqh1tfmCnS6T5gebyFosxTYU7QZb4= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.10/go.mod h1:70L2cr29MyJ5WaS6xyO0bfXLPweI/UH+crl3oK7YlCg= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4 h1:QMSCYDg3Iyls0KZc/dk3JtS2c1lFfqbmYO10qBPPkJk= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4/go.mod h1:MZ/PVYU/mRbmSF6WK3ybCYHjA2mig8utVokDEVLDgE0= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.11 h1:HYS0csS7UJxdYRoG+bGgUYrSwVnV3/ece/wHm90TApM= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.11/go.mod h1:QXnthRM35zI92048MMwfFChjFmoufTdhtHmouwNfhhU= -github.com/aws/aws-sdk-go-v2/service/swf v1.23.1 h1:+bMrBr9MkMR7sQQ/T21FodUjsB1vKOyDLo3u2MgtwwU= -github.com/aws/aws-sdk-go-v2/service/swf v1.23.1/go.mod h1:kzwdnvkra6Qyq2TgQ/7Q/OHo4IdIM151BDGHvQhojz8= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.9 h1:p1uPd+o1wGJpYnAEzEnreXtMOhgeFKdFnQLls1E2co0= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.9/go.mod h1:zencmu9FPb6meSHsu92x3URWsL9hQ/wfFPrJeQgvN1c= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.7 h1:5oXX0KAXq4TA/Lo3KA0Y9hr9DtVMI7uen/sjQWF3s58= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.7/go.mod h1:z+SUwvSl0nrioahnzM//6zZXh13hBFDSS4Fcs5mdeug= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.10 h1:16Igl21s0GExN6bAPjtLT8DqoNnUPY2kpZ1GZDEijUo= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.10/go.mod h1:KxuACXXhMjC1swG2dkAjlqMR4PkTykxD373by2oVhlE= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.5 h1:YaDmOyZofY5GWgT9gxNphui0RYRDiOy4TOx+tcESIeI= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.5/go.mod h1:Jpq1iVBw6CEjwFFSgDJGBI31MRJ5DTIDHVJhv17n9vo= -github.com/aws/aws-sdk-go-v2/service/transfer v1.48.2 h1:HJzx2oZhtlOnaR26Vb5q97UdAAXn6SwJzfqlv70tRz8= -github.com/aws/aws-sdk-go-v2/service/transfer v1.48.2/go.mod h1:tyXZ3PxsViPREITcg1BPwnRI8inOOk3FHtwj1jfBAX0= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.14.4 h1:5yPsNHtcI3185jZlIPGsowp2CrNpJ8xMyCkkpQuRxSo= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.14.4/go.mod h1:pZyatQ35/jfUHq/41SfoKSaMkgAeePqNq1uezJMMSTI= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.5 h1:HeIYOSalR9nB4R8DkKjgVGghOJ4oKzjX4f68vhZHbu4= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.5/go.mod h1:2ow7cCSfYs1y759REZl7zlwbGpGKfo5B4DyAMIBjlyI= -github.com/aws/aws-sdk-go-v2/service/waf v1.20.9 h1:5Y2yPlzL6GqM9gjY0EMi+lORXC+PHQvCibyGsPflHwU= -github.com/aws/aws-sdk-go-v2/service/waf v1.20.9/go.mod h1:k/V6ngGarlLnH14pLvkWM/7YGJQXrAHSxbYh9FD53kI= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.9 h1:KgHX+2rtn9kw2on2nly6Tz5iOtpH0ix/oPoYZzSysGQ= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.9/go.mod h1:oNK/5eBpQvBAOxdOMNxnTVEZA9IMQHRxFGn9Pz/bUFg= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.2 h1:OkfutaNXrZW/NgP5Mpb/ai2PcFvbn380dTq4Y4iRNnM= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.2/go.mod h1:UL7uHqGYsdzd2T3CFWrr9VTKMf4Q7w7GJSN+X8xiANo= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.5 h1:9h5YMf0RnHyalThh1i/8SxA25Vs8YQCkWKW+ukotgkY= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.5/go.mod h1:R1wgNN7pdlT1Nsrf9a34cfAtUNPV2fe5K/Jdd/NfQXw= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.5 h1:Xs+CTB6GgBtDBQm9rv7cUB9JvmukPxqj2F5UhsXeEeE= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.5/go.mod h1:SKORr/eYPO0xBY736ZlXQGM14CYqbZwwHxEZRZ4f47w= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.5 h1:zL4IawJJ/HrRHM812Lp0HG26MyUja57OXRJxYkYzbmY= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.5/go.mod h1:lpldi7dapK1dVegBTsiYJBwxDRDZu/4kq6Dx4qRnEkw= -github.com/aws/aws-sdk-go-v2/service/xray v1.25.9 h1:7xiZueIor9/8cQwns+aMAu54kg6AXd38SIUx+a60utE= -github.com/aws/aws-sdk-go-v2/service/xray v1.25.9/go.mod h1:x7G1O5/TJnU0dTHtfqDGhk56VFk6+a/VutVDgqWcet4= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.11 h1:4vt9Sspk59EZyHCAEMaktHKiq0C09noRTQorXD/qV+s= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.11/go.mod h1:5jHR79Tv+Ccq6rwYh+W7Nptmw++WiFafMfR42XhwNl8= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.10 h1:+ijk29Q2FlKCinEzG6GE3IcOyBsmPNUmFq/L82pSyhI= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.10/go.mod h1:D9WZXFWtJD76gmV2ZciWcY8BJBFdCblqdfF9OmkrwVU= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11 h1:o4T+fKxA3gTMcluBNZZXE9DNaMkJuUL1O3mffCUjoJo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11/go.mod h1:84oZdJ+VjuJKs9v1UTC9NaodRZRseOXCTgku+vQJWR8= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.9 h1:TE2i0A9ErH1YfRSvXfCr2SQwfnqsoJT9nPQ9kj0lkxM= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.9/go.mod h1:9TzXX3MehQNGPwCZ3ka4CpwQsoAMWSF48/b+De9rfVM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.6 h1:S+tywpOd723Gqg0xIg5QePGWKQ179kdj8yc0cI0ChI0= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.6/go.mod h1:xBJfeB8hPTEVyxGeBrZn9lO11UjFlC6yN8fm+LMuDl0= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.11 h1:EBpzcF6XrSgCUWvPSJBPxcRxgU0FbZya2KmHXnrXhOg= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.11/go.mod h1:EtWeluyFt+mbORnwybcy/0gmm3psrGPWUOZI4771q0A= +github.com/aws/aws-sdk-go-v2/service/kafka v1.33.2 h1:MP0DahXgJWKGv1/lFkWnO+Koj4fCVxe0Tcap6KlmpYw= +github.com/aws/aws-sdk-go-v2/service/kafka v1.33.2/go.mod h1:hxzW4JuArNI/W5i8scwr0BvYhJXhtntyMNSXnxJ4rcc= +github.com/aws/aws-sdk-go-v2/service/kendra v1.50.7 h1:aH+HH9kXs3AFj51H+NT4izexEDYULpoG4L+wKZ9SXAw= +github.com/aws/aws-sdk-go-v2/service/kendra v1.50.7/go.mod h1:VEnRGR182kFe23M6tA7B+3JN8bvtrDNkBLvlnTpKcbM= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.10 h1:aytBO6+Ex86UOstDfm4KxTD3sPFxdWcT9ImgbdPht4c= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.10.10/go.mod h1:p8edp/FOKMmGTWOSj4KWtum5Rgv9iE4p7cpdUoz0N+w= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.10 h1:lmp5qBDoJCLsPwKrYNe6zbHnNvW5jzz/xS+H0jkoSYg= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.27.10/go.mod h1:CUWfw8B25XToRN7+sg092F9Ywjvz0PT4veHXBQ2KE0A= +github.com/aws/aws-sdk-go-v2/service/kms v1.32.3 h1:PtuDgLHjTq9JgykpX93EqGHlbNK0ju8xuDMcdD1Uo5I= +github.com/aws/aws-sdk-go-v2/service/kms v1.32.3/go.mod h1:uQiZ8PiSsPZuVC+hYKe/bSDZEhejdQW8GRemyUp0hio= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.3 h1:wieZjsYWmw330AVbgkIbTQXWacUmTZFrVKqnWBef7WU= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.33.3/go.mod h1:h7rs2zd6iDs8a9zjQ+JZ1hYBStUxUm+8jTNwpfSZY7E= +github.com/aws/aws-sdk-go-v2/service/lambda v1.54.6 h1:UMu5aeSubjM9geSuPCGOgBAZa0JvsXxJBFXmKgUuisM= +github.com/aws/aws-sdk-go-v2/service/lambda v1.54.6/go.mod h1:fWbFM4/v+IgUW+p4TooAXuhmiQyC5qxMV5gUqxDII2g= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.2 h1:OavF0RBMhcuArrkGSGnRsk7BDZAqg3BmDI6E7KgAcVs= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.4.2/go.mod h1:DIcTjNG5V6jZxpFWwYkG4/k0CbsqPNJlj5koUQnmu+g= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.10 h1:uX6vAyjLRTlvnrp+MdU2pJQ8EYMbv561PVRCh6QG++w= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.43.10/go.mod h1:F9+N41US+/MkvlC/NGxptK/MiUfKe1dweqsBl38ev/U= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.3 h1:YdA5QgoYa2wNblkWyZfPlLLYsAEKCwLfdMxpWu16wpM= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.38.3/go.mod h1:T0LiPG5vKHZ7DmOq4Cmw0Kku3tMkaR9AknskS2hUXvI= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.10 h1:A3MzGDmkAyV2jRVSCHmTjMsuiYrRjrKxQiHsVts1jas= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.27.10/go.mod h1:BuKoVF3AykN1SAsKigr+aL8UovHFQJs2M7vylsOj8xY= +github.com/aws/aws-sdk-go-v2/service/m2 v1.13.6 h1:NxZs0J3l2p+PY+lPjHFVeY08lmTrv1vHzSfLNWqMfJc= +github.com/aws/aws-sdk-go-v2/service/m2 v1.13.6/go.mod h1:h0ksPg7Jqgml26JZoUs87A2sqx5/gRLH3hrN7p3ww8g= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.10 h1:PF1Q1JOKpyMPAjhBBcxUxOXafaHMZkXjN2Su+yPSj2M= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.28.10/go.mod h1:I2QK9o927+sKJn0yNFn3L0GVnXyZWwguOTdOy69wqRY= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.7 h1:9GzfkCQV6VLgtCjQQc8Bhz2QJLyae9b3kNN6N9qYVwU= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.53.7/go.mod h1:jpXXeDQerb6Md4Yg3LxscyQrqOzL+h1xi5SizhXCY9w= +github.com/aws/aws-sdk-go-v2/service/medialive v1.52.6 h1:VUfwXW95Om8NRrNuPBY8+tUpv2pLeMHoHNds2dPoI9s= +github.com/aws/aws-sdk-go-v2/service/medialive v1.52.6/go.mod h1:+kfONJ/rwJ7Qxizw2VNciswVk19vpXg9ngsEpfARusg= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.11 h1:28cpMq1VSS+d1vVYtrXQDzeuz+/P+Dxj2n2c0BrkQ4A= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.30.11/go.mod h1:v3DYFGJr+U/7XqOVLA5IBHXBUoHksVjfCrCEHQg6Usg= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.6 h1:GXSUO5NtPTuM/YW8v3yVh8h+y0mmbYSBlrL76ybUEUQ= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.11.6/go.mod h1:pg6xc5VIhx1ViJIsiQetZqdBKYCNRnsl8kcaWuJptZs= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.10 h1:iheOfN0czGrzE96ZtlF9RvFG4sSNfRercZCxENO+BKw= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.20.10/go.mod h1:ivRaBAFCc5B2vHuHJKlYyC6dDk0Q2cZpGO45Mbl2UPc= +github.com/aws/aws-sdk-go-v2/service/mq v1.22.11 h1:dI5u7KbpjslchKz46vHkQlfYFfcVRXQ53tBp3qdlOH8= +github.com/aws/aws-sdk-go-v2/service/mq v1.22.11/go.mod h1:hQ/8Uo+sQySjHie+oGZxYaDMVsAJYYea7fDWtxOW25g= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.4 h1:8smXN5gAGZKBjervH0VZiR/dpP9G2nOiSakKNL+A2xY= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.27.4/go.mod h1:n5E3bv5OwgyzXa8wN4dBiQ9chq4427i8mIL0DOGQ08U= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.7 h1:gmQ5UpIRqclaYFHyh+nWlx5NITsvVLR5aOzU9JnVPhU= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.8.7/go.mod h1:2ZVLdyzUl10QKonLIE4j8hsu9rePk62iO1HW7ND7cIw= +github.com/aws/aws-sdk-go-v2/service/oam v1.11.6 h1:AWbX6Q0CThDhgn6MIm2XPCnw3uA00yFkOKzfkGjDvwI= +github.com/aws/aws-sdk-go-v2/service/oam v1.11.6/go.mod h1:zh+/YaGPYtYIsy83eib8QYUCLNmTTRNnPKSy++MoVx0= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.13 h1:eqytt4h4+NG5eSYjHy/gxQeTYmH6kyB2BiNOqVdLWIU= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.13/go.mod h1:9tkQ/yUzFFBjIM7IbMqpsESMwNZkfO9ZtlXXJVfC/h4= +github.com/aws/aws-sdk-go-v2/service/organizations v1.27.9 h1:KNXacqpLvkK4oAMqSNhG2ETQzrVK4mKETAeNeo+dWyk= +github.com/aws/aws-sdk-go-v2/service/organizations v1.27.9/go.mod h1:hcr6lPG6K2l0WiKyu2ag/JrHbiIOUMg3tdNPtpTe+PM= +github.com/aws/aws-sdk-go-v2/service/osis v1.10.0 h1:2unOPcW9Eh/gcOEWdIcU5rmpwTFtqZ0YLaHzApPwiTI= +github.com/aws/aws-sdk-go-v2/service/osis v1.10.0/go.mod h1:1H+iBuiqX8snPxlOViytBuIKDHY2y+ZHzJ/gIqb+JEs= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.6 h1:dAtMkOI1E/+uOf5Md0TV5DzaOhUWbVsajcbiyjXS8Ng= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.6/go.mod h1:AlYMkLQ4e0iExjXDf8TPosjt8fjsmYu/2nv9xs9MbDs= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.10 h1:cn/ly7rE/rpG4XW7GFxs970D+PglbESF9f8vI/oUC+M= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.10/go.mod h1:3TF4rQ87enheeIx4c/vSFoqQXdoI9eOr6RDPvW0x0mM= +github.com/aws/aws-sdk-go-v2/service/pipes v1.12.1 h1:srOxtOzUntiGKtVCahEL13JYuBHGvuDlBJcHI81dgZA= +github.com/aws/aws-sdk-go-v2/service/pipes v1.12.1/go.mod h1:JHoN0tGkx3ZIYwOvF3WtepKYAMmSfC5o61ijIk6YuKo= +github.com/aws/aws-sdk-go-v2/service/polly v1.40.5 h1:nJowt8m2IcbcLkQnghrnro33nCBaPvGUOxzp2XrGbvE= +github.com/aws/aws-sdk-go-v2/service/polly v1.40.5/go.mod h1:NlZSQx5MgRlTRxuTB1UklQbkXSX/Rjk+nEJR2ClTjrM= +github.com/aws/aws-sdk-go-v2/service/pricing v1.28.7 h1:OimFd9B78+2BO35rJpIni3zEt3xXp+l/YuLwgULMNVE= +github.com/aws/aws-sdk-go-v2/service/pricing v1.28.7/go.mod h1:kdbauXuTWNaItPgeKT1uycVDvVlfD9FAEmKjAmAEiWM= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.6 h1:QtIdssfJjPLUGSc1UEl99uDbtW3WvP+bJ3ZmZPtGS6c= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.6.6/go.mod h1:J5k2cOgnRLFlQOX4Z0bBWhG8nb45vwMemPjegzvTdto= +github.com/aws/aws-sdk-go-v2/service/qldb v1.21.10 h1:JiA51DS5fOSXCbkaVurMcNAHSXTicEWlpy/343xdp1g= +github.com/aws/aws-sdk-go-v2/service/qldb v1.21.10/go.mod h1:KjLu3xgMrrGMgEpMvft7A0zPTn0EXVA5ys7KiF9/E44= +github.com/aws/aws-sdk-go-v2/service/ram v1.25.10 h1:eTSTspyVeFIjVvKEkhrF8xlTkcv2xRVih8H0ZL/wIGU= +github.com/aws/aws-sdk-go-v2/service/ram v1.25.10/go.mod h1:u82AB4OuZSlMIADLmySpervL3v6El3RYqSh3vjjOa2g= +github.com/aws/aws-sdk-go-v2/service/rbin v1.16.10 h1:4CSjB4CbP+WvGn9ow2ZyBSQ/JDpp2RmKkO2wpiFrBno= +github.com/aws/aws-sdk-go-v2/service/rbin v1.16.10/go.mod h1:PQuHOX24ueFRaxXKMVl+tAsbSPd/Ue5VhF4ispb5zdc= +github.com/aws/aws-sdk-go-v2/service/rds v1.79.6 h1:NX0OiCFYFc/p1Ufimr+kJkXCCFZe9FnUoQmG5mMrYfg= +github.com/aws/aws-sdk-go-v2/service/rds v1.79.6/go.mod h1:fZ+i+g1q3unIVP0qfYYyJd80W8aiyQJ6Wsij/HFj9W0= +github.com/aws/aws-sdk-go-v2/service/redshift v1.44.7 h1:sXKgb/ks0eeSHH2arXiUgMGIew7ka8fhplTLJx1Df48= +github.com/aws/aws-sdk-go-v2/service/redshift v1.44.7/go.mod h1:DNoffDrn/ZewuTyFUolU33+1w6vOieC8mhzF2Yi46PY= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.10 h1:FZiVA6SGDCxNUjoJ/CizSudFScdPvPQNbLtPgmrlUUk= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.10/go.mod h1:jnDZbfq7zPFvAnigSNc6iaOQ2TTAnzzQdNJQgHvg29s= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.8 h1:NtKuvfbHtkVQi/NDtGiDxmv6rL2ZcA93NXARmHkudDU= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.18.8/go.mod h1:lGVq1ZIzcwgjxeXlfXkY3DNC582SqYLwTjXZ1KGmAkM= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.6 h1:v/UrTB1CHz+CXXPpE0jjGkgHT1sbpsEKs7/XsmrVa4k= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.6/go.mod h1:AzDdeMyTSSSlZ+VO1S788x9x3lJVmVdqYlZxZ3rmi2U= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.11 h1:Ejmh88QYLOxgyh+kzoQUbLNyUbD4P7SLWmQ8Jx7qmmE= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.11/go.mod h1:+iMxqfKvnJVrbiHxDGyf47c7FI8TDukqjoMsLqoLrRw= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.6 h1:+oQIusl/699jbxbWeSI9fQ5ACZUxH6eeKxiXHtHjztQ= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.6/go.mod h1:hECEgQ2nBryyGTtts2k1m6MUjbaFJpoUd1wmNXpkEaY= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.10 h1:Lz66AebKV//iN8kelcsBe0fQekLmCkIzZSq/Yr/S+C4= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.10/go.mod h1:6u29rN3TBB89EOtTnEsjywjOmjA4nmUV8elhfLwinaw= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.6 h1:CnOWQ/6BKnBPcVTb9P7p6SsbFHsUvJJ2UbcQnZuIG+c= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.6/go.mod h1:urcaaPlew4LHXM66eEZeaWJBhCjKWzOCAmE2XInleA8= +github.com/aws/aws-sdk-go-v2/service/route53 v1.40.10 h1:J9uHribwEgHmesH5r0enxsZYyiGBWd2AaExSW2SydqE= +github.com/aws/aws-sdk-go-v2/service/route53 v1.40.10/go.mod h1:tdzmlLwRjsHJjd4XXoSSnubCkVdRa39y4jCp4RACMkY= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10 h1:R56F/k3CQZHwrd3kHQ65Y91KHPBITruyPSX5/JGYe9E= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10/go.mod h1:W3+eDMk01Na1U3aQfwGkkEP1Yfe6WUn8hXzyInvGlcU= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7 h1:32/NRAG4ka8/hwr1k9ZA2xwarcJeWO6djaIFJ42tuFg= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7/go.mod h1:H9RRL0qQ+s+XlaZO5s5G3Z8cVZpKEoj313hOyglUwj0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1 h1:UAxBuh0/8sFJk1qOkvOKewP5sWeWaTPDknbQz0ZkDm0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1/go.mod h1:hWjsYGjVuqCgfoveVcVFPXIWgz0aByzwaxKlN1StKcM= +github.com/aws/aws-sdk-go-v2/service/s3control v1.44.13 h1:HhsZlX5gsL/KfEyHyBO5H0ewgmXoiBpjDPAZ3Ggrj8g= +github.com/aws/aws-sdk-go-v2/service/s3control v1.44.13/go.mod h1:4fXOTqROQgQ4Y6JP0G/vjF//YfG5oHxAwI2TPbgEblU= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.10 h1:tXVgXdk69TNCERB3gQofwGWIKBOSQYXLyhpRaiEmk/g= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.10/go.mod h1:+1zSuvpsye9jvBPYLg++LFV9wKaLZuKRpciXnJcRqkQ= +github.com/aws/aws-sdk-go-v2/service/schemas v1.24.10 h1:WxqJ2K51dsWHdwYUdi1oTqarDFcUOJUwcQOSTEEjQ8k= +github.com/aws/aws-sdk-go-v2/service/schemas v1.24.10/go.mod h1:Mr4cAhSy1m0p+AVxfTNmzPgkFo/Go8Pm2eIIJ9MlEMs= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.30.0 h1:nqR1mkoDntCpOwdlEfa2pZLiwvQeF4Mi56WzOTyuF/s= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.30.0/go.mod h1:M9TqBwpQ7AC6zu1Yji7vijRliqir7hxjuRcnxIk7jCc= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.2 h1:ybKzmQRXvLkQ9rb251QPmaC5ZlCK1g8b1MLq7DD5eaE= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.49.2/go.mod h1:6SQ5lQJXJZ4HL8ewgW7kp68UkqQtUE/3UmEvDLpJxKk= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.14.0 h1:VQuxwHBq5iKVKbsPdrfKWijA9V3vUmtTOeuqNiL6IkU= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.14.0/go.mod h1:R23fuxDRRYRzUYthyjMLC+j5J3FOdt8vEruXVmzieEc= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.10 h1:YmcqlNM/+On+uz1U8mO67xmCBpIDBunL/Jcvxh5HjnQ= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.26.10/go.mod h1:qNYkunnIvN0ttbrpYRRZnv2TYUEcAlQmhKXkvT46Rrs= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.29.12 h1:KW0wxLufq7ngz1ofsZcjqSDoJZo3mBsNIwtrQVB7Z/Y= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.29.12/go.mod h1:pMCoQoF+2NgjwpSf4vM+QHp23hnQCje0n5LxrnmMH4Q= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.10 h1:B4VK4LEI/L5dtYq2Omzt4XQ9WwtZX7I+YwmkhcDdEV8= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.21.10/go.mod h1:jAMj6BiwJo5rCrR97LdKlo1M494krOfnPJCS6X7etcU= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.30.0 h1:9K/f5C/JsiamFFof/E4kKo7DpkZ1z5sa98hI7XHV3P0= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.30.0/go.mod h1:FAFzNrXuMkCLLVL89dpjJq2yJFbgFkyJC98jSgVHsso= +github.com/aws/aws-sdk-go-v2/service/shield v1.25.10 h1:QTc2t3diE1+J1ESShBMZZetQQCJpr4DC6qGsJfpWrrQ= +github.com/aws/aws-sdk-go-v2/service/shield v1.25.10/go.mod h1:pQgQYgpvef5P1jqHjB5+q/ss21ndQ3QtcVbfzNk/GrU= +github.com/aws/aws-sdk-go-v2/service/signer v1.22.13 h1:c3VQdGTewW+OJq0iw/P5rnFpfio+Dy0u9ulPdc+QW5k= +github.com/aws/aws-sdk-go-v2/service/signer v1.22.13/go.mod h1:tm0X1UQcNg0XaT1wRSR+TJXdgTL6SMu7ZNb9EDkqXjA= +github.com/aws/aws-sdk-go-v2/service/sns v1.29.11 h1:cZN4fMAERLi1Q4ZklHj1ru0oFSQ5Dacad0cY26gu/Fc= +github.com/aws/aws-sdk-go-v2/service/sns v1.29.11/go.mod h1:au0J6BWDeQfeyItMkuqT6fhhyZ3cVARGC9FVEDaz+Fk= +github.com/aws/aws-sdk-go-v2/service/sqs v1.32.6 h1:FrGnU+Ggf+jUFj1O7Pdw5hCk42dmyO9TOTCVL7mDISk= +github.com/aws/aws-sdk-go-v2/service/sqs v1.32.6/go.mod h1:2Ef3ZgVWL7lyz5YZf854YkMboK6qF1NbG/0hc9StZsg= +github.com/aws/aws-sdk-go-v2/service/ssm v1.50.6 h1:E+gbKlOadAI0qV+8uh0JnYmkRJi7k7XvMXcKso0Inyc= +github.com/aws/aws-sdk-go-v2/service/ssm v1.50.6/go.mod h1:vR37XXoCLx2fzr/fUaTQoQ6ZlBK8Ua6VLnxLfxN6vLY= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.10 h1:JIw0378UWnueUdaZhOv8MO1zZ6ReIQXpYqSv01TDvio= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.10/go.mod h1:JDRWRN6hxzkF/XDtGSmLUYRP88SkdHBr6LFW1/yZiXI= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.10 h1:MizOPvyKVTN07X9x2dpd/bpvjEuPUj8NyOD4Njp4T7c= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.10/go.mod h1:jgVY27QLdMMdFV+ZlvVmVWiu5HsjnjZO5Hjaqh0soLU= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.5 h1:kiveZFwK8mqJrkaMorymQp6J6l3s/pY5n/i6tabYz3Y= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.13.5/go.mod h1:auz/mQcCWc6ijosjuNXKw1JItUvqj+ERG1iHwJfHcvE= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.11 h1:gEYM2GSpr4YNWc6hCd5nod4+d4kd9vWIAWrmGuLdlMw= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.11/go.mod h1:gVvwPdPNYehHSP9Rs7q27U1EU+3Or2ZpXvzAYJNh63w= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.11 h1:9R4+nCSXYw+Ea10gD/uDPLEy7jV/m3i7tTN0x4cYPDg= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.25.11/go.mod h1:yXOGN/jjKLKLkWjZSKRWrnRAdw+6qWXF7bYXL/fB/d4= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5 h1:iXjh3uaH3vsVcnyZX7MqCoCfcyxIrVE9iOQruRaWPrQ= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5/go.mod h1:5ZXesEuy/QcO0WUnt+4sDkxhdXRHTu2yG0uCSH8B6os= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.12 h1:M/1u4HBpwLuMtjlxuI2y6HoVLzF5e2mfxHCg7ZVMYmk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.12/go.mod h1:kcfd+eTdEi/40FIbLq4Hif3XMXnl5b/+t/KTfLt9xIk= +github.com/aws/aws-sdk-go-v2/service/swf v1.23.2 h1:/EudBRyXqjvogP4JLFb31Jt8rz4YYy1UgW9KzKR+1xo= +github.com/aws/aws-sdk-go-v2/service/swf v1.23.2/go.mod h1:z92PP2/Cnis08+F2SlpnLT2kpJPpBQcWQ6aNGyGRvQg= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.10 h1:PMQAcJQH/84Qma/LKvv4bvg0cdJmkcg4t433HZvV+BE= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.10/go.mod h1:ecCYcAmgR/HOcRLfvMsUnSvNiI2rIpwCdoEkxl9tDo8= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.8 h1:dPKuHz5E8aOZHOt/2l5E9p4kX7WeEw93yKsgZxBvMg4= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.0.8/go.mod h1:ZCewKIHsDadZ9jgcCJYtvdRfH2CEMRxRXLPFobkEQec= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.11 h1:xdW8/PT8R5Qx/IjkAdMvZomjjOdIWlqsFMCH6mqgjsQ= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.11/go.mod h1:QfuI1DCBSBqbqc7hxOB0glVXBJE8NLX81hr9cc9yirQ= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.6 h1:KpnJG4jr1OhjkNnRklDEolRJr1CuFFeJBgKoAIXlhYE= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.37.6/go.mod h1:NMzEA79tY7NAOXO+fHz57LaOkK7WylnjJpQxmlhgoUc= +github.com/aws/aws-sdk-go-v2/service/transfer v1.48.3 h1:imZ9ImrvPCMGIMtRTLVBO6+mxGNcXw8Mi5WupIEwB9M= +github.com/aws/aws-sdk-go-v2/service/transfer v1.48.3/go.mod h1:RBiHBLIFC7Sye7F6EW16swUjnsETkgjHLBLbEo6lZAM= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.15.0 h1:mUdYHBcfWGNclMsAKSMjCmEgR95z4wzj21JH6bh3f9c= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.15.0/go.mod h1:CI0PDiO2lZqVoaSOLWmmAzDPSixUTzUSqEnlZUdhWq8= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.6 h1:Mn3zWbtu2877a9ONYd3WNRY43NentIgSHNUNnFs9vuQ= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.8.6/go.mod h1:0iCBzvgSjFsiQfmgRPHBK+8iZdH9mXVAG7EcfyrX4ZM= +github.com/aws/aws-sdk-go-v2/service/waf v1.20.10 h1:nN1bcxknc8kFrI+YSupMiRCmrzjKfMIucvMtKhLbWFo= +github.com/aws/aws-sdk-go-v2/service/waf v1.20.10/go.mod h1:hriMVzhWjoXy3+71A8Q/T+lGprjWLCH3IgEvcuDIvOM= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.10 h1:HiZrToGiVRP1nzh0nTS3cQH1N6o04MrHb8nwsLNuVX8= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.21.10/go.mod h1:+Rlg1RQVNbUbslQRkTSPk1QjGTPx7MCSnaEpN+VZrIY= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.3 h1:wnhDyatF0gn17s098Vd+/aHmgNvk3N7sknESF++wMck= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.49.3/go.mod h1:4U73NhYe9Eyz81zJgFKyho6Rmw1ZpIYnwhsdlx65mqI= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.6 h1:8W0gNavRGoSn2kolXQb/wr8MG9D7QrBAg/yjlTkmy04= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.6/go.mod h1:1P1kcHgiFKRuFfXGUck9vNaMCEmIeigbsBjb86UN2eg= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.6 h1:V4AQVudNs3PjsrXiDAX6HITaTLpo9W1r5yuUgzMONis= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.6/go.mod h1:BZlMv5EkPEBRCrHxTM6dH8nohuwIQaEHGHcI76a4pjs= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.6 h1:0IyUHkXxEeIVXWVtPB0+vQMM5sxBOWdPIoqCKwaGiG8= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.18.6/go.mod h1:utmfTQCJk0fAsiKFJ0FrGTJXFqyZoj5ZHm9FWT8Nf/0= +github.com/aws/aws-sdk-go-v2/service/xray v1.25.10 h1:EaxobHo3hQaj8HaGTdJwM8KRkAspfUQTthTeEXL6THA= +github.com/aws/aws-sdk-go-v2/service/xray v1.25.10/go.mod h1:doojKT3qF2pa1UDEuazJtGxdm2/Og9s9irewwJ+rpXU= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -2045,8 +2055,8 @@ github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 h1:b8vZYB/SkXJT github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0/go.mod h1:tP9BC3icoXBz72evMS5UTFvi98CiKhPdXF6yLs1wS8A= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1/go.mod h1:MsjL1sQ9L7wGwzJ5RjcI6FzEMdyoBnw+XK8ZnOvQOLY= -github.com/hashicorp/terraform-plugin-framework-timetypes v0.3.0 h1:egR4InfakWkgepZNUATWGwkrPhaAYOTEybPfEol+G/I= -github.com/hashicorp/terraform-plugin-framework-timetypes v0.3.0/go.mod h1:9vjvl36aY1p6KltaA5QCvGC5hdE/9t4YuhGftw6WOgE= +github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0 h1:XLI93Oqw2/KTzYjgCXrUnm8LBkGAiHC/mDQg5g5Vob4= +github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0/go.mod h1:mGuieb3bqKFYwEYB4lCMt302Z3siyv4PFYk/41wAUps= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= github.com/hashicorp/terraform-plugin-go v0.22.0/go.mod h1:mPULV91VKss7sik6KFEcEu7HuTogMLLO/EvWCuFkRVE= @@ -2534,8 +2544,8 @@ golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2602,8 +2612,8 @@ golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= -golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2740,8 +2750,9 @@ golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2852,8 +2863,8 @@ golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2874,8 +2885,8 @@ golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2897,8 +2908,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2981,8 +2992,8 @@ golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= -golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/provider/resources.go b/provider/resources.go index 6e6a9e0a8cd..01f66bba904 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -57,6 +57,7 @@ const ( accessAnalyzerMod = "AccessAnalyzer" // Access Analyzer ampMod = "Amp" // Amp amplifyMod = "Amplify" // Amplify + appFabricMod = "AppFabric" // AppFabric appFlowMod = "AppFlow" // AppFlow appConfigMod = "AppConfig" // AppConfig appIntegrationsMod = "AppIntegrations" // AppIntegrations @@ -276,6 +277,7 @@ var moduleMap = map[string]string{ "apigatewayv2": apigatewayv2Mod, "appautoscaling": appautoscalingMod, "appconfig": appConfigMod, + "appfabric": appFabricMod, "appflow": appFlowMod, "appintegrations": appIntegrationsMod, "applicationinsights": applicationInsightsMod, @@ -4916,6 +4918,7 @@ compatibility shim in favor of the new "name" field.`) "aws_ec2_network_insights_analysis": {Tok: awsDataSource(ec2Mod, "getNetworkInsightsAnalysis")}, "aws_ec2_network_insights_path": {Tok: awsDataSource(ec2Mod, "getNetworkInsightsPath")}, "aws_ec2_managed_prefix_lists": {Tok: awsDataSource(ec2Mod, "getManagedPrefixLists")}, + "aws_ec2_capacity_block_offering": {Tok: awsDataSource(ec2Mod, "getCapacityBlockOffering")}, // Ec2 Client "aws_ec2_client_vpn_endpoint": {Tok: awsDataSource(ec2ClientVpnMod, "getEndpoint")}, @@ -5817,6 +5820,9 @@ compatibility shim in favor of the new "name" field.`) "aws_auditmanager_organization_admin_account_registration": { Tok: awsResource(auditmanagerMod, "OrganizationAdminAccountRegistration"), }, + "aws_ec2_capacity_block_reservation": { + Tok: awsResource(ec2Mod, "CapacityBlockReservation"), + }, "aws_lambda_runtime_management_config": { Tok: awsResource(lambdaMod, "RuntimeManagementConfig"), }, diff --git a/sdk/dotnet/AppFabric/AppAuthorization.cs b/sdk/dotnet/AppFabric/AppAuthorization.cs new file mode 100644 index 00000000000..ec130d50634 --- /dev/null +++ b/sdk/dotnet/AppFabric/AppAuthorization.cs @@ -0,0 +1,310 @@ +// *** 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.AppFabric +{ + /// + /// Resource for managing an AWS AppFabric App Authorization. + /// + /// ## 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.AppFabric.AppAuthorization("example", new() + /// { + /// App = "TERRAFORMCLOUD", + /// AppBundleArn = arn, + /// AuthType = "apiKey", + /// Credential = new Aws.AppFabric.Inputs.AppAuthorizationCredentialArgs + /// { + /// ApiKeyCredentials = new[] + /// { + /// new Aws.AppFabric.Inputs.AppAuthorizationCredentialApiKeyCredentialArgs + /// { + /// ApiKey = "exampleapikeytoken", + /// }, + /// }, + /// }, + /// Tenants = new[] + /// { + /// new Aws.AppFabric.Inputs.AppAuthorizationTenantArgs + /// { + /// TenantDisplayName = "example", + /// TenantIdentifier = "example", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [AwsResourceType("aws:appfabric/appAuthorization:AppAuthorization")] + public partial class AppAuthorization : global::Pulumi.CustomResource + { + /// + /// The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + /// + [Output("app")] + public Output App { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the app bundle to use for the request. + /// + [Output("appBundleArn")] + public Output AppBundleArn { get; private set; } = null!; + + /// + /// ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The authorization type for the app authorization valid values are oauth2 and apiKey. + /// + [Output("authType")] + public Output AuthType { get; private set; } = null!; + + /// + /// The application URL for the OAuth flow. + /// + [Output("authUrl")] + public Output AuthUrl { get; private set; } = null!; + + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + /// Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + /// + [Output("credential")] + public Output Credential { get; private set; } = null!; + + /// + /// The user persona of the app authorization. + /// + [Output("persona")] + public Output Persona { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + /// + /// Contains information about an application tenant, such as the application display name and identifier. + /// + [Output("tenants")] + public Output> Tenants { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + [Output("updatedAt")] + public Output UpdatedAt { get; private set; } = null!; + + + /// + /// Create a AppAuthorization 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 AppAuthorization(string name, AppAuthorizationArgs args, CustomResourceOptions? options = null) + : base("aws:appfabric/appAuthorization:AppAuthorization", name, args ?? new AppAuthorizationArgs(), MakeResourceOptions(options, "")) + { + } + + private AppAuthorization(string name, Input id, AppAuthorizationState? state = null, CustomResourceOptions? options = null) + : base("aws:appfabric/appAuthorization:AppAuthorization", 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 AppAuthorization 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 AppAuthorization Get(string name, Input id, AppAuthorizationState? state = null, CustomResourceOptions? options = null) + { + return new AppAuthorization(name, id, state, options); + } + } + + public sealed class AppAuthorizationArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + /// + [Input("app", required: true)] + public Input App { get; set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the app bundle to use for the request. + /// + [Input("appBundleArn", required: true)] + public Input AppBundleArn { get; set; } = null!; + + /// + /// The authorization type for the app authorization valid values are oauth2 and apiKey. + /// + [Input("authType", required: true)] + public Input AuthType { get; set; } = null!; + + /// + /// Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + /// Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + /// + [Input("credential")] + public Input? Credential { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tenants")] + private InputList? _tenants; + + /// + /// Contains information about an application tenant, such as the application display name and identifier. + /// + public InputList Tenants + { + get => _tenants ?? (_tenants = new InputList()); + set => _tenants = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public AppAuthorizationArgs() + { + } + public static new AppAuthorizationArgs Empty => new AppAuthorizationArgs(); + } + + public sealed class AppAuthorizationState : global::Pulumi.ResourceArgs + { + /// + /// The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + /// + [Input("app")] + public Input? App { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the app bundle to use for the request. + /// + [Input("appBundleArn")] + public Input? AppBundleArn { get; set; } + + /// + /// ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The authorization type for the app authorization valid values are oauth2 and apiKey. + /// + [Input("authType")] + public Input? AuthType { get; set; } + + /// + /// The application URL for the OAuth flow. + /// + [Input("authUrl")] + public Input? AuthUrl { get; set; } + + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + /// Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + /// + [Input("credential")] + public Input? Credential { get; set; } + + /// + /// The user persona of the app authorization. + /// + [Input("persona")] + public Input? Persona { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("tenants")] + private InputList? _tenants; + + /// + /// Contains information about an application tenant, such as the application display name and identifier. + /// + public InputList Tenants + { + get => _tenants ?? (_tenants = new InputList()); + set => _tenants = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + [Input("updatedAt")] + public Input? UpdatedAt { get; set; } + + public AppAuthorizationState() + { + } + public static new AppAuthorizationState Empty => new AppAuthorizationState(); + } +} diff --git a/sdk/dotnet/AppFabric/AppBundle.cs b/sdk/dotnet/AppFabric/AppBundle.cs new file mode 100644 index 00000000000..bea3dede906 --- /dev/null +++ b/sdk/dotnet/AppFabric/AppBundle.cs @@ -0,0 +1,188 @@ +// *** 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.AppFabric +{ + /// + /// Resource for managing an AWS AppFabric AppBundle. + /// + /// ## 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.AppFabric.AppBundle("example", new() + /// { + /// CustomerManagedKeyArn = exampleAwmsKmsKey.Arn, + /// Tags = + /// { + /// { "Environment", "test" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import AppFabric AppBundle using the `arn`. For example: + /// + /// ```sh + /// $ pulumi import aws:appfabric/appBundle:AppBundle example arn:aws:appfabric:[region]:[account]:appbundle/ee5587b4-5765-4288-a202-xxxxxxxxxx + /// ``` + /// + [AwsResourceType("aws:appfabric/appBundle:AppBundle")] + public partial class AppBundle : global::Pulumi.CustomResource + { + /// + /// ARN of the AppBundle. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + /// + [Output("customerManagedKeyArn")] + public Output CustomerManagedKeyArn { get; private set; } = null!; + + /// + /// 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. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// 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!; + + + /// + /// Create a AppBundle 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 AppBundle(string name, AppBundleArgs? args = null, CustomResourceOptions? options = null) + : base("aws:appfabric/appBundle:AppBundle", name, args ?? new AppBundleArgs(), MakeResourceOptions(options, "")) + { + } + + private AppBundle(string name, Input id, AppBundleState? state = null, CustomResourceOptions? options = null) + : base("aws:appfabric/appBundle:AppBundle", 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 AppBundle 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 AppBundle Get(string name, Input id, AppBundleState? state = null, CustomResourceOptions? options = null) + { + return new AppBundle(name, id, state, options); + } + } + + public sealed class AppBundleArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + /// + [Input("customerManagedKeyArn")] + public Input? CustomerManagedKeyArn { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// 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. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public AppBundleArgs() + { + } + public static new AppBundleArgs Empty => new AppBundleArgs(); + } + + public sealed class AppBundleState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the AppBundle. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + /// + [Input("customerManagedKeyArn")] + public Input? CustomerManagedKeyArn { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// 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. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// 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; + } + + public AppBundleState() + { + } + public static new AppBundleState Empty => new AppBundleState(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialApiKeyCredentialArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialApiKeyCredentialArgs.cs new file mode 100644 index 00000000000..c5c077dccfb --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialApiKeyCredentialArgs.cs @@ -0,0 +1,36 @@ +// *** 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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationCredentialApiKeyCredentialArgs : global::Pulumi.ResourceArgs + { + [Input("apiKey", required: true)] + private Input? _apiKey; + + /// + /// Contains API key credential information. + /// + public Input? ApiKey + { + get => _apiKey; + set + { + var emptySecret = Output.CreateSecret(0); + _apiKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public AppAuthorizationCredentialApiKeyCredentialArgs() + { + } + public static new AppAuthorizationCredentialApiKeyCredentialArgs Empty => new AppAuthorizationCredentialApiKeyCredentialArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialApiKeyCredentialGetArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialApiKeyCredentialGetArgs.cs new file mode 100644 index 00000000000..d1b90747bfa --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialApiKeyCredentialGetArgs.cs @@ -0,0 +1,36 @@ +// *** 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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationCredentialApiKeyCredentialGetArgs : global::Pulumi.ResourceArgs + { + [Input("apiKey", required: true)] + private Input? _apiKey; + + /// + /// Contains API key credential information. + /// + public Input? ApiKey + { + get => _apiKey; + set + { + var emptySecret = Output.CreateSecret(0); + _apiKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public AppAuthorizationCredentialApiKeyCredentialGetArgs() + { + } + public static new AppAuthorizationCredentialApiKeyCredentialGetArgs Empty => new AppAuthorizationCredentialApiKeyCredentialGetArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialArgs.cs new file mode 100644 index 00000000000..34e02823208 --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialArgs.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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationCredentialArgs : global::Pulumi.ResourceArgs + { + [Input("apiKeyCredentials")] + private InputList? _apiKeyCredentials; + + /// + /// Contains API key credential information. + /// + public InputList ApiKeyCredentials + { + get => _apiKeyCredentials ?? (_apiKeyCredentials = new InputList()); + set => _apiKeyCredentials = value; + } + + /// + /// Contains OAuth2 client credential information. + /// + [Input("oauth2Credential")] + public Input? Oauth2Credential { get; set; } + + public AppAuthorizationCredentialArgs() + { + } + public static new AppAuthorizationCredentialArgs Empty => new AppAuthorizationCredentialArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialGetArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialGetArgs.cs new file mode 100644 index 00000000000..93298d4c030 --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialGetArgs.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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationCredentialGetArgs : global::Pulumi.ResourceArgs + { + [Input("apiKeyCredentials")] + private InputList? _apiKeyCredentials; + + /// + /// Contains API key credential information. + /// + public InputList ApiKeyCredentials + { + get => _apiKeyCredentials ?? (_apiKeyCredentials = new InputList()); + set => _apiKeyCredentials = value; + } + + /// + /// Contains OAuth2 client credential information. + /// + [Input("oauth2Credential")] + public Input? Oauth2Credential { get; set; } + + public AppAuthorizationCredentialGetArgs() + { + } + public static new AppAuthorizationCredentialGetArgs Empty => new AppAuthorizationCredentialGetArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialOauth2CredentialArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialOauth2CredentialArgs.cs new file mode 100644 index 00000000000..1bc76578651 --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialOauth2CredentialArgs.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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationCredentialOauth2CredentialArgs : global::Pulumi.ResourceArgs + { + /// + /// The client ID of the client application. + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// The client secret of the client application. + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public AppAuthorizationCredentialOauth2CredentialArgs() + { + } + public static new AppAuthorizationCredentialOauth2CredentialArgs Empty => new AppAuthorizationCredentialOauth2CredentialArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialOauth2CredentialGetArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialOauth2CredentialGetArgs.cs new file mode 100644 index 00000000000..d52405069e4 --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationCredentialOauth2CredentialGetArgs.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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationCredentialOauth2CredentialGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The client ID of the client application. + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// The client secret of the client application. + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public AppAuthorizationCredentialOauth2CredentialGetArgs() + { + } + public static new AppAuthorizationCredentialOauth2CredentialGetArgs Empty => new AppAuthorizationCredentialOauth2CredentialGetArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTenantArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTenantArgs.cs new file mode 100644 index 00000000000..27591a13ab6 --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTenantArgs.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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationTenantArgs : global::Pulumi.ResourceArgs + { + /// + /// The display name of the tenant. + /// + [Input("tenantDisplayName", required: true)] + public Input TenantDisplayName { get; set; } = null!; + + /// + /// The ID of the application tenant. + /// + [Input("tenantIdentifier", required: true)] + public Input TenantIdentifier { get; set; } = null!; + + public AppAuthorizationTenantArgs() + { + } + public static new AppAuthorizationTenantArgs Empty => new AppAuthorizationTenantArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTenantGetArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTenantGetArgs.cs new file mode 100644 index 00000000000..b204eab4047 --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTenantGetArgs.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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationTenantGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The display name of the tenant. + /// + [Input("tenantDisplayName", required: true)] + public Input TenantDisplayName { get; set; } = null!; + + /// + /// The ID of the application tenant. + /// + [Input("tenantIdentifier", required: true)] + public Input TenantIdentifier { get; set; } = null!; + + public AppAuthorizationTenantGetArgs() + { + } + public static new AppAuthorizationTenantGetArgs Empty => new AppAuthorizationTenantGetArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTimeoutsArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTimeoutsArgs.cs new file mode 100644 index 00000000000..7ab2fe26e70 --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTimeoutsArgs.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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationTimeoutsArgs : 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 AppAuthorizationTimeoutsArgs() + { + } + public static new AppAuthorizationTimeoutsArgs Empty => new AppAuthorizationTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTimeoutsGetArgs.cs b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTimeoutsGetArgs.cs new file mode 100644 index 00000000000..ac42b5b41c1 --- /dev/null +++ b/sdk/dotnet/AppFabric/Inputs/AppAuthorizationTimeoutsGetArgs.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.AppFabric.Inputs +{ + + public sealed class AppAuthorizationTimeoutsGetArgs : 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 AppAuthorizationTimeoutsGetArgs() + { + } + public static new AppAuthorizationTimeoutsGetArgs Empty => new AppAuthorizationTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredential.cs b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredential.cs new file mode 100644 index 00000000000..7a19b4c039c --- /dev/null +++ b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredential.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.AppFabric.Outputs +{ + + [OutputType] + public sealed class AppAuthorizationCredential + { + /// + /// Contains API key credential information. + /// + public readonly ImmutableArray ApiKeyCredentials; + /// + /// Contains OAuth2 client credential information. + /// + public readonly Outputs.AppAuthorizationCredentialOauth2Credential? Oauth2Credential; + + [OutputConstructor] + private AppAuthorizationCredential( + ImmutableArray apiKeyCredentials, + + Outputs.AppAuthorizationCredentialOauth2Credential? oauth2Credential) + { + ApiKeyCredentials = apiKeyCredentials; + Oauth2Credential = oauth2Credential; + } + } +} diff --git a/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredentialApiKeyCredential.cs b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredentialApiKeyCredential.cs new file mode 100644 index 00000000000..713e64dc91f --- /dev/null +++ b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredentialApiKeyCredential.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.AppFabric.Outputs +{ + + [OutputType] + public sealed class AppAuthorizationCredentialApiKeyCredential + { + /// + /// Contains API key credential information. + /// + public readonly string ApiKey; + + [OutputConstructor] + private AppAuthorizationCredentialApiKeyCredential(string apiKey) + { + ApiKey = apiKey; + } + } +} diff --git a/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredentialOauth2Credential.cs b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredentialOauth2Credential.cs new file mode 100644 index 00000000000..758a3605653 --- /dev/null +++ b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationCredentialOauth2Credential.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.AppFabric.Outputs +{ + + [OutputType] + public sealed class AppAuthorizationCredentialOauth2Credential + { + /// + /// The client ID of the client application. + /// + public readonly string ClientId; + /// + /// The client secret of the client application. + /// + public readonly string ClientSecret; + + [OutputConstructor] + private AppAuthorizationCredentialOauth2Credential( + string clientId, + + string clientSecret) + { + ClientId = clientId; + ClientSecret = clientSecret; + } + } +} diff --git a/sdk/dotnet/AppFabric/Outputs/AppAuthorizationTenant.cs b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationTenant.cs new file mode 100644 index 00000000000..1936341e789 --- /dev/null +++ b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationTenant.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.AppFabric.Outputs +{ + + [OutputType] + public sealed class AppAuthorizationTenant + { + /// + /// The display name of the tenant. + /// + public readonly string TenantDisplayName; + /// + /// The ID of the application tenant. + /// + public readonly string TenantIdentifier; + + [OutputConstructor] + private AppAuthorizationTenant( + string tenantDisplayName, + + string tenantIdentifier) + { + TenantDisplayName = tenantDisplayName; + TenantIdentifier = tenantIdentifier; + } + } +} diff --git a/sdk/dotnet/AppFabric/Outputs/AppAuthorizationTimeouts.cs b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationTimeouts.cs new file mode 100644 index 00000000000..46f26168ced --- /dev/null +++ b/sdk/dotnet/AppFabric/Outputs/AppAuthorizationTimeouts.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.AppFabric.Outputs +{ + + [OutputType] + public sealed class AppAuthorizationTimeouts + { + /// + /// 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 AppAuthorizationTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/AppFabric/README.md b/sdk/dotnet/AppFabric/README.md new file mode 100644 index 00000000000..9d868f18f20 --- /dev/null +++ b/sdk/dotnet/AppFabric/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources. diff --git a/sdk/dotnet/CodeBuild/Project.cs b/sdk/dotnet/CodeBuild/Project.cs index 489920ab423..70de1298b0d 100644 --- a/sdk/dotnet/CodeBuild/Project.cs +++ b/sdk/dotnet/CodeBuild/Project.cs @@ -329,7 +329,7 @@ public partial class Project : global::Pulumi.CustomResource public Output BuildBatchConfig { get; private set; } = null!; /// - /// Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + /// Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. /// [Output("buildTimeout")] public Output BuildTimeout { get; private set; } = null!; @@ -527,7 +527,7 @@ public sealed class ProjectArgs : global::Pulumi.ResourceArgs public Input? BuildBatchConfig { get; set; } /// - /// Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + /// Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. /// [Input("buildTimeout")] public Input? BuildTimeout { get; set; } @@ -717,7 +717,7 @@ public sealed class ProjectState : global::Pulumi.ResourceArgs public Input? BuildBatchConfig { get; set; } /// - /// Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + /// Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. /// [Input("buildTimeout")] public Input? BuildTimeout { get; set; } diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerGitConfigurationArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerGitConfigurationArgs.cs index af3b7306681..2f9f74fd9ab 100644 --- a/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerGitConfigurationArgs.cs +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerGitConfigurationArgs.cs @@ -37,7 +37,7 @@ public InputList Pushes } /// - /// The name of the pipeline source action where the trigger configuration. + /// The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. /// [Input("sourceActionName", required: true)] public Input SourceActionName { get; set; } = null!; diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerGitConfigurationGetArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerGitConfigurationGetArgs.cs index a67a340071d..830712a4ece 100644 --- a/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerGitConfigurationGetArgs.cs +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerGitConfigurationGetArgs.cs @@ -37,7 +37,7 @@ public InputList Pushes } /// - /// The name of the pipeline source action where the trigger configuration. + /// The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. /// [Input("sourceActionName", required: true)] public Input SourceActionName { get; set; } = null!; diff --git a/sdk/dotnet/CodePipeline/Outputs/PipelineTriggerGitConfiguration.cs b/sdk/dotnet/CodePipeline/Outputs/PipelineTriggerGitConfiguration.cs index 91230255c38..a7f8efccdbc 100644 --- a/sdk/dotnet/CodePipeline/Outputs/PipelineTriggerGitConfiguration.cs +++ b/sdk/dotnet/CodePipeline/Outputs/PipelineTriggerGitConfiguration.cs @@ -22,7 +22,7 @@ public sealed class PipelineTriggerGitConfiguration /// public readonly ImmutableArray Pushes; /// - /// The name of the pipeline source action where the trigger configuration. + /// The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. /// public readonly string SourceActionName; diff --git a/sdk/dotnet/Detective/OrganizationConfiguration.cs b/sdk/dotnet/Detective/OrganizationConfiguration.cs index fb8d7e0e930..e3790c5a9e5 100644 --- a/sdk/dotnet/Detective/OrganizationConfiguration.cs +++ b/sdk/dotnet/Detective/OrganizationConfiguration.cs @@ -14,10 +14,10 @@ namespace Pulumi.Aws.Detective /// /// ## Import /// - /// Using `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example: + /// Using `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example: /// /// ```sh - /// $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617 + /// $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example arn:aws:detective:us-east-1:123456789012:graph:00b00fd5aecc0ab60a708659477e9617 /// ``` /// [AwsResourceType("aws:detective/organizationConfiguration:OrganizationConfiguration")] diff --git a/sdk/dotnet/Ec2/CapacityBlockReservation.cs b/sdk/dotnet/Ec2/CapacityBlockReservation.cs new file mode 100644 index 00000000000..8dcc8059388 --- /dev/null +++ b/sdk/dotnet/Ec2/CapacityBlockReservation.cs @@ -0,0 +1,331 @@ +// *** 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 +{ + /// + /// Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads. + /// + /// > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacity_block_offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html). + /// + /// > **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub. + /// + [AwsResourceType("aws:ec2/capacityBlockReservation:CapacityBlockReservation")] + public partial class CapacityBlockReservation : global::Pulumi.CustomResource + { + /// + /// The ARN of the reservation. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The Availability Zone in which to create the Capacity Block Reservation. + /// + [Output("availabilityZone")] + public Output AvailabilityZone { get; private set; } = null!; + + /// + /// The Capacity Block Reservation ID. + /// + [Output("capacityBlockOfferingId")] + public Output CapacityBlockOfferingId { get; private set; } = null!; + + /// + /// The date and time at which the Capacity Block Reservation was created. + /// + [Output("createdDate")] + public Output CreatedDate { get; private set; } = null!; + + /// + /// Indicates whether the Capacity Reservation supports EBS-optimized instances. + /// + [Output("ebsOptimized")] + public Output EbsOptimized { get; private set; } = null!; + + /// + /// The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + /// + [Output("endDate")] + public Output EndDate { get; private set; } = null!; + + /// + /// Indicates the way in which the Capacity Reservation ends. + /// + [Output("endDateType")] + public Output EndDateType { get; private set; } = null!; + + /// + /// The number of instances for which to reserve capacity. + /// + [Output("instanceCount")] + public Output InstanceCount { get; private set; } = null!; + + /// + /// The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + /// + [Output("instancePlatform")] + public Output InstancePlatform { get; private set; } = null!; + + /// + /// The instance type for which to reserve capacity. + /// + [Output("instanceType")] + public Output InstanceType { get; private set; } = null!; + + /// + /// The ARN of the Outpost on which to create the Capacity Block Reservation. + /// + [Output("outpostArn")] + public Output OutpostArn { get; private set; } = null!; + + /// + /// The ARN of the placement group in which to create the Capacity Block Reservation. + /// + [Output("placementGroupArn")] + public Output PlacementGroupArn { get; private set; } = null!; + + /// + /// The type of Capacity Reservation. + /// + [Output("reservationType")] + public Output ReservationType { get; private set; } = null!; + + /// + /// The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + /// + [Output("startDate")] + public Output StartDate { 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. + /// + [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!; + + /// + /// Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + /// + [Output("tenancy")] + public Output Tenancy { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a CapacityBlockReservation 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 CapacityBlockReservation(string name, CapacityBlockReservationArgs args, CustomResourceOptions? options = null) + : base("aws:ec2/capacityBlockReservation:CapacityBlockReservation", name, args ?? new CapacityBlockReservationArgs(), MakeResourceOptions(options, "")) + { + } + + private CapacityBlockReservation(string name, Input id, CapacityBlockReservationState? state = null, CustomResourceOptions? options = null) + : base("aws:ec2/capacityBlockReservation:CapacityBlockReservation", 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 CapacityBlockReservation 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 CapacityBlockReservation Get(string name, Input id, CapacityBlockReservationState? state = null, CustomResourceOptions? options = null) + { + return new CapacityBlockReservation(name, id, state, options); + } + } + + public sealed class CapacityBlockReservationArgs : global::Pulumi.ResourceArgs + { + /// + /// The Capacity Block Reservation ID. + /// + [Input("capacityBlockOfferingId", required: true)] + public Input CapacityBlockOfferingId { get; set; } = null!; + + /// + /// The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + /// + [Input("instancePlatform", required: true)] + public Input InstancePlatform { get; set; } = null!; + + [Input("tags")] + private InputMap? _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. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public CapacityBlockReservationArgs() + { + } + public static new CapacityBlockReservationArgs Empty => new CapacityBlockReservationArgs(); + } + + public sealed class CapacityBlockReservationState : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the reservation. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The Availability Zone in which to create the Capacity Block Reservation. + /// + [Input("availabilityZone")] + public Input? AvailabilityZone { get; set; } + + /// + /// The Capacity Block Reservation ID. + /// + [Input("capacityBlockOfferingId")] + public Input? CapacityBlockOfferingId { get; set; } + + /// + /// The date and time at which the Capacity Block Reservation was created. + /// + [Input("createdDate")] + public Input? CreatedDate { get; set; } + + /// + /// Indicates whether the Capacity Reservation supports EBS-optimized instances. + /// + [Input("ebsOptimized")] + public Input? EbsOptimized { get; set; } + + /// + /// The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + /// + [Input("endDate")] + public Input? EndDate { get; set; } + + /// + /// Indicates the way in which the Capacity Reservation ends. + /// + [Input("endDateType")] + public Input? EndDateType { get; set; } + + /// + /// The number of instances for which to reserve capacity. + /// + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + /// + /// The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + /// + [Input("instancePlatform")] + public Input? InstancePlatform { get; set; } + + /// + /// The instance type for which to reserve capacity. + /// + [Input("instanceType")] + public Input? InstanceType { get; set; } + + /// + /// The ARN of the Outpost on which to create the Capacity Block Reservation. + /// + [Input("outpostArn")] + public Input? OutpostArn { get; set; } + + /// + /// The ARN of the placement group in which to create the Capacity Block Reservation. + /// + [Input("placementGroupArn")] + public Input? PlacementGroupArn { get; set; } + + /// + /// The type of Capacity Reservation. + /// + [Input("reservationType")] + public Input? ReservationType { get; set; } + + /// + /// The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + /// + [Input("startDate")] + public Input? StartDate { get; set; } + + [Input("tags")] + private InputMap? _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. + /// + 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; + } + + /// + /// Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + /// + [Input("tenancy")] + public Input? Tenancy { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public CapacityBlockReservationState() + { + } + public static new CapacityBlockReservationState Empty => new CapacityBlockReservationState(); + } +} diff --git a/sdk/dotnet/Ec2/GetCapacityBlockOffering.cs b/sdk/dotnet/Ec2/GetCapacityBlockOffering.cs new file mode 100644 index 00000000000..d1fb87c9f4a --- /dev/null +++ b/sdk/dotnet/Ec2/GetCapacityBlockOffering.cs @@ -0,0 +1,175 @@ +// *** 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 +{ + public static class GetCapacityBlockOffering + { + /// + /// Information about a single EC2 Capacity Block Offering. + /// + public static Task InvokeAsync(GetCapacityBlockOfferingArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", args ?? new GetCapacityBlockOfferingArgs(), options.WithDefaults()); + + /// + /// Information about a single EC2 Capacity Block Offering. + /// + public static Output Invoke(GetCapacityBlockOfferingInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", args ?? new GetCapacityBlockOfferingInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCapacityBlockOfferingArgs : global::Pulumi.InvokeArgs + { + /// + /// The amount of time of the Capacity Block reservation in hours. + /// + [Input("capacityDurationHours", required: true)] + public int CapacityDurationHours { get; set; } + + /// + /// The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + /// + [Input("endDateRange")] + public string? EndDateRange { get; set; } + + /// + /// The number of instances for which to reserve capacity. + /// + [Input("instanceCount", required: true)] + public int InstanceCount { get; set; } + + /// + /// The instance type for which to reserve capacity. + /// + [Input("instanceType", required: true)] + public string InstanceType { get; set; } = null!; + + /// + /// The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + /// + [Input("startDateRange")] + public string? StartDateRange { get; set; } + + public GetCapacityBlockOfferingArgs() + { + } + public static new GetCapacityBlockOfferingArgs Empty => new GetCapacityBlockOfferingArgs(); + } + + public sealed class GetCapacityBlockOfferingInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The amount of time of the Capacity Block reservation in hours. + /// + [Input("capacityDurationHours", required: true)] + public Input CapacityDurationHours { get; set; } = null!; + + /// + /// The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + /// + [Input("endDateRange")] + public Input? EndDateRange { get; set; } + + /// + /// The number of instances for which to reserve capacity. + /// + [Input("instanceCount", required: true)] + public Input InstanceCount { get; set; } = null!; + + /// + /// The instance type for which to reserve capacity. + /// + [Input("instanceType", required: true)] + public Input InstanceType { get; set; } = null!; + + /// + /// The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + /// + [Input("startDateRange")] + public Input? StartDateRange { get; set; } + + public GetCapacityBlockOfferingInvokeArgs() + { + } + public static new GetCapacityBlockOfferingInvokeArgs Empty => new GetCapacityBlockOfferingInvokeArgs(); + } + + + [OutputType] + public sealed class GetCapacityBlockOfferingResult + { + /// + /// The Availability Zone in which to create the Capacity Reservation. + /// + public readonly string AvailabilityZone; + /// + /// The Capacity Block Reservation ID. + /// + public readonly string CapacityBlockOfferingId; + public readonly int CapacityDurationHours; + /// + /// The currency of the payment for the Capacity Block. + /// + public readonly string CurrencyCode; + public readonly string EndDateRange; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly int InstanceCount; + public readonly string InstanceType; + public readonly string StartDateRange; + /// + /// Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. + /// + public readonly string Tenancy; + /// + /// The total price to be paid up front. + /// + public readonly string UpfrontFee; + + [OutputConstructor] + private GetCapacityBlockOfferingResult( + string availabilityZone, + + string capacityBlockOfferingId, + + int capacityDurationHours, + + string currencyCode, + + string endDateRange, + + string id, + + int instanceCount, + + string instanceType, + + string startDateRange, + + string tenancy, + + string upfrontFee) + { + AvailabilityZone = availabilityZone; + CapacityBlockOfferingId = capacityBlockOfferingId; + CapacityDurationHours = capacityDurationHours; + CurrencyCode = currencyCode; + EndDateRange = endDateRange; + Id = id; + InstanceCount = instanceCount; + InstanceType = instanceType; + StartDateRange = startDateRange; + Tenancy = tenancy; + UpfrontFee = upfrontFee; + } + } +} diff --git a/sdk/dotnet/Ec2/Inputs/CapacityBlockReservationTimeoutsArgs.cs b/sdk/dotnet/Ec2/Inputs/CapacityBlockReservationTimeoutsArgs.cs new file mode 100644 index 00000000000..cbbadfa2827 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/CapacityBlockReservationTimeoutsArgs.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.Ec2.Inputs +{ + + public sealed class CapacityBlockReservationTimeoutsArgs : 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; } + + public CapacityBlockReservationTimeoutsArgs() + { + } + public static new CapacityBlockReservationTimeoutsArgs Empty => new CapacityBlockReservationTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/CapacityBlockReservationTimeoutsGetArgs.cs b/sdk/dotnet/Ec2/Inputs/CapacityBlockReservationTimeoutsGetArgs.cs new file mode 100644 index 00000000000..5528d657d58 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/CapacityBlockReservationTimeoutsGetArgs.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.Ec2.Inputs +{ + + public sealed class CapacityBlockReservationTimeoutsGetArgs : 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; } + + public CapacityBlockReservationTimeoutsGetArgs() + { + } + public static new CapacityBlockReservationTimeoutsGetArgs Empty => new CapacityBlockReservationTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsArgs.cs b/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsArgs.cs index 65f2385eeaf..200eda64803 100644 --- a/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsArgs.cs @@ -18,6 +18,12 @@ public sealed class FleetOnDemandOptionsArgs : global::Pulumi.ResourceArgs [Input("allocationStrategy")] public Input? AllocationStrategy { get; set; } + /// + /// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + /// + [Input("capacityReservationOptions")] + public Input? CapacityReservationOptions { get; set; } + /// /// The maximum amount per hour for On-Demand Instances that you're willing to pay. /// diff --git a/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsCapacityReservationOptionsArgs.cs b/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsCapacityReservationOptionsArgs.cs new file mode 100644 index 00000000000..e3bf4d67c33 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsCapacityReservationOptionsArgs.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.Ec2.Inputs +{ + + public sealed class FleetOnDemandOptionsCapacityReservationOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + /// + [Input("usageStrategy")] + public Input? UsageStrategy { get; set; } + + public FleetOnDemandOptionsCapacityReservationOptionsArgs() + { + } + public static new FleetOnDemandOptionsCapacityReservationOptionsArgs Empty => new FleetOnDemandOptionsCapacityReservationOptionsArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsCapacityReservationOptionsGetArgs.cs b/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsCapacityReservationOptionsGetArgs.cs new file mode 100644 index 00000000000..98abbb047c6 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsCapacityReservationOptionsGetArgs.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.Ec2.Inputs +{ + + public sealed class FleetOnDemandOptionsCapacityReservationOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + /// + [Input("usageStrategy")] + public Input? UsageStrategy { get; set; } + + public FleetOnDemandOptionsCapacityReservationOptionsGetArgs() + { + } + public static new FleetOnDemandOptionsCapacityReservationOptionsGetArgs Empty => new FleetOnDemandOptionsCapacityReservationOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsGetArgs.cs b/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsGetArgs.cs index a7943afdcad..2e7537891dd 100644 --- a/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsGetArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/FleetOnDemandOptionsGetArgs.cs @@ -18,6 +18,12 @@ public sealed class FleetOnDemandOptionsGetArgs : global::Pulumi.ResourceArgs [Input("allocationStrategy")] public Input? AllocationStrategy { get; set; } + /// + /// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + /// + [Input("capacityReservationOptions")] + public Input? CapacityReservationOptions { get; set; } + /// /// The maximum amount per hour for On-Demand Instances that you're willing to pay. /// diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateElasticGpuSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateElasticGpuSpecificationArgs.cs index d5e1c3c9aab..68d0d7c5beb 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateElasticGpuSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateElasticGpuSpecificationArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Ec2.Inputs public sealed class LaunchTemplateElasticGpuSpecificationArgs : global::Pulumi.ResourceArgs { /// - /// The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + /// The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateElasticGpuSpecificationGetArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateElasticGpuSpecificationGetArgs.cs index 7b41d21b31b..16725f90b29 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateElasticGpuSpecificationGetArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateElasticGpuSpecificationGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Ec2.Inputs public sealed class LaunchTemplateElasticGpuSpecificationGetArgs : global::Pulumi.ResourceArgs { /// - /// The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + /// The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/VpcEndpointSubnetConfigurationArgs.cs b/sdk/dotnet/Ec2/Inputs/VpcEndpointSubnetConfigurationArgs.cs new file mode 100644 index 00000000000..cbebb6f72f0 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/VpcEndpointSubnetConfigurationArgs.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.Ec2.Inputs +{ + + public sealed class VpcEndpointSubnetConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + /// + [Input("ipv4")] + public Input? Ipv4 { get; set; } + + /// + /// The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + /// + [Input("ipv6")] + public Input? Ipv6 { get; set; } + + [Input("subnetId")] + public Input? SubnetId { get; set; } + + public VpcEndpointSubnetConfigurationArgs() + { + } + public static new VpcEndpointSubnetConfigurationArgs Empty => new VpcEndpointSubnetConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/VpcEndpointSubnetConfigurationGetArgs.cs b/sdk/dotnet/Ec2/Inputs/VpcEndpointSubnetConfigurationGetArgs.cs new file mode 100644 index 00000000000..d119d988a25 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/VpcEndpointSubnetConfigurationGetArgs.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.Ec2.Inputs +{ + + public sealed class VpcEndpointSubnetConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + /// + [Input("ipv4")] + public Input? Ipv4 { get; set; } + + /// + /// The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + /// + [Input("ipv6")] + public Input? Ipv6 { get; set; } + + [Input("subnetId")] + public Input? SubnetId { get; set; } + + public VpcEndpointSubnetConfigurationGetArgs() + { + } + public static new VpcEndpointSubnetConfigurationGetArgs Empty => new VpcEndpointSubnetConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Ec2/LaunchTemplate.cs b/sdk/dotnet/Ec2/LaunchTemplate.cs index 0af5e53d9ed..4272b110a2e 100644 --- a/sdk/dotnet/Ec2/LaunchTemplate.cs +++ b/sdk/dotnet/Ec2/LaunchTemplate.cs @@ -119,7 +119,7 @@ public partial class LaunchTemplate : global::Pulumi.CustomResource public Output IamInstanceProfile { get; private set; } = null!; /// - /// The AMI from which to launch the instance. + /// The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. /// [Output("imageId")] public Output ImageId { get; private set; } = null!; @@ -420,7 +420,7 @@ public InputList ElasticGpuSpe public Input? IamInstanceProfile { get; set; } /// - /// The AMI from which to launch the instance. + /// The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. /// [Input("imageId")] public Input? ImageId { get; set; } @@ -713,7 +713,7 @@ public InputList ElasticGpu public Input? IamInstanceProfile { get; set; } /// - /// The AMI from which to launch the instance. + /// The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. /// [Input("imageId")] public Input? ImageId { get; set; } diff --git a/sdk/dotnet/Ec2/Outputs/CapacityBlockReservationTimeouts.cs b/sdk/dotnet/Ec2/Outputs/CapacityBlockReservationTimeouts.cs new file mode 100644 index 00000000000..c69ce208a34 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/CapacityBlockReservationTimeouts.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.Ec2.Outputs +{ + + [OutputType] + public sealed class CapacityBlockReservationTimeouts + { + /// + /// 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; + + [OutputConstructor] + private CapacityBlockReservationTimeouts(string? create) + { + Create = create; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/FleetOnDemandOptions.cs b/sdk/dotnet/Ec2/Outputs/FleetOnDemandOptions.cs index 9dd36f28ac1..7bb259c25bd 100644 --- a/sdk/dotnet/Ec2/Outputs/FleetOnDemandOptions.cs +++ b/sdk/dotnet/Ec2/Outputs/FleetOnDemandOptions.cs @@ -18,6 +18,10 @@ public sealed class FleetOnDemandOptions /// public readonly string? AllocationStrategy; /// + /// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + /// + public readonly Outputs.FleetOnDemandOptionsCapacityReservationOptions? CapacityReservationOptions; + /// /// The maximum amount per hour for On-Demand Instances that you're willing to pay. /// public readonly string? MaxTotalPrice; @@ -39,6 +43,8 @@ public sealed class FleetOnDemandOptions private FleetOnDemandOptions( string? allocationStrategy, + Outputs.FleetOnDemandOptionsCapacityReservationOptions? capacityReservationOptions, + string? maxTotalPrice, int? minTargetCapacity, @@ -48,6 +54,7 @@ private FleetOnDemandOptions( bool? singleInstanceType) { AllocationStrategy = allocationStrategy; + CapacityReservationOptions = capacityReservationOptions; MaxTotalPrice = maxTotalPrice; MinTargetCapacity = minTargetCapacity; SingleAvailabilityZone = singleAvailabilityZone; diff --git a/sdk/dotnet/Ec2/Outputs/FleetOnDemandOptionsCapacityReservationOptions.cs b/sdk/dotnet/Ec2/Outputs/FleetOnDemandOptionsCapacityReservationOptions.cs new file mode 100644 index 00000000000..9cd4a2b0427 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/FleetOnDemandOptionsCapacityReservationOptions.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.Ec2.Outputs +{ + + [OutputType] + public sealed class FleetOnDemandOptionsCapacityReservationOptions + { + /// + /// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + /// + public readonly string? UsageStrategy; + + [OutputConstructor] + private FleetOnDemandOptionsCapacityReservationOptions(string? usageStrategy) + { + UsageStrategy = usageStrategy; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateElasticGpuSpecification.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateElasticGpuSpecification.cs index efb1876c454..2178fa5cdae 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateElasticGpuSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateElasticGpuSpecification.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Ec2.Outputs public sealed class LaunchTemplateElasticGpuSpecification { /// - /// The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + /// The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) /// public readonly string Type; diff --git a/sdk/dotnet/Ec2/Outputs/VpcEndpointSubnetConfiguration.cs b/sdk/dotnet/Ec2/Outputs/VpcEndpointSubnetConfiguration.cs new file mode 100644 index 00000000000..e669052ffb8 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/VpcEndpointSubnetConfiguration.cs @@ -0,0 +1,39 @@ +// *** 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 VpcEndpointSubnetConfiguration + { + /// + /// The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + /// + public readonly string? Ipv4; + /// + /// The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + /// + public readonly string? Ipv6; + public readonly string? SubnetId; + + [OutputConstructor] + private VpcEndpointSubnetConfiguration( + string? ipv4, + + string? ipv6, + + string? subnetId) + { + Ipv4 = ipv4; + Ipv6 = ipv6; + SubnetId = subnetId; + } + } +} diff --git a/sdk/dotnet/Ec2/TrafficMirrorSession.cs b/sdk/dotnet/Ec2/TrafficMirrorSession.cs index fa8d9ed2f6b..67c22d68116 100644 --- a/sdk/dotnet/Ec2/TrafficMirrorSession.cs +++ b/sdk/dotnet/Ec2/TrafficMirrorSession.cs @@ -90,7 +90,7 @@ public partial class TrafficMirrorSession : global::Pulumi.CustomResource /// The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. /// [Output("packetLength")] - public Output PacketLength { get; private set; } = null!; + public Output PacketLength { get; private set; } = null!; /// /// The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. diff --git a/sdk/dotnet/Ec2/VpcEndpoint.cs b/sdk/dotnet/Ec2/VpcEndpoint.cs index 17ec0538bee..bd3cbeaedd2 100644 --- a/sdk/dotnet/Ec2/VpcEndpoint.cs +++ b/sdk/dotnet/Ec2/VpcEndpoint.cs @@ -89,6 +89,44 @@ namespace Pulumi.Aws.Ec2 /// }); /// ``` /// + /// ### Interface Endpoint Type with User-Defined IP Address + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var ec2 = new Aws.Ec2.VpcEndpoint("ec2", new() + /// { + /// VpcId = example.Id, + /// ServiceName = "com.amazonaws.us-west-2.ec2", + /// VpcEndpointType = "Interface", + /// SubnetConfigurations = new[] + /// { + /// new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs + /// { + /// Ipv4 = "10.0.1.10", + /// SubnetId = example1.Id, + /// }, + /// new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs + /// { + /// Ipv4 = "10.0.2.10", + /// SubnetId = example2.Id, + /// }, + /// }, + /// SubnetIds = new[] + /// { + /// example1.Id, + /// example2.Id, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ### Gateway Load Balancer Endpoint Type /// /// ```csharp @@ -237,6 +275,12 @@ public partial class VpcEndpoint : global::Pulumi.CustomResource [Output("state")] public Output State { get; private set; } = null!; + /// + /// Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + /// + [Output("subnetConfigurations")] + public Output> SubnetConfigurations { get; private set; } = null!; + /// /// The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. /// @@ -375,6 +419,18 @@ public InputList SecurityGroupIds [Input("serviceName", required: true)] public Input ServiceName { get; set; } = null!; + [Input("subnetConfigurations")] + private InputList? _subnetConfigurations; + + /// + /// Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + /// + public InputList SubnetConfigurations + { + get => _subnetConfigurations ?? (_subnetConfigurations = new InputList()); + set => _subnetConfigurations = value; + } + [Input("subnetIds")] private InputList? _subnetIds; @@ -547,6 +603,18 @@ public InputList SecurityGroupIds [Input("state")] public Input? State { get; set; } + [Input("subnetConfigurations")] + private InputList? _subnetConfigurations; + + /// + /// Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + /// + public InputList SubnetConfigurations + { + get => _subnetConfigurations ?? (_subnetConfigurations = new InputList()); + set => _subnetConfigurations = value; + } + [Input("subnetIds")] private InputList? _subnetIds; diff --git a/sdk/dotnet/Fms/Inputs/ResourceSetResourceSetArgs.cs b/sdk/dotnet/Fms/Inputs/ResourceSetResourceSetArgs.cs new file mode 100644 index 00000000000..222e9e3a57b --- /dev/null +++ b/sdk/dotnet/Fms/Inputs/ResourceSetResourceSetArgs.cs @@ -0,0 +1,65 @@ +// *** 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.Fms.Inputs +{ + + public sealed class ResourceSetResourceSetArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the resource set. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// Last time that the reosurce set was changed. + /// + [Input("lastUpdateTime")] + public Input? LastUpdateTime { get; set; } + + /// + /// Descriptive name of the resource set. You can't change the name of a resource set after you create it. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + /// + [Input("resourceSetStatus")] + public Input? ResourceSetStatus { get; set; } + + [Input("resourceTypeLists")] + private InputList? _resourceTypeLists; + + /// + /// Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + /// + public InputList ResourceTypeLists + { + get => _resourceTypeLists ?? (_resourceTypeLists = new InputList()); + set => _resourceTypeLists = value; + } + + [Input("updateToken")] + public Input? UpdateToken { get; set; } + + public ResourceSetResourceSetArgs() + { + } + public static new ResourceSetResourceSetArgs Empty => new ResourceSetResourceSetArgs(); + } +} diff --git a/sdk/dotnet/Fms/Inputs/ResourceSetResourceSetGetArgs.cs b/sdk/dotnet/Fms/Inputs/ResourceSetResourceSetGetArgs.cs new file mode 100644 index 00000000000..6f32eae52c3 --- /dev/null +++ b/sdk/dotnet/Fms/Inputs/ResourceSetResourceSetGetArgs.cs @@ -0,0 +1,65 @@ +// *** 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.Fms.Inputs +{ + + public sealed class ResourceSetResourceSetGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the resource set. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// Last time that the reosurce set was changed. + /// + [Input("lastUpdateTime")] + public Input? LastUpdateTime { get; set; } + + /// + /// Descriptive name of the resource set. You can't change the name of a resource set after you create it. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + /// + [Input("resourceSetStatus")] + public Input? ResourceSetStatus { get; set; } + + [Input("resourceTypeLists")] + private InputList? _resourceTypeLists; + + /// + /// Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + /// + public InputList ResourceTypeLists + { + get => _resourceTypeLists ?? (_resourceTypeLists = new InputList()); + set => _resourceTypeLists = value; + } + + [Input("updateToken")] + public Input? UpdateToken { get; set; } + + public ResourceSetResourceSetGetArgs() + { + } + public static new ResourceSetResourceSetGetArgs Empty => new ResourceSetResourceSetGetArgs(); + } +} diff --git a/sdk/dotnet/Fms/Inputs/ResourceSetTimeoutsArgs.cs b/sdk/dotnet/Fms/Inputs/ResourceSetTimeoutsArgs.cs new file mode 100644 index 00000000000..f0367226621 --- /dev/null +++ b/sdk/dotnet/Fms/Inputs/ResourceSetTimeoutsArgs.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.Fms.Inputs +{ + + public sealed class ResourceSetTimeoutsArgs : 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 ResourceSetTimeoutsArgs() + { + } + public static new ResourceSetTimeoutsArgs Empty => new ResourceSetTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Fms/Inputs/ResourceSetTimeoutsGetArgs.cs b/sdk/dotnet/Fms/Inputs/ResourceSetTimeoutsGetArgs.cs new file mode 100644 index 00000000000..1d9afec865c --- /dev/null +++ b/sdk/dotnet/Fms/Inputs/ResourceSetTimeoutsGetArgs.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.Fms.Inputs +{ + + public sealed class ResourceSetTimeoutsGetArgs : 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 ResourceSetTimeoutsGetArgs() + { + } + public static new ResourceSetTimeoutsGetArgs Empty => new ResourceSetTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Fms/Outputs/ResourceSetResourceSet.cs b/sdk/dotnet/Fms/Outputs/ResourceSetResourceSet.cs new file mode 100644 index 00000000000..dadea5e573d --- /dev/null +++ b/sdk/dotnet/Fms/Outputs/ResourceSetResourceSet.cs @@ -0,0 +1,67 @@ +// *** 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.Fms.Outputs +{ + + [OutputType] + public sealed class ResourceSetResourceSet + { + /// + /// Description of the resource set. + /// + public readonly string? Description; + /// + /// Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + /// + public readonly string? Id; + /// + /// Last time that the reosurce set was changed. + /// + public readonly string? LastUpdateTime; + /// + /// Descriptive name of the resource set. You can't change the name of a resource set after you create it. + /// + public readonly string Name; + /// + /// Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + /// + public readonly string? ResourceSetStatus; + /// + /// Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + /// + public readonly ImmutableArray ResourceTypeLists; + public readonly string? UpdateToken; + + [OutputConstructor] + private ResourceSetResourceSet( + string? description, + + string? id, + + string? lastUpdateTime, + + string name, + + string? resourceSetStatus, + + ImmutableArray resourceTypeLists, + + string? updateToken) + { + Description = description; + Id = id; + LastUpdateTime = lastUpdateTime; + Name = name; + ResourceSetStatus = resourceSetStatus; + ResourceTypeLists = resourceTypeLists; + UpdateToken = updateToken; + } + } +} diff --git a/sdk/dotnet/Fms/Outputs/ResourceSetTimeouts.cs b/sdk/dotnet/Fms/Outputs/ResourceSetTimeouts.cs new file mode 100644 index 00000000000..f1f653f0c44 --- /dev/null +++ b/sdk/dotnet/Fms/Outputs/ResourceSetTimeouts.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.Fms.Outputs +{ + + [OutputType] + public sealed class ResourceSetTimeouts + { + /// + /// 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 ResourceSetTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/Fms/ResourceSet.cs b/sdk/dotnet/Fms/ResourceSet.cs new file mode 100644 index 00000000000..2b11ab24356 --- /dev/null +++ b/sdk/dotnet/Fms/ResourceSet.cs @@ -0,0 +1,197 @@ +// *** 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.Fms +{ + /// + /// Resource for managing an AWS FMS (Firewall Manager) Resource Set. + /// + /// ## 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.Fms.ResourceSet("example", new() + /// { + /// ResourceSets = new[] + /// { + /// new Aws.Fms.Inputs.ResourceSetResourceSetArgs + /// { + /// Name = "testing", + /// ResourceTypeLists = new[] + /// { + /// "AWS::NetworkFirewall::Firewall", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import FMS (Firewall Manager) Resource Set using the `id`. For example: + /// + /// ```sh + /// $ pulumi import aws:fms/resourceSet:ResourceSet example resource_set-id-12345678 + /// ``` + /// + [AwsResourceType("aws:fms/resourceSet:ResourceSet")] + public partial class ResourceSet : global::Pulumi.CustomResource + { + /// + /// ARN of the Resource Set. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + /// + [Output("resourceSets")] + public Output> ResourceSets { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a ResourceSet 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 ResourceSet(string name, ResourceSetArgs? args = null, CustomResourceOptions? options = null) + : base("aws:fms/resourceSet:ResourceSet", name, args ?? new ResourceSetArgs(), MakeResourceOptions(options, "")) + { + } + + private ResourceSet(string name, Input id, ResourceSetState? state = null, CustomResourceOptions? options = null) + : base("aws:fms/resourceSet:ResourceSet", 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 ResourceSet 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 ResourceSet Get(string name, Input id, ResourceSetState? state = null, CustomResourceOptions? options = null) + { + return new ResourceSet(name, id, state, options); + } + } + + public sealed class ResourceSetArgs : global::Pulumi.ResourceArgs + { + [Input("resourceSets")] + private InputList? _resourceSets; + + /// + /// Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + /// + public InputList ResourceSets + { + get => _resourceSets ?? (_resourceSets = new InputList()); + set => _resourceSets = value; + } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public ResourceSetArgs() + { + } + public static new ResourceSetArgs Empty => new ResourceSetArgs(); + } + + public sealed class ResourceSetState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Resource Set. + /// + [Input("arn")] + public Input? Arn { get; set; } + + [Input("resourceSets")] + private InputList? _resourceSets; + + /// + /// Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + /// + public InputList ResourceSets + { + get => _resourceSets ?? (_resourceSets = new InputList()); + set => _resourceSets = value; + } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public ResourceSetState() + { + } + public static new ResourceSetState Empty => new ResourceSetState(); + } +} diff --git a/sdk/dotnet/GuardDuty/DetectorFeature.cs b/sdk/dotnet/GuardDuty/DetectorFeature.cs index 61d243485a5..c5e52c70144 100644 --- a/sdk/dotnet/GuardDuty/DetectorFeature.cs +++ b/sdk/dotnet/GuardDuty/DetectorFeature.cs @@ -51,7 +51,7 @@ namespace Pulumi.Aws.GuardDuty public partial class DetectorFeature : global::Pulumi.CustomResource { /// - /// Additional feature configuration block. See below. + /// Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. /// [Output("additionalConfigurations")] public Output> AdditionalConfigurations { get; private set; } = null!; @@ -63,7 +63,7 @@ public partial class DetectorFeature : global::Pulumi.CustomResource public Output DetectorId { get; private set; } = null!; /// - /// The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + /// The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. /// [Output("name")] public Output Name { get; private set; } = null!; @@ -124,7 +124,7 @@ public sealed class DetectorFeatureArgs : global::Pulumi.ResourceArgs private InputList? _additionalConfigurations; /// - /// Additional feature configuration block. See below. + /// Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. /// public InputList AdditionalConfigurations { @@ -139,7 +139,7 @@ public InputList AdditionalCo public Input DetectorId { get; set; } = null!; /// - /// The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + /// The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. /// [Input("name")] public Input? Name { get; set; } @@ -162,7 +162,7 @@ public sealed class DetectorFeatureState : global::Pulumi.ResourceArgs private InputList? _additionalConfigurations; /// - /// Additional feature configuration block. See below. + /// Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. /// public InputList AdditionalConfigurations { @@ -177,7 +177,7 @@ public InputList Additiona public Input? DetectorId { get; set; } /// - /// The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + /// The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. /// [Input("name")] public Input? Name { get; set; } diff --git a/sdk/dotnet/GuardDuty/Inputs/DetectorFeatureAdditionalConfigurationArgs.cs b/sdk/dotnet/GuardDuty/Inputs/DetectorFeatureAdditionalConfigurationArgs.cs index 88b07b5cbff..a9c7076e428 100644 --- a/sdk/dotnet/GuardDuty/Inputs/DetectorFeatureAdditionalConfigurationArgs.cs +++ b/sdk/dotnet/GuardDuty/Inputs/DetectorFeatureAdditionalConfigurationArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.GuardDuty.Inputs public sealed class DetectorFeatureAdditionalConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + /// The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/GuardDuty/Inputs/DetectorFeatureAdditionalConfigurationGetArgs.cs b/sdk/dotnet/GuardDuty/Inputs/DetectorFeatureAdditionalConfigurationGetArgs.cs index fa0ee6c0dea..00e5e3afc62 100644 --- a/sdk/dotnet/GuardDuty/Inputs/DetectorFeatureAdditionalConfigurationGetArgs.cs +++ b/sdk/dotnet/GuardDuty/Inputs/DetectorFeatureAdditionalConfigurationGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.GuardDuty.Inputs public sealed class DetectorFeatureAdditionalConfigurationGetArgs : global::Pulumi.ResourceArgs { /// - /// The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + /// The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanActionArgs.cs b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanActionArgs.cs new file mode 100644 index 00000000000..aed37e888f6 --- /dev/null +++ b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanActionArgs.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.GuardDuty.Inputs +{ + + public sealed class MalwareProtectionPlanActionArgs : global::Pulumi.ResourceArgs + { + [Input("taggings", required: true)] + private InputList? _taggings; + + /// + /// Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + /// + public InputList Taggings + { + get => _taggings ?? (_taggings = new InputList()); + set => _taggings = value; + } + + public MalwareProtectionPlanActionArgs() + { + } + public static new MalwareProtectionPlanActionArgs Empty => new MalwareProtectionPlanActionArgs(); + } +} diff --git a/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanActionGetArgs.cs b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanActionGetArgs.cs new file mode 100644 index 00000000000..1fe55fd8e20 --- /dev/null +++ b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanActionGetArgs.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.GuardDuty.Inputs +{ + + public sealed class MalwareProtectionPlanActionGetArgs : global::Pulumi.ResourceArgs + { + [Input("taggings", required: true)] + private InputList? _taggings; + + /// + /// Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + /// + public InputList Taggings + { + get => _taggings ?? (_taggings = new InputList()); + set => _taggings = value; + } + + public MalwareProtectionPlanActionGetArgs() + { + } + public static new MalwareProtectionPlanActionGetArgs Empty => new MalwareProtectionPlanActionGetArgs(); + } +} diff --git a/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceArgs.cs b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceArgs.cs new file mode 100644 index 00000000000..4311929a836 --- /dev/null +++ b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceArgs.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.GuardDuty.Inputs +{ + + public sealed class MalwareProtectionPlanProtectedResourceArgs : global::Pulumi.ResourceArgs + { + /// + /// Information about the protected S3 bucket resource. See `s3_bucket` below. + /// + [Input("s3Bucket")] + public Input? S3Bucket { get; set; } + + public MalwareProtectionPlanProtectedResourceArgs() + { + } + public static new MalwareProtectionPlanProtectedResourceArgs Empty => new MalwareProtectionPlanProtectedResourceArgs(); + } +} diff --git a/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceGetArgs.cs b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceGetArgs.cs new file mode 100644 index 00000000000..d8e7205e47c --- /dev/null +++ b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceGetArgs.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.GuardDuty.Inputs +{ + + public sealed class MalwareProtectionPlanProtectedResourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Information about the protected S3 bucket resource. See `s3_bucket` below. + /// + [Input("s3Bucket")] + public Input? S3Bucket { get; set; } + + public MalwareProtectionPlanProtectedResourceGetArgs() + { + } + public static new MalwareProtectionPlanProtectedResourceGetArgs Empty => new MalwareProtectionPlanProtectedResourceGetArgs(); + } +} diff --git a/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceS3BucketArgs.cs b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceS3BucketArgs.cs new file mode 100644 index 00000000000..194c82219c7 --- /dev/null +++ b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceS3BucketArgs.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.GuardDuty.Inputs +{ + + public sealed class MalwareProtectionPlanProtectedResourceS3BucketArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the S3 bucket. + /// + [Input("bucketName", required: true)] + public Input BucketName { get; set; } = null!; + + [Input("objectPrefixes")] + private InputList? _objectPrefixes; + + /// + /// The list of object prefixes that specify the S3 objects that will be scanned. + /// + public InputList ObjectPrefixes + { + get => _objectPrefixes ?? (_objectPrefixes = new InputList()); + set => _objectPrefixes = value; + } + + public MalwareProtectionPlanProtectedResourceS3BucketArgs() + { + } + public static new MalwareProtectionPlanProtectedResourceS3BucketArgs Empty => new MalwareProtectionPlanProtectedResourceS3BucketArgs(); + } +} diff --git a/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceS3BucketGetArgs.cs b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceS3BucketGetArgs.cs new file mode 100644 index 00000000000..7ebfd17a19b --- /dev/null +++ b/sdk/dotnet/GuardDuty/Inputs/MalwareProtectionPlanProtectedResourceS3BucketGetArgs.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.GuardDuty.Inputs +{ + + public sealed class MalwareProtectionPlanProtectedResourceS3BucketGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the S3 bucket. + /// + [Input("bucketName", required: true)] + public Input BucketName { get; set; } = null!; + + [Input("objectPrefixes")] + private InputList? _objectPrefixes; + + /// + /// The list of object prefixes that specify the S3 objects that will be scanned. + /// + public InputList ObjectPrefixes + { + get => _objectPrefixes ?? (_objectPrefixes = new InputList()); + set => _objectPrefixes = value; + } + + public MalwareProtectionPlanProtectedResourceS3BucketGetArgs() + { + } + public static new MalwareProtectionPlanProtectedResourceS3BucketGetArgs Empty => new MalwareProtectionPlanProtectedResourceS3BucketGetArgs(); + } +} diff --git a/sdk/dotnet/GuardDuty/Inputs/OrganizationConfigurationFeatureAdditionalConfigurationArgs.cs b/sdk/dotnet/GuardDuty/Inputs/OrganizationConfigurationFeatureAdditionalConfigurationArgs.cs index b9bc36a4def..4e4dcffe058 100644 --- a/sdk/dotnet/GuardDuty/Inputs/OrganizationConfigurationFeatureAdditionalConfigurationArgs.cs +++ b/sdk/dotnet/GuardDuty/Inputs/OrganizationConfigurationFeatureAdditionalConfigurationArgs.cs @@ -19,7 +19,7 @@ public sealed class OrganizationConfigurationFeatureAdditionalConfigurationArgs public Input AutoEnable { get; set; } = null!; /// - /// The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + /// The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/GuardDuty/Inputs/OrganizationConfigurationFeatureAdditionalConfigurationGetArgs.cs b/sdk/dotnet/GuardDuty/Inputs/OrganizationConfigurationFeatureAdditionalConfigurationGetArgs.cs index 52b21badfab..a2d44820ac5 100644 --- a/sdk/dotnet/GuardDuty/Inputs/OrganizationConfigurationFeatureAdditionalConfigurationGetArgs.cs +++ b/sdk/dotnet/GuardDuty/Inputs/OrganizationConfigurationFeatureAdditionalConfigurationGetArgs.cs @@ -19,7 +19,7 @@ public sealed class OrganizationConfigurationFeatureAdditionalConfigurationGetAr public Input AutoEnable { get; set; } = null!; /// - /// The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + /// The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/GuardDuty/MalwareProtectionPlan.cs b/sdk/dotnet/GuardDuty/MalwareProtectionPlan.cs new file mode 100644 index 00000000000..d0e4c6eb734 --- /dev/null +++ b/sdk/dotnet/GuardDuty/MalwareProtectionPlan.cs @@ -0,0 +1,229 @@ +// *** 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.GuardDuty +{ + /// + /// Provides a resource to manage a GuardDuty malware protection plan. + /// + /// ## Import + /// + /// Using `pulumi import`, import GuardDuty malware protection plans using their IDs. For example: + /// + /// ```sh + /// $ pulumi import aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan example 1234567890abcdef0123 + /// ``` + /// + [AwsResourceType("aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan")] + public partial class MalwareProtectionPlan : global::Pulumi.CustomResource + { + /// + /// Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + /// + [Output("actions")] + public Output> Actions { get; private set; } = null!; + + /// + /// The ARN of the GuardDuty malware protection plan + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The timestamp when the Malware Protection plan resource was created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + /// + [Output("protectedResource")] + public Output ProtectedResource { get; private set; } = null!; + + /// + /// The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + /// + [Output("role")] + public Output Role { get; private set; } = null!; + + /// + /// The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Key-value mapping 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. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a MalwareProtectionPlan 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 MalwareProtectionPlan(string name, MalwareProtectionPlanArgs args, CustomResourceOptions? options = null) + : base("aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan", name, args ?? new MalwareProtectionPlanArgs(), MakeResourceOptions(options, "")) + { + } + + private MalwareProtectionPlan(string name, Input id, MalwareProtectionPlanState? state = null, CustomResourceOptions? options = null) + : base("aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan", 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 MalwareProtectionPlan 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 MalwareProtectionPlan Get(string name, Input id, MalwareProtectionPlanState? state = null, CustomResourceOptions? options = null) + { + return new MalwareProtectionPlan(name, id, state, options); + } + } + + public sealed class MalwareProtectionPlanArgs : global::Pulumi.ResourceArgs + { + [Input("actions")] + private InputList? _actions; + + /// + /// Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + /// + public InputList Actions + { + get => _actions ?? (_actions = new InputList()); + set => _actions = value; + } + + /// + /// Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + /// + [Input("protectedResource")] + public Input? ProtectedResource { get; set; } + + /// + /// The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + /// + [Input("role", required: true)] + public Input Role { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value mapping 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. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public MalwareProtectionPlanArgs() + { + } + public static new MalwareProtectionPlanArgs Empty => new MalwareProtectionPlanArgs(); + } + + public sealed class MalwareProtectionPlanState : global::Pulumi.ResourceArgs + { + [Input("actions")] + private InputList? _actions; + + /// + /// Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + /// + public InputList Actions + { + get => _actions ?? (_actions = new InputList()); + set => _actions = value; + } + + /// + /// The ARN of the GuardDuty malware protection plan + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The timestamp when the Malware Protection plan resource was created. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + /// + [Input("protectedResource")] + public Input? ProtectedResource { get; set; } + + /// + /// The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + /// + [Input("role")] + public Input? Role { get; set; } + + /// + /// The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + /// + [Input("status")] + public Input? Status { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value mapping 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. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public MalwareProtectionPlanState() + { + } + public static new MalwareProtectionPlanState Empty => new MalwareProtectionPlanState(); + } +} diff --git a/sdk/dotnet/GuardDuty/OrganizationConfigurationFeature.cs b/sdk/dotnet/GuardDuty/OrganizationConfigurationFeature.cs index 0304938293f..540456088a9 100644 --- a/sdk/dotnet/GuardDuty/OrganizationConfigurationFeature.cs +++ b/sdk/dotnet/GuardDuty/OrganizationConfigurationFeature.cs @@ -51,7 +51,7 @@ namespace Pulumi.Aws.GuardDuty public partial class OrganizationConfigurationFeature : global::Pulumi.CustomResource { /// - /// The additional information that will be configured for the organization See below. + /// Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. /// [Output("additionalConfigurations")] public Output> AdditionalConfigurations { get; private set; } = null!; @@ -69,7 +69,7 @@ public partial class OrganizationConfigurationFeature : global::Pulumi.CustomRes public Output DetectorId { get; private set; } = null!; /// - /// The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + /// The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. /// [Output("name")] public Output Name { get; private set; } = null!; @@ -124,7 +124,7 @@ public sealed class OrganizationConfigurationFeatureArgs : global::Pulumi.Resour private InputList? _additionalConfigurations; /// - /// The additional information that will be configured for the organization See below. + /// Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. /// public InputList AdditionalConfigurations { @@ -145,7 +145,7 @@ public InputList DetectorId { get; set; } = null!; /// - /// The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + /// The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. /// [Input("name")] public Input? Name { get; set; } @@ -162,7 +162,7 @@ public sealed class OrganizationConfigurationFeatureState : global::Pulumi.Resou private InputList? _additionalConfigurations; /// - /// The additional information that will be configured for the organization See below. + /// Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. /// public InputList AdditionalConfigurations { @@ -183,7 +183,7 @@ public InputList? DetectorId { get; set; } /// - /// The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + /// The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. /// [Input("name")] public Input? Name { get; set; } diff --git a/sdk/dotnet/GuardDuty/Outputs/DetectorFeatureAdditionalConfiguration.cs b/sdk/dotnet/GuardDuty/Outputs/DetectorFeatureAdditionalConfiguration.cs index d67d804c750..194bf388873 100644 --- a/sdk/dotnet/GuardDuty/Outputs/DetectorFeatureAdditionalConfiguration.cs +++ b/sdk/dotnet/GuardDuty/Outputs/DetectorFeatureAdditionalConfiguration.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.GuardDuty.Outputs public sealed class DetectorFeatureAdditionalConfiguration { /// - /// The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + /// The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. /// public readonly string Name; /// diff --git a/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanAction.cs b/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanAction.cs new file mode 100644 index 00000000000..60683513b5e --- /dev/null +++ b/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanAction.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.GuardDuty.Outputs +{ + + [OutputType] + public sealed class MalwareProtectionPlanAction + { + /// + /// Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + /// + public readonly ImmutableArray Taggings; + + [OutputConstructor] + private MalwareProtectionPlanAction(ImmutableArray taggings) + { + Taggings = taggings; + } + } +} diff --git a/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanProtectedResource.cs b/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanProtectedResource.cs new file mode 100644 index 00000000000..83c3baead5c --- /dev/null +++ b/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanProtectedResource.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.GuardDuty.Outputs +{ + + [OutputType] + public sealed class MalwareProtectionPlanProtectedResource + { + /// + /// Information about the protected S3 bucket resource. See `s3_bucket` below. + /// + public readonly Outputs.MalwareProtectionPlanProtectedResourceS3Bucket? S3Bucket; + + [OutputConstructor] + private MalwareProtectionPlanProtectedResource(Outputs.MalwareProtectionPlanProtectedResourceS3Bucket? s3Bucket) + { + S3Bucket = s3Bucket; + } + } +} diff --git a/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanProtectedResourceS3Bucket.cs b/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanProtectedResourceS3Bucket.cs new file mode 100644 index 00000000000..d4cc2c100ac --- /dev/null +++ b/sdk/dotnet/GuardDuty/Outputs/MalwareProtectionPlanProtectedResourceS3Bucket.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.GuardDuty.Outputs +{ + + [OutputType] + public sealed class MalwareProtectionPlanProtectedResourceS3Bucket + { + /// + /// Name of the S3 bucket. + /// + public readonly string BucketName; + /// + /// The list of object prefixes that specify the S3 objects that will be scanned. + /// + public readonly ImmutableArray ObjectPrefixes; + + [OutputConstructor] + private MalwareProtectionPlanProtectedResourceS3Bucket( + string bucketName, + + ImmutableArray objectPrefixes) + { + BucketName = bucketName; + ObjectPrefixes = objectPrefixes; + } + } +} diff --git a/sdk/dotnet/GuardDuty/Outputs/OrganizationConfigurationFeatureAdditionalConfiguration.cs b/sdk/dotnet/GuardDuty/Outputs/OrganizationConfigurationFeatureAdditionalConfiguration.cs index 72ccaaad321..20a91de8605 100644 --- a/sdk/dotnet/GuardDuty/Outputs/OrganizationConfigurationFeatureAdditionalConfiguration.cs +++ b/sdk/dotnet/GuardDuty/Outputs/OrganizationConfigurationFeatureAdditionalConfiguration.cs @@ -18,7 +18,7 @@ public sealed class OrganizationConfigurationFeatureAdditionalConfiguration /// public readonly string AutoEnable; /// - /// The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + /// The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. /// public readonly string Name; diff --git a/sdk/dotnet/OpenSearch/Domain.cs b/sdk/dotnet/OpenSearch/Domain.cs index a00cceec6fa..db7699dedbd 100644 --- a/sdk/dotnet/OpenSearch/Domain.cs +++ b/sdk/dotnet/OpenSearch/Domain.cs @@ -550,6 +550,12 @@ public partial class Domain : global::Pulumi.CustomResource [Output("engineVersion")] public Output EngineVersion { get; private set; } = null!; + /// + /// The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + /// + [Output("ipAddressType")] + public Output IpAddressType { get; private set; } = null!; + /// /// (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. /// @@ -726,6 +732,12 @@ public InputMap AdvancedOptions [Input("engineVersion")] public Input? EngineVersion { get; set; } + /// + /// The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + /// + [Input("ipAddressType")] + public Input? IpAddressType { get; set; } + [Input("logPublishingOptions")] private InputList? _logPublishingOptions; @@ -888,6 +900,12 @@ public InputMap AdvancedOptions [Input("engineVersion")] public Input? EngineVersion { get; set; } + /// + /// The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + /// + [Input("ipAddressType")] + public Input? IpAddressType { get; set; } + /// /// (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. /// diff --git a/sdk/dotnet/OpenSearch/GetDomain.cs b/sdk/dotnet/OpenSearch/GetDomain.cs index a754cf96045..12f85d32a69 100644 --- a/sdk/dotnet/OpenSearch/GetDomain.cs +++ b/sdk/dotnet/OpenSearch/GetDomain.cs @@ -195,6 +195,10 @@ public sealed class GetDomainResult /// public readonly string Id; /// + /// Type of IP addresses supported by the endpoint for the domain. + /// + public readonly string IpAddressType; + /// /// (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. /// public readonly string KibanaEndpoint; @@ -267,6 +271,8 @@ private GetDomainResult( string id, + string ipAddressType, + string kibanaEndpoint, ImmutableArray logPublishingOptions, @@ -302,6 +308,7 @@ private GetDomainResult( Endpoint = endpoint; EngineVersion = engineVersion; Id = id; + IpAddressType = ipAddressType; KibanaEndpoint = kibanaEndpoint; LogPublishingOptions = logPublishingOptions; NodeToNodeEncryptions = nodeToNodeEncryptions; diff --git a/sdk/dotnet/SsoAdmin/AccountAssignment.cs b/sdk/dotnet/SsoAdmin/AccountAssignment.cs index 1d8059d72ec..529da47243d 100644 --- a/sdk/dotnet/SsoAdmin/AccountAssignment.cs +++ b/sdk/dotnet/SsoAdmin/AccountAssignment.cs @@ -80,7 +80,7 @@ namespace Pulumi.Aws.SsoAdmin /// /// var exampleGroup = new Aws.IdentityStore.Group("example", new() /// { - /// IdentityStoreId = ssoInstance.IdentityStoreIds[0], + /// IdentityStoreId = example.Apply(getInstancesResult => getInstancesResult.IdentityStoreIds[0]), /// DisplayName = "Admin", /// Description = "Admin Group", /// }); diff --git a/sdk/dotnet/SsoAdmin/ManagedPolicyAttachment.cs b/sdk/dotnet/SsoAdmin/ManagedPolicyAttachment.cs index d52874b3ac7..3ef7c27024e 100644 --- a/sdk/dotnet/SsoAdmin/ManagedPolicyAttachment.cs +++ b/sdk/dotnet/SsoAdmin/ManagedPolicyAttachment.cs @@ -66,7 +66,7 @@ namespace Pulumi.Aws.SsoAdmin /// /// var exampleGroup = new Aws.IdentityStore.Group("example", new() /// { - /// IdentityStoreId = ssoInstance.IdentityStoreIds[0], + /// IdentityStoreId = example.Apply(getInstancesResult => getInstancesResult.IdentityStoreIds[0]), /// DisplayName = "Admin", /// Description = "Admin Group", /// }); diff --git a/sdk/go/aws/appfabric/appAuthorization.go b/sdk/go/aws/appfabric/appAuthorization.go new file mode 100644 index 00000000000..9639129dbe8 --- /dev/null +++ b/sdk/go/aws/appfabric/appAuthorization.go @@ -0,0 +1,410 @@ +// 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 appfabric + +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 AppFabric App Authorization. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appfabric" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := appfabric.NewAppAuthorization(ctx, "example", &appfabric.AppAuthorizationArgs{ +// App: pulumi.String("TERRAFORMCLOUD"), +// AppBundleArn: pulumi.Any(arn), +// AuthType: pulumi.String("apiKey"), +// Credential: &appfabric.AppAuthorizationCredentialArgs{ +// ApiKeyCredentials: appfabric.AppAuthorizationCredentialApiKeyCredentialArray{ +// &appfabric.AppAuthorizationCredentialApiKeyCredentialArgs{ +// ApiKey: pulumi.String("exampleapikeytoken"), +// }, +// }, +// }, +// Tenants: appfabric.AppAuthorizationTenantArray{ +// &appfabric.AppAuthorizationTenantArgs{ +// TenantDisplayName: pulumi.String("example"), +// TenantIdentifier: pulumi.String("example"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type AppAuthorization struct { + pulumi.CustomResourceState + + // The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + App pulumi.StringOutput `pulumi:"app"` + // The Amazon Resource Name (ARN) of the app bundle to use for the request. + AppBundleArn pulumi.StringOutput `pulumi:"appBundleArn"` + // ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + Arn pulumi.StringOutput `pulumi:"arn"` + // The authorization type for the app authorization valid values are oauth2 and apiKey. + AuthType pulumi.StringOutput `pulumi:"authType"` + // The application URL for the OAuth flow. + AuthUrl pulumi.StringOutput `pulumi:"authUrl"` + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + // Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + Credential AppAuthorizationCredentialPtrOutput `pulumi:"credential"` + // The user persona of the app authorization. + Persona pulumi.StringOutput `pulumi:"persona"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // Contains information about an application tenant, such as the application display name and identifier. + Tenants AppAuthorizationTenantArrayOutput `pulumi:"tenants"` + Timeouts AppAuthorizationTimeoutsPtrOutput `pulumi:"timeouts"` + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewAppAuthorization registers a new resource with the given unique name, arguments, and options. +func NewAppAuthorization(ctx *pulumi.Context, + name string, args *AppAuthorizationArgs, opts ...pulumi.ResourceOption) (*AppAuthorization, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.App == nil { + return nil, errors.New("invalid value for required argument 'App'") + } + if args.AppBundleArn == nil { + return nil, errors.New("invalid value for required argument 'AppBundleArn'") + } + if args.AuthType == nil { + return nil, errors.New("invalid value for required argument 'AuthType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AppAuthorization + err := ctx.RegisterResource("aws:appfabric/appAuthorization:AppAuthorization", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAppAuthorization gets an existing AppAuthorization 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 GetAppAuthorization(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AppAuthorizationState, opts ...pulumi.ResourceOption) (*AppAuthorization, error) { + var resource AppAuthorization + err := ctx.ReadResource("aws:appfabric/appAuthorization:AppAuthorization", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AppAuthorization resources. +type appAuthorizationState struct { + // The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + App *string `pulumi:"app"` + // The Amazon Resource Name (ARN) of the app bundle to use for the request. + AppBundleArn *string `pulumi:"appBundleArn"` + // ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + Arn *string `pulumi:"arn"` + // The authorization type for the app authorization valid values are oauth2 and apiKey. + AuthType *string `pulumi:"authType"` + // The application URL for the OAuth flow. + AuthUrl *string `pulumi:"authUrl"` + CreatedAt *string `pulumi:"createdAt"` + // Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + // Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + Credential *AppAuthorizationCredential `pulumi:"credential"` + // The user persona of the app authorization. + Persona *string `pulumi:"persona"` + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + // Contains information about an application tenant, such as the application display name and identifier. + Tenants []AppAuthorizationTenant `pulumi:"tenants"` + Timeouts *AppAuthorizationTimeouts `pulumi:"timeouts"` + UpdatedAt *string `pulumi:"updatedAt"` +} + +type AppAuthorizationState struct { + // The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + App pulumi.StringPtrInput + // The Amazon Resource Name (ARN) of the app bundle to use for the request. + AppBundleArn pulumi.StringPtrInput + // ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + Arn pulumi.StringPtrInput + // The authorization type for the app authorization valid values are oauth2 and apiKey. + AuthType pulumi.StringPtrInput + // The application URL for the OAuth flow. + AuthUrl pulumi.StringPtrInput + CreatedAt pulumi.StringPtrInput + // Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + // Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + Credential AppAuthorizationCredentialPtrInput + // The user persona of the app authorization. + Persona pulumi.StringPtrInput + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + // Contains information about an application tenant, such as the application display name and identifier. + Tenants AppAuthorizationTenantArrayInput + Timeouts AppAuthorizationTimeoutsPtrInput + UpdatedAt pulumi.StringPtrInput +} + +func (AppAuthorizationState) ElementType() reflect.Type { + return reflect.TypeOf((*appAuthorizationState)(nil)).Elem() +} + +type appAuthorizationArgs struct { + // The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + App string `pulumi:"app"` + // The Amazon Resource Name (ARN) of the app bundle to use for the request. + AppBundleArn string `pulumi:"appBundleArn"` + // The authorization type for the app authorization valid values are oauth2 and apiKey. + AuthType string `pulumi:"authType"` + // Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + // Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + Credential *AppAuthorizationCredential `pulumi:"credential"` + Tags map[string]string `pulumi:"tags"` + // Contains information about an application tenant, such as the application display name and identifier. + Tenants []AppAuthorizationTenant `pulumi:"tenants"` + Timeouts *AppAuthorizationTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a AppAuthorization resource. +type AppAuthorizationArgs struct { + // The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + App pulumi.StringInput + // The Amazon Resource Name (ARN) of the app bundle to use for the request. + AppBundleArn pulumi.StringInput + // The authorization type for the app authorization valid values are oauth2 and apiKey. + AuthType pulumi.StringInput + // Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + // Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + Credential AppAuthorizationCredentialPtrInput + Tags pulumi.StringMapInput + // Contains information about an application tenant, such as the application display name and identifier. + Tenants AppAuthorizationTenantArrayInput + Timeouts AppAuthorizationTimeoutsPtrInput +} + +func (AppAuthorizationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*appAuthorizationArgs)(nil)).Elem() +} + +type AppAuthorizationInput interface { + pulumi.Input + + ToAppAuthorizationOutput() AppAuthorizationOutput + ToAppAuthorizationOutputWithContext(ctx context.Context) AppAuthorizationOutput +} + +func (*AppAuthorization) ElementType() reflect.Type { + return reflect.TypeOf((**AppAuthorization)(nil)).Elem() +} + +func (i *AppAuthorization) ToAppAuthorizationOutput() AppAuthorizationOutput { + return i.ToAppAuthorizationOutputWithContext(context.Background()) +} + +func (i *AppAuthorization) ToAppAuthorizationOutputWithContext(ctx context.Context) AppAuthorizationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationOutput) +} + +// AppAuthorizationArrayInput is an input type that accepts AppAuthorizationArray and AppAuthorizationArrayOutput values. +// You can construct a concrete instance of `AppAuthorizationArrayInput` via: +// +// AppAuthorizationArray{ AppAuthorizationArgs{...} } +type AppAuthorizationArrayInput interface { + pulumi.Input + + ToAppAuthorizationArrayOutput() AppAuthorizationArrayOutput + ToAppAuthorizationArrayOutputWithContext(context.Context) AppAuthorizationArrayOutput +} + +type AppAuthorizationArray []AppAuthorizationInput + +func (AppAuthorizationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AppAuthorization)(nil)).Elem() +} + +func (i AppAuthorizationArray) ToAppAuthorizationArrayOutput() AppAuthorizationArrayOutput { + return i.ToAppAuthorizationArrayOutputWithContext(context.Background()) +} + +func (i AppAuthorizationArray) ToAppAuthorizationArrayOutputWithContext(ctx context.Context) AppAuthorizationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationArrayOutput) +} + +// AppAuthorizationMapInput is an input type that accepts AppAuthorizationMap and AppAuthorizationMapOutput values. +// You can construct a concrete instance of `AppAuthorizationMapInput` via: +// +// AppAuthorizationMap{ "key": AppAuthorizationArgs{...} } +type AppAuthorizationMapInput interface { + pulumi.Input + + ToAppAuthorizationMapOutput() AppAuthorizationMapOutput + ToAppAuthorizationMapOutputWithContext(context.Context) AppAuthorizationMapOutput +} + +type AppAuthorizationMap map[string]AppAuthorizationInput + +func (AppAuthorizationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AppAuthorization)(nil)).Elem() +} + +func (i AppAuthorizationMap) ToAppAuthorizationMapOutput() AppAuthorizationMapOutput { + return i.ToAppAuthorizationMapOutputWithContext(context.Background()) +} + +func (i AppAuthorizationMap) ToAppAuthorizationMapOutputWithContext(ctx context.Context) AppAuthorizationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationMapOutput) +} + +type AppAuthorizationOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppAuthorization)(nil)).Elem() +} + +func (o AppAuthorizationOutput) ToAppAuthorizationOutput() AppAuthorizationOutput { + return o +} + +func (o AppAuthorizationOutput) ToAppAuthorizationOutputWithContext(ctx context.Context) AppAuthorizationOutput { + return o +} + +// The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. +func (o AppAuthorizationOutput) App() pulumi.StringOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringOutput { return v.App }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the app bundle to use for the request. +func (o AppAuthorizationOutput) AppBundleArn() pulumi.StringOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringOutput { return v.AppBundleArn }).(pulumi.StringOutput) +} + +// ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. +func (o AppAuthorizationOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The authorization type for the app authorization valid values are oauth2 and apiKey. +func (o AppAuthorizationOutput) AuthType() pulumi.StringOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringOutput { return v.AuthType }).(pulumi.StringOutput) +} + +// The application URL for the OAuth flow. +func (o AppAuthorizationOutput) AuthUrl() pulumi.StringOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringOutput { return v.AuthUrl }).(pulumi.StringOutput) +} + +func (o AppAuthorizationOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Contains credentials for the application, such as an API key or OAuth2 client ID and secret. +// Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. +func (o AppAuthorizationOutput) Credential() AppAuthorizationCredentialPtrOutput { + return o.ApplyT(func(v *AppAuthorization) AppAuthorizationCredentialPtrOutput { return v.Credential }).(AppAuthorizationCredentialPtrOutput) +} + +// The user persona of the app authorization. +func (o AppAuthorizationOutput) Persona() pulumi.StringOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringOutput { return v.Persona }).(pulumi.StringOutput) +} + +func (o AppAuthorizationOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o AppAuthorizationOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// Contains information about an application tenant, such as the application display name and identifier. +func (o AppAuthorizationOutput) Tenants() AppAuthorizationTenantArrayOutput { + return o.ApplyT(func(v *AppAuthorization) AppAuthorizationTenantArrayOutput { return v.Tenants }).(AppAuthorizationTenantArrayOutput) +} + +func (o AppAuthorizationOutput) Timeouts() AppAuthorizationTimeoutsPtrOutput { + return o.ApplyT(func(v *AppAuthorization) AppAuthorizationTimeoutsPtrOutput { return v.Timeouts }).(AppAuthorizationTimeoutsPtrOutput) +} + +func (o AppAuthorizationOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *AppAuthorization) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type AppAuthorizationArrayOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AppAuthorization)(nil)).Elem() +} + +func (o AppAuthorizationArrayOutput) ToAppAuthorizationArrayOutput() AppAuthorizationArrayOutput { + return o +} + +func (o AppAuthorizationArrayOutput) ToAppAuthorizationArrayOutputWithContext(ctx context.Context) AppAuthorizationArrayOutput { + return o +} + +func (o AppAuthorizationArrayOutput) Index(i pulumi.IntInput) AppAuthorizationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AppAuthorization { + return vs[0].([]*AppAuthorization)[vs[1].(int)] + }).(AppAuthorizationOutput) +} + +type AppAuthorizationMapOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AppAuthorization)(nil)).Elem() +} + +func (o AppAuthorizationMapOutput) ToAppAuthorizationMapOutput() AppAuthorizationMapOutput { + return o +} + +func (o AppAuthorizationMapOutput) ToAppAuthorizationMapOutputWithContext(ctx context.Context) AppAuthorizationMapOutput { + return o +} + +func (o AppAuthorizationMapOutput) MapIndex(k pulumi.StringInput) AppAuthorizationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AppAuthorization { + return vs[0].(map[string]*AppAuthorization)[vs[1].(string)] + }).(AppAuthorizationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationInput)(nil)).Elem(), &AppAuthorization{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationArrayInput)(nil)).Elem(), AppAuthorizationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationMapInput)(nil)).Elem(), AppAuthorizationMap{}) + pulumi.RegisterOutputType(AppAuthorizationOutput{}) + pulumi.RegisterOutputType(AppAuthorizationArrayOutput{}) + pulumi.RegisterOutputType(AppAuthorizationMapOutput{}) +} diff --git a/sdk/go/aws/appfabric/appBundle.go b/sdk/go/aws/appfabric/appBundle.go new file mode 100644 index 00000000000..de8de9902ec --- /dev/null +++ b/sdk/go/aws/appfabric/appBundle.go @@ -0,0 +1,299 @@ +// 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 appfabric + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS AppFabric AppBundle. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appfabric" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := appfabric.NewAppBundle(ctx, "example", &appfabric.AppBundleArgs{ +// CustomerManagedKeyArn: pulumi.Any(exampleAwmsKmsKey.Arn), +// Tags: pulumi.StringMap{ +// "Environment": pulumi.String("test"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import AppFabric AppBundle using the `arn`. For example: +// +// ```sh +// $ pulumi import aws:appfabric/appBundle:AppBundle example arn:aws:appfabric:[region]:[account]:appbundle/ee5587b4-5765-4288-a202-xxxxxxxxxx +// ``` +type AppBundle struct { + pulumi.CustomResourceState + + // ARN of the AppBundle. + Arn pulumi.StringOutput `pulumi:"arn"` + // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + CustomerManagedKeyArn pulumi.StringPtrOutput `pulumi:"customerManagedKeyArn"` + // 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"` + // 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"` +} + +// NewAppBundle registers a new resource with the given unique name, arguments, and options. +func NewAppBundle(ctx *pulumi.Context, + name string, args *AppBundleArgs, opts ...pulumi.ResourceOption) (*AppBundle, error) { + if args == nil { + args = &AppBundleArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource AppBundle + err := ctx.RegisterResource("aws:appfabric/appBundle:AppBundle", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAppBundle gets an existing AppBundle 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 GetAppBundle(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AppBundleState, opts ...pulumi.ResourceOption) (*AppBundle, error) { + var resource AppBundle + err := ctx.ReadResource("aws:appfabric/appBundle:AppBundle", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AppBundle resources. +type appBundleState struct { + // ARN of the AppBundle. + Arn *string `pulumi:"arn"` + // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + CustomerManagedKeyArn *string `pulumi:"customerManagedKeyArn"` + // 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"` + // 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"` +} + +type AppBundleState struct { + // ARN of the AppBundle. + Arn pulumi.StringPtrInput + // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + CustomerManagedKeyArn pulumi.StringPtrInput + // 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 + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput +} + +func (AppBundleState) ElementType() reflect.Type { + return reflect.TypeOf((*appBundleState)(nil)).Elem() +} + +type appBundleArgs struct { + // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + CustomerManagedKeyArn *string `pulumi:"customerManagedKeyArn"` + // 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"` +} + +// The set of arguments for constructing a AppBundle resource. +type AppBundleArgs struct { + // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + CustomerManagedKeyArn pulumi.StringPtrInput + // 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 +} + +func (AppBundleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*appBundleArgs)(nil)).Elem() +} + +type AppBundleInput interface { + pulumi.Input + + ToAppBundleOutput() AppBundleOutput + ToAppBundleOutputWithContext(ctx context.Context) AppBundleOutput +} + +func (*AppBundle) ElementType() reflect.Type { + return reflect.TypeOf((**AppBundle)(nil)).Elem() +} + +func (i *AppBundle) ToAppBundleOutput() AppBundleOutput { + return i.ToAppBundleOutputWithContext(context.Background()) +} + +func (i *AppBundle) ToAppBundleOutputWithContext(ctx context.Context) AppBundleOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppBundleOutput) +} + +// AppBundleArrayInput is an input type that accepts AppBundleArray and AppBundleArrayOutput values. +// You can construct a concrete instance of `AppBundleArrayInput` via: +// +// AppBundleArray{ AppBundleArgs{...} } +type AppBundleArrayInput interface { + pulumi.Input + + ToAppBundleArrayOutput() AppBundleArrayOutput + ToAppBundleArrayOutputWithContext(context.Context) AppBundleArrayOutput +} + +type AppBundleArray []AppBundleInput + +func (AppBundleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AppBundle)(nil)).Elem() +} + +func (i AppBundleArray) ToAppBundleArrayOutput() AppBundleArrayOutput { + return i.ToAppBundleArrayOutputWithContext(context.Background()) +} + +func (i AppBundleArray) ToAppBundleArrayOutputWithContext(ctx context.Context) AppBundleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppBundleArrayOutput) +} + +// AppBundleMapInput is an input type that accepts AppBundleMap and AppBundleMapOutput values. +// You can construct a concrete instance of `AppBundleMapInput` via: +// +// AppBundleMap{ "key": AppBundleArgs{...} } +type AppBundleMapInput interface { + pulumi.Input + + ToAppBundleMapOutput() AppBundleMapOutput + ToAppBundleMapOutputWithContext(context.Context) AppBundleMapOutput +} + +type AppBundleMap map[string]AppBundleInput + +func (AppBundleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AppBundle)(nil)).Elem() +} + +func (i AppBundleMap) ToAppBundleMapOutput() AppBundleMapOutput { + return i.ToAppBundleMapOutputWithContext(context.Background()) +} + +func (i AppBundleMap) ToAppBundleMapOutputWithContext(ctx context.Context) AppBundleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppBundleMapOutput) +} + +type AppBundleOutput struct{ *pulumi.OutputState } + +func (AppBundleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppBundle)(nil)).Elem() +} + +func (o AppBundleOutput) ToAppBundleOutput() AppBundleOutput { + return o +} + +func (o AppBundleOutput) ToAppBundleOutputWithContext(ctx context.Context) AppBundleOutput { + return o +} + +// ARN of the AppBundle. +func (o AppBundleOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *AppBundle) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. +func (o AppBundleOutput) CustomerManagedKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppBundle) pulumi.StringPtrOutput { return v.CustomerManagedKeyArn }).(pulumi.StringPtrOutput) +} + +// 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 AppBundleOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppBundle) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// +// Deprecated: Please use `tags` instead. +func (o AppBundleOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppBundle) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type AppBundleArrayOutput struct{ *pulumi.OutputState } + +func (AppBundleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AppBundle)(nil)).Elem() +} + +func (o AppBundleArrayOutput) ToAppBundleArrayOutput() AppBundleArrayOutput { + return o +} + +func (o AppBundleArrayOutput) ToAppBundleArrayOutputWithContext(ctx context.Context) AppBundleArrayOutput { + return o +} + +func (o AppBundleArrayOutput) Index(i pulumi.IntInput) AppBundleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AppBundle { + return vs[0].([]*AppBundle)[vs[1].(int)] + }).(AppBundleOutput) +} + +type AppBundleMapOutput struct{ *pulumi.OutputState } + +func (AppBundleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AppBundle)(nil)).Elem() +} + +func (o AppBundleMapOutput) ToAppBundleMapOutput() AppBundleMapOutput { + return o +} + +func (o AppBundleMapOutput) ToAppBundleMapOutputWithContext(ctx context.Context) AppBundleMapOutput { + return o +} + +func (o AppBundleMapOutput) MapIndex(k pulumi.StringInput) AppBundleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AppBundle { + return vs[0].(map[string]*AppBundle)[vs[1].(string)] + }).(AppBundleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AppBundleInput)(nil)).Elem(), &AppBundle{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppBundleArrayInput)(nil)).Elem(), AppBundleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppBundleMapInput)(nil)).Elem(), AppBundleMap{}) + pulumi.RegisterOutputType(AppBundleOutput{}) + pulumi.RegisterOutputType(AppBundleArrayOutput{}) + pulumi.RegisterOutputType(AppBundleMapOutput{}) +} diff --git a/sdk/go/aws/appfabric/init.go b/sdk/go/aws/appfabric/init.go new file mode 100644 index 00000000000..997a921cd0d --- /dev/null +++ b/sdk/go/aws/appfabric/init.go @@ -0,0 +1,51 @@ +// 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 appfabric + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "aws:appfabric/appAuthorization:AppAuthorization": + r = &AppAuthorization{} + case "aws:appfabric/appBundle:AppBundle": + r = &AppBundle{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws", + "appfabric/appAuthorization", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "appfabric/appBundle", + &module{version}, + ) +} diff --git a/sdk/go/aws/appfabric/pulumiTypes.go b/sdk/go/aws/appfabric/pulumiTypes.go new file mode 100644 index 00000000000..88341223e71 --- /dev/null +++ b/sdk/go/aws/appfabric/pulumiTypes.go @@ -0,0 +1,731 @@ +// 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 appfabric + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type AppAuthorizationCredential struct { + // Contains API key credential information. + ApiKeyCredentials []AppAuthorizationCredentialApiKeyCredential `pulumi:"apiKeyCredentials"` + // Contains OAuth2 client credential information. + Oauth2Credential *AppAuthorizationCredentialOauth2Credential `pulumi:"oauth2Credential"` +} + +// AppAuthorizationCredentialInput is an input type that accepts AppAuthorizationCredentialArgs and AppAuthorizationCredentialOutput values. +// You can construct a concrete instance of `AppAuthorizationCredentialInput` via: +// +// AppAuthorizationCredentialArgs{...} +type AppAuthorizationCredentialInput interface { + pulumi.Input + + ToAppAuthorizationCredentialOutput() AppAuthorizationCredentialOutput + ToAppAuthorizationCredentialOutputWithContext(context.Context) AppAuthorizationCredentialOutput +} + +type AppAuthorizationCredentialArgs struct { + // Contains API key credential information. + ApiKeyCredentials AppAuthorizationCredentialApiKeyCredentialArrayInput `pulumi:"apiKeyCredentials"` + // Contains OAuth2 client credential information. + Oauth2Credential AppAuthorizationCredentialOauth2CredentialPtrInput `pulumi:"oauth2Credential"` +} + +func (AppAuthorizationCredentialArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationCredential)(nil)).Elem() +} + +func (i AppAuthorizationCredentialArgs) ToAppAuthorizationCredentialOutput() AppAuthorizationCredentialOutput { + return i.ToAppAuthorizationCredentialOutputWithContext(context.Background()) +} + +func (i AppAuthorizationCredentialArgs) ToAppAuthorizationCredentialOutputWithContext(ctx context.Context) AppAuthorizationCredentialOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationCredentialOutput) +} + +func (i AppAuthorizationCredentialArgs) ToAppAuthorizationCredentialPtrOutput() AppAuthorizationCredentialPtrOutput { + return i.ToAppAuthorizationCredentialPtrOutputWithContext(context.Background()) +} + +func (i AppAuthorizationCredentialArgs) ToAppAuthorizationCredentialPtrOutputWithContext(ctx context.Context) AppAuthorizationCredentialPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationCredentialOutput).ToAppAuthorizationCredentialPtrOutputWithContext(ctx) +} + +// AppAuthorizationCredentialPtrInput is an input type that accepts AppAuthorizationCredentialArgs, AppAuthorizationCredentialPtr and AppAuthorizationCredentialPtrOutput values. +// You can construct a concrete instance of `AppAuthorizationCredentialPtrInput` via: +// +// AppAuthorizationCredentialArgs{...} +// +// or: +// +// nil +type AppAuthorizationCredentialPtrInput interface { + pulumi.Input + + ToAppAuthorizationCredentialPtrOutput() AppAuthorizationCredentialPtrOutput + ToAppAuthorizationCredentialPtrOutputWithContext(context.Context) AppAuthorizationCredentialPtrOutput +} + +type appAuthorizationCredentialPtrType AppAuthorizationCredentialArgs + +func AppAuthorizationCredentialPtr(v *AppAuthorizationCredentialArgs) AppAuthorizationCredentialPtrInput { + return (*appAuthorizationCredentialPtrType)(v) +} + +func (*appAuthorizationCredentialPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppAuthorizationCredential)(nil)).Elem() +} + +func (i *appAuthorizationCredentialPtrType) ToAppAuthorizationCredentialPtrOutput() AppAuthorizationCredentialPtrOutput { + return i.ToAppAuthorizationCredentialPtrOutputWithContext(context.Background()) +} + +func (i *appAuthorizationCredentialPtrType) ToAppAuthorizationCredentialPtrOutputWithContext(ctx context.Context) AppAuthorizationCredentialPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationCredentialPtrOutput) +} + +type AppAuthorizationCredentialOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationCredentialOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationCredential)(nil)).Elem() +} + +func (o AppAuthorizationCredentialOutput) ToAppAuthorizationCredentialOutput() AppAuthorizationCredentialOutput { + return o +} + +func (o AppAuthorizationCredentialOutput) ToAppAuthorizationCredentialOutputWithContext(ctx context.Context) AppAuthorizationCredentialOutput { + return o +} + +func (o AppAuthorizationCredentialOutput) ToAppAuthorizationCredentialPtrOutput() AppAuthorizationCredentialPtrOutput { + return o.ToAppAuthorizationCredentialPtrOutputWithContext(context.Background()) +} + +func (o AppAuthorizationCredentialOutput) ToAppAuthorizationCredentialPtrOutputWithContext(ctx context.Context) AppAuthorizationCredentialPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppAuthorizationCredential) *AppAuthorizationCredential { + return &v + }).(AppAuthorizationCredentialPtrOutput) +} + +// Contains API key credential information. +func (o AppAuthorizationCredentialOutput) ApiKeyCredentials() AppAuthorizationCredentialApiKeyCredentialArrayOutput { + return o.ApplyT(func(v AppAuthorizationCredential) []AppAuthorizationCredentialApiKeyCredential { + return v.ApiKeyCredentials + }).(AppAuthorizationCredentialApiKeyCredentialArrayOutput) +} + +// Contains OAuth2 client credential information. +func (o AppAuthorizationCredentialOutput) Oauth2Credential() AppAuthorizationCredentialOauth2CredentialPtrOutput { + return o.ApplyT(func(v AppAuthorizationCredential) *AppAuthorizationCredentialOauth2Credential { + return v.Oauth2Credential + }).(AppAuthorizationCredentialOauth2CredentialPtrOutput) +} + +type AppAuthorizationCredentialPtrOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationCredentialPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppAuthorizationCredential)(nil)).Elem() +} + +func (o AppAuthorizationCredentialPtrOutput) ToAppAuthorizationCredentialPtrOutput() AppAuthorizationCredentialPtrOutput { + return o +} + +func (o AppAuthorizationCredentialPtrOutput) ToAppAuthorizationCredentialPtrOutputWithContext(ctx context.Context) AppAuthorizationCredentialPtrOutput { + return o +} + +func (o AppAuthorizationCredentialPtrOutput) Elem() AppAuthorizationCredentialOutput { + return o.ApplyT(func(v *AppAuthorizationCredential) AppAuthorizationCredential { + if v != nil { + return *v + } + var ret AppAuthorizationCredential + return ret + }).(AppAuthorizationCredentialOutput) +} + +// Contains API key credential information. +func (o AppAuthorizationCredentialPtrOutput) ApiKeyCredentials() AppAuthorizationCredentialApiKeyCredentialArrayOutput { + return o.ApplyT(func(v *AppAuthorizationCredential) []AppAuthorizationCredentialApiKeyCredential { + if v == nil { + return nil + } + return v.ApiKeyCredentials + }).(AppAuthorizationCredentialApiKeyCredentialArrayOutput) +} + +// Contains OAuth2 client credential information. +func (o AppAuthorizationCredentialPtrOutput) Oauth2Credential() AppAuthorizationCredentialOauth2CredentialPtrOutput { + return o.ApplyT(func(v *AppAuthorizationCredential) *AppAuthorizationCredentialOauth2Credential { + if v == nil { + return nil + } + return v.Oauth2Credential + }).(AppAuthorizationCredentialOauth2CredentialPtrOutput) +} + +type AppAuthorizationCredentialApiKeyCredential struct { + // Contains API key credential information. + ApiKey string `pulumi:"apiKey"` +} + +// AppAuthorizationCredentialApiKeyCredentialInput is an input type that accepts AppAuthorizationCredentialApiKeyCredentialArgs and AppAuthorizationCredentialApiKeyCredentialOutput values. +// You can construct a concrete instance of `AppAuthorizationCredentialApiKeyCredentialInput` via: +// +// AppAuthorizationCredentialApiKeyCredentialArgs{...} +type AppAuthorizationCredentialApiKeyCredentialInput interface { + pulumi.Input + + ToAppAuthorizationCredentialApiKeyCredentialOutput() AppAuthorizationCredentialApiKeyCredentialOutput + ToAppAuthorizationCredentialApiKeyCredentialOutputWithContext(context.Context) AppAuthorizationCredentialApiKeyCredentialOutput +} + +type AppAuthorizationCredentialApiKeyCredentialArgs struct { + // Contains API key credential information. + ApiKey pulumi.StringInput `pulumi:"apiKey"` +} + +func (AppAuthorizationCredentialApiKeyCredentialArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationCredentialApiKeyCredential)(nil)).Elem() +} + +func (i AppAuthorizationCredentialApiKeyCredentialArgs) ToAppAuthorizationCredentialApiKeyCredentialOutput() AppAuthorizationCredentialApiKeyCredentialOutput { + return i.ToAppAuthorizationCredentialApiKeyCredentialOutputWithContext(context.Background()) +} + +func (i AppAuthorizationCredentialApiKeyCredentialArgs) ToAppAuthorizationCredentialApiKeyCredentialOutputWithContext(ctx context.Context) AppAuthorizationCredentialApiKeyCredentialOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationCredentialApiKeyCredentialOutput) +} + +// AppAuthorizationCredentialApiKeyCredentialArrayInput is an input type that accepts AppAuthorizationCredentialApiKeyCredentialArray and AppAuthorizationCredentialApiKeyCredentialArrayOutput values. +// You can construct a concrete instance of `AppAuthorizationCredentialApiKeyCredentialArrayInput` via: +// +// AppAuthorizationCredentialApiKeyCredentialArray{ AppAuthorizationCredentialApiKeyCredentialArgs{...} } +type AppAuthorizationCredentialApiKeyCredentialArrayInput interface { + pulumi.Input + + ToAppAuthorizationCredentialApiKeyCredentialArrayOutput() AppAuthorizationCredentialApiKeyCredentialArrayOutput + ToAppAuthorizationCredentialApiKeyCredentialArrayOutputWithContext(context.Context) AppAuthorizationCredentialApiKeyCredentialArrayOutput +} + +type AppAuthorizationCredentialApiKeyCredentialArray []AppAuthorizationCredentialApiKeyCredentialInput + +func (AppAuthorizationCredentialApiKeyCredentialArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppAuthorizationCredentialApiKeyCredential)(nil)).Elem() +} + +func (i AppAuthorizationCredentialApiKeyCredentialArray) ToAppAuthorizationCredentialApiKeyCredentialArrayOutput() AppAuthorizationCredentialApiKeyCredentialArrayOutput { + return i.ToAppAuthorizationCredentialApiKeyCredentialArrayOutputWithContext(context.Background()) +} + +func (i AppAuthorizationCredentialApiKeyCredentialArray) ToAppAuthorizationCredentialApiKeyCredentialArrayOutputWithContext(ctx context.Context) AppAuthorizationCredentialApiKeyCredentialArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationCredentialApiKeyCredentialArrayOutput) +} + +type AppAuthorizationCredentialApiKeyCredentialOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationCredentialApiKeyCredentialOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationCredentialApiKeyCredential)(nil)).Elem() +} + +func (o AppAuthorizationCredentialApiKeyCredentialOutput) ToAppAuthorizationCredentialApiKeyCredentialOutput() AppAuthorizationCredentialApiKeyCredentialOutput { + return o +} + +func (o AppAuthorizationCredentialApiKeyCredentialOutput) ToAppAuthorizationCredentialApiKeyCredentialOutputWithContext(ctx context.Context) AppAuthorizationCredentialApiKeyCredentialOutput { + return o +} + +// Contains API key credential information. +func (o AppAuthorizationCredentialApiKeyCredentialOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v AppAuthorizationCredentialApiKeyCredential) string { return v.ApiKey }).(pulumi.StringOutput) +} + +type AppAuthorizationCredentialApiKeyCredentialArrayOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationCredentialApiKeyCredentialArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppAuthorizationCredentialApiKeyCredential)(nil)).Elem() +} + +func (o AppAuthorizationCredentialApiKeyCredentialArrayOutput) ToAppAuthorizationCredentialApiKeyCredentialArrayOutput() AppAuthorizationCredentialApiKeyCredentialArrayOutput { + return o +} + +func (o AppAuthorizationCredentialApiKeyCredentialArrayOutput) ToAppAuthorizationCredentialApiKeyCredentialArrayOutputWithContext(ctx context.Context) AppAuthorizationCredentialApiKeyCredentialArrayOutput { + return o +} + +func (o AppAuthorizationCredentialApiKeyCredentialArrayOutput) Index(i pulumi.IntInput) AppAuthorizationCredentialApiKeyCredentialOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppAuthorizationCredentialApiKeyCredential { + return vs[0].([]AppAuthorizationCredentialApiKeyCredential)[vs[1].(int)] + }).(AppAuthorizationCredentialApiKeyCredentialOutput) +} + +type AppAuthorizationCredentialOauth2Credential struct { + // The client ID of the client application. + ClientId string `pulumi:"clientId"` + // The client secret of the client application. + ClientSecret string `pulumi:"clientSecret"` +} + +// AppAuthorizationCredentialOauth2CredentialInput is an input type that accepts AppAuthorizationCredentialOauth2CredentialArgs and AppAuthorizationCredentialOauth2CredentialOutput values. +// You can construct a concrete instance of `AppAuthorizationCredentialOauth2CredentialInput` via: +// +// AppAuthorizationCredentialOauth2CredentialArgs{...} +type AppAuthorizationCredentialOauth2CredentialInput interface { + pulumi.Input + + ToAppAuthorizationCredentialOauth2CredentialOutput() AppAuthorizationCredentialOauth2CredentialOutput + ToAppAuthorizationCredentialOauth2CredentialOutputWithContext(context.Context) AppAuthorizationCredentialOauth2CredentialOutput +} + +type AppAuthorizationCredentialOauth2CredentialArgs struct { + // The client ID of the client application. + ClientId pulumi.StringInput `pulumi:"clientId"` + // The client secret of the client application. + ClientSecret pulumi.StringInput `pulumi:"clientSecret"` +} + +func (AppAuthorizationCredentialOauth2CredentialArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationCredentialOauth2Credential)(nil)).Elem() +} + +func (i AppAuthorizationCredentialOauth2CredentialArgs) ToAppAuthorizationCredentialOauth2CredentialOutput() AppAuthorizationCredentialOauth2CredentialOutput { + return i.ToAppAuthorizationCredentialOauth2CredentialOutputWithContext(context.Background()) +} + +func (i AppAuthorizationCredentialOauth2CredentialArgs) ToAppAuthorizationCredentialOauth2CredentialOutputWithContext(ctx context.Context) AppAuthorizationCredentialOauth2CredentialOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationCredentialOauth2CredentialOutput) +} + +func (i AppAuthorizationCredentialOauth2CredentialArgs) ToAppAuthorizationCredentialOauth2CredentialPtrOutput() AppAuthorizationCredentialOauth2CredentialPtrOutput { + return i.ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(context.Background()) +} + +func (i AppAuthorizationCredentialOauth2CredentialArgs) ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(ctx context.Context) AppAuthorizationCredentialOauth2CredentialPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationCredentialOauth2CredentialOutput).ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(ctx) +} + +// AppAuthorizationCredentialOauth2CredentialPtrInput is an input type that accepts AppAuthorizationCredentialOauth2CredentialArgs, AppAuthorizationCredentialOauth2CredentialPtr and AppAuthorizationCredentialOauth2CredentialPtrOutput values. +// You can construct a concrete instance of `AppAuthorizationCredentialOauth2CredentialPtrInput` via: +// +// AppAuthorizationCredentialOauth2CredentialArgs{...} +// +// or: +// +// nil +type AppAuthorizationCredentialOauth2CredentialPtrInput interface { + pulumi.Input + + ToAppAuthorizationCredentialOauth2CredentialPtrOutput() AppAuthorizationCredentialOauth2CredentialPtrOutput + ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(context.Context) AppAuthorizationCredentialOauth2CredentialPtrOutput +} + +type appAuthorizationCredentialOauth2CredentialPtrType AppAuthorizationCredentialOauth2CredentialArgs + +func AppAuthorizationCredentialOauth2CredentialPtr(v *AppAuthorizationCredentialOauth2CredentialArgs) AppAuthorizationCredentialOauth2CredentialPtrInput { + return (*appAuthorizationCredentialOauth2CredentialPtrType)(v) +} + +func (*appAuthorizationCredentialOauth2CredentialPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppAuthorizationCredentialOauth2Credential)(nil)).Elem() +} + +func (i *appAuthorizationCredentialOauth2CredentialPtrType) ToAppAuthorizationCredentialOauth2CredentialPtrOutput() AppAuthorizationCredentialOauth2CredentialPtrOutput { + return i.ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(context.Background()) +} + +func (i *appAuthorizationCredentialOauth2CredentialPtrType) ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(ctx context.Context) AppAuthorizationCredentialOauth2CredentialPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationCredentialOauth2CredentialPtrOutput) +} + +type AppAuthorizationCredentialOauth2CredentialOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationCredentialOauth2CredentialOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationCredentialOauth2Credential)(nil)).Elem() +} + +func (o AppAuthorizationCredentialOauth2CredentialOutput) ToAppAuthorizationCredentialOauth2CredentialOutput() AppAuthorizationCredentialOauth2CredentialOutput { + return o +} + +func (o AppAuthorizationCredentialOauth2CredentialOutput) ToAppAuthorizationCredentialOauth2CredentialOutputWithContext(ctx context.Context) AppAuthorizationCredentialOauth2CredentialOutput { + return o +} + +func (o AppAuthorizationCredentialOauth2CredentialOutput) ToAppAuthorizationCredentialOauth2CredentialPtrOutput() AppAuthorizationCredentialOauth2CredentialPtrOutput { + return o.ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(context.Background()) +} + +func (o AppAuthorizationCredentialOauth2CredentialOutput) ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(ctx context.Context) AppAuthorizationCredentialOauth2CredentialPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppAuthorizationCredentialOauth2Credential) *AppAuthorizationCredentialOauth2Credential { + return &v + }).(AppAuthorizationCredentialOauth2CredentialPtrOutput) +} + +// The client ID of the client application. +func (o AppAuthorizationCredentialOauth2CredentialOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v AppAuthorizationCredentialOauth2Credential) string { return v.ClientId }).(pulumi.StringOutput) +} + +// The client secret of the client application. +func (o AppAuthorizationCredentialOauth2CredentialOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v AppAuthorizationCredentialOauth2Credential) string { return v.ClientSecret }).(pulumi.StringOutput) +} + +type AppAuthorizationCredentialOauth2CredentialPtrOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationCredentialOauth2CredentialPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppAuthorizationCredentialOauth2Credential)(nil)).Elem() +} + +func (o AppAuthorizationCredentialOauth2CredentialPtrOutput) ToAppAuthorizationCredentialOauth2CredentialPtrOutput() AppAuthorizationCredentialOauth2CredentialPtrOutput { + return o +} + +func (o AppAuthorizationCredentialOauth2CredentialPtrOutput) ToAppAuthorizationCredentialOauth2CredentialPtrOutputWithContext(ctx context.Context) AppAuthorizationCredentialOauth2CredentialPtrOutput { + return o +} + +func (o AppAuthorizationCredentialOauth2CredentialPtrOutput) Elem() AppAuthorizationCredentialOauth2CredentialOutput { + return o.ApplyT(func(v *AppAuthorizationCredentialOauth2Credential) AppAuthorizationCredentialOauth2Credential { + if v != nil { + return *v + } + var ret AppAuthorizationCredentialOauth2Credential + return ret + }).(AppAuthorizationCredentialOauth2CredentialOutput) +} + +// The client ID of the client application. +func (o AppAuthorizationCredentialOauth2CredentialPtrOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppAuthorizationCredentialOauth2Credential) *string { + if v == nil { + return nil + } + return &v.ClientId + }).(pulumi.StringPtrOutput) +} + +// The client secret of the client application. +func (o AppAuthorizationCredentialOauth2CredentialPtrOutput) ClientSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppAuthorizationCredentialOauth2Credential) *string { + if v == nil { + return nil + } + return &v.ClientSecret + }).(pulumi.StringPtrOutput) +} + +type AppAuthorizationTenant struct { + // The display name of the tenant. + TenantDisplayName string `pulumi:"tenantDisplayName"` + // The ID of the application tenant. + TenantIdentifier string `pulumi:"tenantIdentifier"` +} + +// AppAuthorizationTenantInput is an input type that accepts AppAuthorizationTenantArgs and AppAuthorizationTenantOutput values. +// You can construct a concrete instance of `AppAuthorizationTenantInput` via: +// +// AppAuthorizationTenantArgs{...} +type AppAuthorizationTenantInput interface { + pulumi.Input + + ToAppAuthorizationTenantOutput() AppAuthorizationTenantOutput + ToAppAuthorizationTenantOutputWithContext(context.Context) AppAuthorizationTenantOutput +} + +type AppAuthorizationTenantArgs struct { + // The display name of the tenant. + TenantDisplayName pulumi.StringInput `pulumi:"tenantDisplayName"` + // The ID of the application tenant. + TenantIdentifier pulumi.StringInput `pulumi:"tenantIdentifier"` +} + +func (AppAuthorizationTenantArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationTenant)(nil)).Elem() +} + +func (i AppAuthorizationTenantArgs) ToAppAuthorizationTenantOutput() AppAuthorizationTenantOutput { + return i.ToAppAuthorizationTenantOutputWithContext(context.Background()) +} + +func (i AppAuthorizationTenantArgs) ToAppAuthorizationTenantOutputWithContext(ctx context.Context) AppAuthorizationTenantOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationTenantOutput) +} + +// AppAuthorizationTenantArrayInput is an input type that accepts AppAuthorizationTenantArray and AppAuthorizationTenantArrayOutput values. +// You can construct a concrete instance of `AppAuthorizationTenantArrayInput` via: +// +// AppAuthorizationTenantArray{ AppAuthorizationTenantArgs{...} } +type AppAuthorizationTenantArrayInput interface { + pulumi.Input + + ToAppAuthorizationTenantArrayOutput() AppAuthorizationTenantArrayOutput + ToAppAuthorizationTenantArrayOutputWithContext(context.Context) AppAuthorizationTenantArrayOutput +} + +type AppAuthorizationTenantArray []AppAuthorizationTenantInput + +func (AppAuthorizationTenantArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppAuthorizationTenant)(nil)).Elem() +} + +func (i AppAuthorizationTenantArray) ToAppAuthorizationTenantArrayOutput() AppAuthorizationTenantArrayOutput { + return i.ToAppAuthorizationTenantArrayOutputWithContext(context.Background()) +} + +func (i AppAuthorizationTenantArray) ToAppAuthorizationTenantArrayOutputWithContext(ctx context.Context) AppAuthorizationTenantArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationTenantArrayOutput) +} + +type AppAuthorizationTenantOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationTenantOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationTenant)(nil)).Elem() +} + +func (o AppAuthorizationTenantOutput) ToAppAuthorizationTenantOutput() AppAuthorizationTenantOutput { + return o +} + +func (o AppAuthorizationTenantOutput) ToAppAuthorizationTenantOutputWithContext(ctx context.Context) AppAuthorizationTenantOutput { + return o +} + +// The display name of the tenant. +func (o AppAuthorizationTenantOutput) TenantDisplayName() pulumi.StringOutput { + return o.ApplyT(func(v AppAuthorizationTenant) string { return v.TenantDisplayName }).(pulumi.StringOutput) +} + +// The ID of the application tenant. +func (o AppAuthorizationTenantOutput) TenantIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v AppAuthorizationTenant) string { return v.TenantIdentifier }).(pulumi.StringOutput) +} + +type AppAuthorizationTenantArrayOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationTenantArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppAuthorizationTenant)(nil)).Elem() +} + +func (o AppAuthorizationTenantArrayOutput) ToAppAuthorizationTenantArrayOutput() AppAuthorizationTenantArrayOutput { + return o +} + +func (o AppAuthorizationTenantArrayOutput) ToAppAuthorizationTenantArrayOutputWithContext(ctx context.Context) AppAuthorizationTenantArrayOutput { + return o +} + +func (o AppAuthorizationTenantArrayOutput) Index(i pulumi.IntInput) AppAuthorizationTenantOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppAuthorizationTenant { + return vs[0].([]AppAuthorizationTenant)[vs[1].(int)] + }).(AppAuthorizationTenantOutput) +} + +type AppAuthorizationTimeouts 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"` +} + +// AppAuthorizationTimeoutsInput is an input type that accepts AppAuthorizationTimeoutsArgs and AppAuthorizationTimeoutsOutput values. +// You can construct a concrete instance of `AppAuthorizationTimeoutsInput` via: +// +// AppAuthorizationTimeoutsArgs{...} +type AppAuthorizationTimeoutsInput interface { + pulumi.Input + + ToAppAuthorizationTimeoutsOutput() AppAuthorizationTimeoutsOutput + ToAppAuthorizationTimeoutsOutputWithContext(context.Context) AppAuthorizationTimeoutsOutput +} + +type AppAuthorizationTimeoutsArgs 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 (AppAuthorizationTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationTimeouts)(nil)).Elem() +} + +func (i AppAuthorizationTimeoutsArgs) ToAppAuthorizationTimeoutsOutput() AppAuthorizationTimeoutsOutput { + return i.ToAppAuthorizationTimeoutsOutputWithContext(context.Background()) +} + +func (i AppAuthorizationTimeoutsArgs) ToAppAuthorizationTimeoutsOutputWithContext(ctx context.Context) AppAuthorizationTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationTimeoutsOutput) +} + +func (i AppAuthorizationTimeoutsArgs) ToAppAuthorizationTimeoutsPtrOutput() AppAuthorizationTimeoutsPtrOutput { + return i.ToAppAuthorizationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i AppAuthorizationTimeoutsArgs) ToAppAuthorizationTimeoutsPtrOutputWithContext(ctx context.Context) AppAuthorizationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationTimeoutsOutput).ToAppAuthorizationTimeoutsPtrOutputWithContext(ctx) +} + +// AppAuthorizationTimeoutsPtrInput is an input type that accepts AppAuthorizationTimeoutsArgs, AppAuthorizationTimeoutsPtr and AppAuthorizationTimeoutsPtrOutput values. +// You can construct a concrete instance of `AppAuthorizationTimeoutsPtrInput` via: +// +// AppAuthorizationTimeoutsArgs{...} +// +// or: +// +// nil +type AppAuthorizationTimeoutsPtrInput interface { + pulumi.Input + + ToAppAuthorizationTimeoutsPtrOutput() AppAuthorizationTimeoutsPtrOutput + ToAppAuthorizationTimeoutsPtrOutputWithContext(context.Context) AppAuthorizationTimeoutsPtrOutput +} + +type appAuthorizationTimeoutsPtrType AppAuthorizationTimeoutsArgs + +func AppAuthorizationTimeoutsPtr(v *AppAuthorizationTimeoutsArgs) AppAuthorizationTimeoutsPtrInput { + return (*appAuthorizationTimeoutsPtrType)(v) +} + +func (*appAuthorizationTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppAuthorizationTimeouts)(nil)).Elem() +} + +func (i *appAuthorizationTimeoutsPtrType) ToAppAuthorizationTimeoutsPtrOutput() AppAuthorizationTimeoutsPtrOutput { + return i.ToAppAuthorizationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *appAuthorizationTimeoutsPtrType) ToAppAuthorizationTimeoutsPtrOutputWithContext(ctx context.Context) AppAuthorizationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppAuthorizationTimeoutsPtrOutput) +} + +type AppAuthorizationTimeoutsOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppAuthorizationTimeouts)(nil)).Elem() +} + +func (o AppAuthorizationTimeoutsOutput) ToAppAuthorizationTimeoutsOutput() AppAuthorizationTimeoutsOutput { + return o +} + +func (o AppAuthorizationTimeoutsOutput) ToAppAuthorizationTimeoutsOutputWithContext(ctx context.Context) AppAuthorizationTimeoutsOutput { + return o +} + +func (o AppAuthorizationTimeoutsOutput) ToAppAuthorizationTimeoutsPtrOutput() AppAuthorizationTimeoutsPtrOutput { + return o.ToAppAuthorizationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o AppAuthorizationTimeoutsOutput) ToAppAuthorizationTimeoutsPtrOutputWithContext(ctx context.Context) AppAuthorizationTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppAuthorizationTimeouts) *AppAuthorizationTimeouts { + return &v + }).(AppAuthorizationTimeoutsPtrOutput) +} + +// 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 AppAuthorizationTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppAuthorizationTimeouts) *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 AppAuthorizationTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppAuthorizationTimeouts) *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 AppAuthorizationTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppAuthorizationTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type AppAuthorizationTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (AppAuthorizationTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppAuthorizationTimeouts)(nil)).Elem() +} + +func (o AppAuthorizationTimeoutsPtrOutput) ToAppAuthorizationTimeoutsPtrOutput() AppAuthorizationTimeoutsPtrOutput { + return o +} + +func (o AppAuthorizationTimeoutsPtrOutput) ToAppAuthorizationTimeoutsPtrOutputWithContext(ctx context.Context) AppAuthorizationTimeoutsPtrOutput { + return o +} + +func (o AppAuthorizationTimeoutsPtrOutput) Elem() AppAuthorizationTimeoutsOutput { + return o.ApplyT(func(v *AppAuthorizationTimeouts) AppAuthorizationTimeouts { + if v != nil { + return *v + } + var ret AppAuthorizationTimeouts + return ret + }).(AppAuthorizationTimeoutsOutput) +} + +// 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 AppAuthorizationTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppAuthorizationTimeouts) *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 AppAuthorizationTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppAuthorizationTimeouts) *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 AppAuthorizationTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppAuthorizationTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationCredentialInput)(nil)).Elem(), AppAuthorizationCredentialArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationCredentialPtrInput)(nil)).Elem(), AppAuthorizationCredentialArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationCredentialApiKeyCredentialInput)(nil)).Elem(), AppAuthorizationCredentialApiKeyCredentialArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationCredentialApiKeyCredentialArrayInput)(nil)).Elem(), AppAuthorizationCredentialApiKeyCredentialArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationCredentialOauth2CredentialInput)(nil)).Elem(), AppAuthorizationCredentialOauth2CredentialArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationCredentialOauth2CredentialPtrInput)(nil)).Elem(), AppAuthorizationCredentialOauth2CredentialArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationTenantInput)(nil)).Elem(), AppAuthorizationTenantArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationTenantArrayInput)(nil)).Elem(), AppAuthorizationTenantArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationTimeoutsInput)(nil)).Elem(), AppAuthorizationTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppAuthorizationTimeoutsPtrInput)(nil)).Elem(), AppAuthorizationTimeoutsArgs{}) + pulumi.RegisterOutputType(AppAuthorizationCredentialOutput{}) + pulumi.RegisterOutputType(AppAuthorizationCredentialPtrOutput{}) + pulumi.RegisterOutputType(AppAuthorizationCredentialApiKeyCredentialOutput{}) + pulumi.RegisterOutputType(AppAuthorizationCredentialApiKeyCredentialArrayOutput{}) + pulumi.RegisterOutputType(AppAuthorizationCredentialOauth2CredentialOutput{}) + pulumi.RegisterOutputType(AppAuthorizationCredentialOauth2CredentialPtrOutput{}) + pulumi.RegisterOutputType(AppAuthorizationTenantOutput{}) + pulumi.RegisterOutputType(AppAuthorizationTenantArrayOutput{}) + pulumi.RegisterOutputType(AppAuthorizationTimeoutsOutput{}) + pulumi.RegisterOutputType(AppAuthorizationTimeoutsPtrOutput{}) +} diff --git a/sdk/go/aws/codebuild/project.go b/sdk/go/aws/codebuild/project.go index 0ed7b9fceb6..1283d6fc81c 100644 --- a/sdk/go/aws/codebuild/project.go +++ b/sdk/go/aws/codebuild/project.go @@ -284,7 +284,7 @@ type Project struct { BadgeUrl pulumi.StringOutput `pulumi:"badgeUrl"` // Defines the batch build options for the project. BuildBatchConfig ProjectBuildBatchConfigPtrOutput `pulumi:"buildBatchConfig"` - // Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. + // Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. BuildTimeout pulumi.IntPtrOutput `pulumi:"buildTimeout"` // Configuration block. Detailed below. Cache ProjectCachePtrOutput `pulumi:"cache"` @@ -386,7 +386,7 @@ type projectState struct { BadgeUrl *string `pulumi:"badgeUrl"` // Defines the batch build options for the project. BuildBatchConfig *ProjectBuildBatchConfig `pulumi:"buildBatchConfig"` - // Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. + // Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. BuildTimeout *int `pulumi:"buildTimeout"` // Configuration block. Detailed below. Cache *ProjectCache `pulumi:"cache"` @@ -447,7 +447,7 @@ type ProjectState struct { BadgeUrl pulumi.StringPtrInput // Defines the batch build options for the project. BuildBatchConfig ProjectBuildBatchConfigPtrInput - // Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. + // Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. BuildTimeout pulumi.IntPtrInput // Configuration block. Detailed below. Cache ProjectCachePtrInput @@ -508,7 +508,7 @@ type projectArgs struct { BadgeEnabled *bool `pulumi:"badgeEnabled"` // Defines the batch build options for the project. BuildBatchConfig *ProjectBuildBatchConfig `pulumi:"buildBatchConfig"` - // Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. + // Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. BuildTimeout *int `pulumi:"buildTimeout"` // Configuration block. Detailed below. Cache *ProjectCache `pulumi:"cache"` @@ -560,7 +560,7 @@ type ProjectArgs struct { BadgeEnabled pulumi.BoolPtrInput // Defines the batch build options for the project. BuildBatchConfig ProjectBuildBatchConfigPtrInput - // Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. + // Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. BuildTimeout pulumi.IntPtrInput // Configuration block. Detailed below. Cache ProjectCachePtrInput @@ -716,7 +716,7 @@ func (o ProjectOutput) BuildBatchConfig() ProjectBuildBatchConfigPtrOutput { return o.ApplyT(func(v *Project) ProjectBuildBatchConfigPtrOutput { return v.BuildBatchConfig }).(ProjectBuildBatchConfigPtrOutput) } -// Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. +// Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. func (o ProjectOutput) BuildTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *Project) pulumi.IntPtrOutput { return v.BuildTimeout }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/codepipeline/pulumiTypes.go b/sdk/go/aws/codepipeline/pulumiTypes.go index aa89247cda3..41e5192b21d 100644 --- a/sdk/go/aws/codepipeline/pulumiTypes.go +++ b/sdk/go/aws/codepipeline/pulumiTypes.go @@ -1363,7 +1363,7 @@ type PipelineTriggerGitConfiguration struct { PullRequests []PipelineTriggerGitConfigurationPullRequest `pulumi:"pullRequests"` // The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A `push` block is documented below. Pushes []PipelineTriggerGitConfigurationPush `pulumi:"pushes"` - // The name of the pipeline source action where the trigger configuration. + // The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. SourceActionName string `pulumi:"sourceActionName"` } @@ -1383,7 +1383,7 @@ type PipelineTriggerGitConfigurationArgs struct { PullRequests PipelineTriggerGitConfigurationPullRequestArrayInput `pulumi:"pullRequests"` // The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A `push` block is documented below. Pushes PipelineTriggerGitConfigurationPushArrayInput `pulumi:"pushes"` - // The name of the pipeline source action where the trigger configuration. + // The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. SourceActionName pulumi.StringInput `pulumi:"sourceActionName"` } @@ -1425,7 +1425,7 @@ func (o PipelineTriggerGitConfigurationOutput) Pushes() PipelineTriggerGitConfig return o.ApplyT(func(v PipelineTriggerGitConfiguration) []PipelineTriggerGitConfigurationPush { return v.Pushes }).(PipelineTriggerGitConfigurationPushArrayOutput) } -// The name of the pipeline source action where the trigger configuration. +// The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. func (o PipelineTriggerGitConfigurationOutput) SourceActionName() pulumi.StringOutput { return o.ApplyT(func(v PipelineTriggerGitConfiguration) string { return v.SourceActionName }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/detective/organizationConfiguration.go b/sdk/go/aws/detective/organizationConfiguration.go index 8107eb3c393..37694129fcf 100644 --- a/sdk/go/aws/detective/organizationConfiguration.go +++ b/sdk/go/aws/detective/organizationConfiguration.go @@ -16,10 +16,10 @@ import ( // // ## Import // -// Using `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example: +// Using `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example: // // ```sh -// $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617 +// $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example arn:aws:detective:us-east-1:123456789012:graph:00b00fd5aecc0ab60a708659477e9617 // ``` type OrganizationConfiguration struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/ec2/capacityBlockReservation.go b/sdk/go/aws/ec2/capacityBlockReservation.go new file mode 100644 index 00000000000..f73c81919ae --- /dev/null +++ b/sdk/go/aws/ec2/capacityBlockReservation.go @@ -0,0 +1,427 @@ +// 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" +) + +// Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads. +// +// > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacityBlockOfferingId` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html). +// +// > **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub. +type CapacityBlockReservation struct { + pulumi.CustomResourceState + + // The ARN of the reservation. + Arn pulumi.StringOutput `pulumi:"arn"` + // The Availability Zone in which to create the Capacity Block Reservation. + AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` + // The Capacity Block Reservation ID. + CapacityBlockOfferingId pulumi.StringOutput `pulumi:"capacityBlockOfferingId"` + // The date and time at which the Capacity Block Reservation was created. + CreatedDate pulumi.StringOutput `pulumi:"createdDate"` + // Indicates whether the Capacity Reservation supports EBS-optimized instances. + EbsOptimized pulumi.BoolOutput `pulumi:"ebsOptimized"` + // The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + EndDate pulumi.StringOutput `pulumi:"endDate"` + // Indicates the way in which the Capacity Reservation ends. + EndDateType pulumi.StringOutput `pulumi:"endDateType"` + // The number of instances for which to reserve capacity. + InstanceCount pulumi.IntOutput `pulumi:"instanceCount"` + // The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + InstancePlatform pulumi.StringOutput `pulumi:"instancePlatform"` + // The instance type for which to reserve capacity. + InstanceType pulumi.StringOutput `pulumi:"instanceType"` + // The ARN of the Outpost on which to create the Capacity Block Reservation. + OutpostArn pulumi.StringOutput `pulumi:"outpostArn"` + // The ARN of the placement group in which to create the Capacity Block Reservation. + PlacementGroupArn pulumi.StringOutput `pulumi:"placementGroupArn"` + // The type of Capacity Reservation. + ReservationType pulumi.StringOutput `pulumi:"reservationType"` + // The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + StartDate pulumi.StringOutput `pulumi:"startDate"` + // 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 + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + Tenancy pulumi.StringOutput `pulumi:"tenancy"` + Timeouts CapacityBlockReservationTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewCapacityBlockReservation registers a new resource with the given unique name, arguments, and options. +func NewCapacityBlockReservation(ctx *pulumi.Context, + name string, args *CapacityBlockReservationArgs, opts ...pulumi.ResourceOption) (*CapacityBlockReservation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CapacityBlockOfferingId == nil { + return nil, errors.New("invalid value for required argument 'CapacityBlockOfferingId'") + } + if args.InstancePlatform == nil { + return nil, errors.New("invalid value for required argument 'InstancePlatform'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CapacityBlockReservation + err := ctx.RegisterResource("aws:ec2/capacityBlockReservation:CapacityBlockReservation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCapacityBlockReservation gets an existing CapacityBlockReservation 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 GetCapacityBlockReservation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CapacityBlockReservationState, opts ...pulumi.ResourceOption) (*CapacityBlockReservation, error) { + var resource CapacityBlockReservation + err := ctx.ReadResource("aws:ec2/capacityBlockReservation:CapacityBlockReservation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CapacityBlockReservation resources. +type capacityBlockReservationState struct { + // The ARN of the reservation. + Arn *string `pulumi:"arn"` + // The Availability Zone in which to create the Capacity Block Reservation. + AvailabilityZone *string `pulumi:"availabilityZone"` + // The Capacity Block Reservation ID. + CapacityBlockOfferingId *string `pulumi:"capacityBlockOfferingId"` + // The date and time at which the Capacity Block Reservation was created. + CreatedDate *string `pulumi:"createdDate"` + // Indicates whether the Capacity Reservation supports EBS-optimized instances. + EbsOptimized *bool `pulumi:"ebsOptimized"` + // The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + EndDate *string `pulumi:"endDate"` + // Indicates the way in which the Capacity Reservation ends. + EndDateType *string `pulumi:"endDateType"` + // The number of instances for which to reserve capacity. + InstanceCount *int `pulumi:"instanceCount"` + // The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + InstancePlatform *string `pulumi:"instancePlatform"` + // The instance type for which to reserve capacity. + InstanceType *string `pulumi:"instanceType"` + // The ARN of the Outpost on which to create the Capacity Block Reservation. + OutpostArn *string `pulumi:"outpostArn"` + // The ARN of the placement group in which to create the Capacity Block Reservation. + PlacementGroupArn *string `pulumi:"placementGroupArn"` + // The type of Capacity Reservation. + ReservationType *string `pulumi:"reservationType"` + // The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + StartDate *string `pulumi:"startDate"` + // 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 + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + // Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + Tenancy *string `pulumi:"tenancy"` + Timeouts *CapacityBlockReservationTimeouts `pulumi:"timeouts"` +} + +type CapacityBlockReservationState struct { + // The ARN of the reservation. + Arn pulumi.StringPtrInput + // The Availability Zone in which to create the Capacity Block Reservation. + AvailabilityZone pulumi.StringPtrInput + // The Capacity Block Reservation ID. + CapacityBlockOfferingId pulumi.StringPtrInput + // The date and time at which the Capacity Block Reservation was created. + CreatedDate pulumi.StringPtrInput + // Indicates whether the Capacity Reservation supports EBS-optimized instances. + EbsOptimized pulumi.BoolPtrInput + // The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + EndDate pulumi.StringPtrInput + // Indicates the way in which the Capacity Reservation ends. + EndDateType pulumi.StringPtrInput + // The number of instances for which to reserve capacity. + InstanceCount pulumi.IntPtrInput + // The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + InstancePlatform pulumi.StringPtrInput + // The instance type for which to reserve capacity. + InstanceType pulumi.StringPtrInput + // The ARN of the Outpost on which to create the Capacity Block Reservation. + OutpostArn pulumi.StringPtrInput + // The ARN of the placement group in which to create the Capacity Block Reservation. + PlacementGroupArn pulumi.StringPtrInput + // The type of Capacity Reservation. + ReservationType pulumi.StringPtrInput + // The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + StartDate pulumi.StringPtrInput + // 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 + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + // Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + Tenancy pulumi.StringPtrInput + Timeouts CapacityBlockReservationTimeoutsPtrInput +} + +func (CapacityBlockReservationState) ElementType() reflect.Type { + return reflect.TypeOf((*capacityBlockReservationState)(nil)).Elem() +} + +type capacityBlockReservationArgs struct { + // The Capacity Block Reservation ID. + CapacityBlockOfferingId string `pulumi:"capacityBlockOfferingId"` + // The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + InstancePlatform string `pulumi:"instancePlatform"` + // 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"` + Timeouts *CapacityBlockReservationTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a CapacityBlockReservation resource. +type CapacityBlockReservationArgs struct { + // The Capacity Block Reservation ID. + CapacityBlockOfferingId pulumi.StringInput + // The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + InstancePlatform pulumi.StringInput + // 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 + Timeouts CapacityBlockReservationTimeoutsPtrInput +} + +func (CapacityBlockReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*capacityBlockReservationArgs)(nil)).Elem() +} + +type CapacityBlockReservationInput interface { + pulumi.Input + + ToCapacityBlockReservationOutput() CapacityBlockReservationOutput + ToCapacityBlockReservationOutputWithContext(ctx context.Context) CapacityBlockReservationOutput +} + +func (*CapacityBlockReservation) ElementType() reflect.Type { + return reflect.TypeOf((**CapacityBlockReservation)(nil)).Elem() +} + +func (i *CapacityBlockReservation) ToCapacityBlockReservationOutput() CapacityBlockReservationOutput { + return i.ToCapacityBlockReservationOutputWithContext(context.Background()) +} + +func (i *CapacityBlockReservation) ToCapacityBlockReservationOutputWithContext(ctx context.Context) CapacityBlockReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityBlockReservationOutput) +} + +// CapacityBlockReservationArrayInput is an input type that accepts CapacityBlockReservationArray and CapacityBlockReservationArrayOutput values. +// You can construct a concrete instance of `CapacityBlockReservationArrayInput` via: +// +// CapacityBlockReservationArray{ CapacityBlockReservationArgs{...} } +type CapacityBlockReservationArrayInput interface { + pulumi.Input + + ToCapacityBlockReservationArrayOutput() CapacityBlockReservationArrayOutput + ToCapacityBlockReservationArrayOutputWithContext(context.Context) CapacityBlockReservationArrayOutput +} + +type CapacityBlockReservationArray []CapacityBlockReservationInput + +func (CapacityBlockReservationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CapacityBlockReservation)(nil)).Elem() +} + +func (i CapacityBlockReservationArray) ToCapacityBlockReservationArrayOutput() CapacityBlockReservationArrayOutput { + return i.ToCapacityBlockReservationArrayOutputWithContext(context.Background()) +} + +func (i CapacityBlockReservationArray) ToCapacityBlockReservationArrayOutputWithContext(ctx context.Context) CapacityBlockReservationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityBlockReservationArrayOutput) +} + +// CapacityBlockReservationMapInput is an input type that accepts CapacityBlockReservationMap and CapacityBlockReservationMapOutput values. +// You can construct a concrete instance of `CapacityBlockReservationMapInput` via: +// +// CapacityBlockReservationMap{ "key": CapacityBlockReservationArgs{...} } +type CapacityBlockReservationMapInput interface { + pulumi.Input + + ToCapacityBlockReservationMapOutput() CapacityBlockReservationMapOutput + ToCapacityBlockReservationMapOutputWithContext(context.Context) CapacityBlockReservationMapOutput +} + +type CapacityBlockReservationMap map[string]CapacityBlockReservationInput + +func (CapacityBlockReservationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CapacityBlockReservation)(nil)).Elem() +} + +func (i CapacityBlockReservationMap) ToCapacityBlockReservationMapOutput() CapacityBlockReservationMapOutput { + return i.ToCapacityBlockReservationMapOutputWithContext(context.Background()) +} + +func (i CapacityBlockReservationMap) ToCapacityBlockReservationMapOutputWithContext(ctx context.Context) CapacityBlockReservationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityBlockReservationMapOutput) +} + +type CapacityBlockReservationOutput struct{ *pulumi.OutputState } + +func (CapacityBlockReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapacityBlockReservation)(nil)).Elem() +} + +func (o CapacityBlockReservationOutput) ToCapacityBlockReservationOutput() CapacityBlockReservationOutput { + return o +} + +func (o CapacityBlockReservationOutput) ToCapacityBlockReservationOutputWithContext(ctx context.Context) CapacityBlockReservationOutput { + return o +} + +// The ARN of the reservation. +func (o CapacityBlockReservationOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The Availability Zone in which to create the Capacity Block Reservation. +func (o CapacityBlockReservationOutput) AvailabilityZone() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) +} + +// The Capacity Block Reservation ID. +func (o CapacityBlockReservationOutput) CapacityBlockOfferingId() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.CapacityBlockOfferingId }).(pulumi.StringOutput) +} + +// The date and time at which the Capacity Block Reservation was created. +func (o CapacityBlockReservationOutput) CreatedDate() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.CreatedDate }).(pulumi.StringOutput) +} + +// Indicates whether the Capacity Reservation supports EBS-optimized instances. +func (o CapacityBlockReservationOutput) EbsOptimized() pulumi.BoolOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.BoolOutput { return v.EbsOptimized }).(pulumi.BoolOutput) +} + +// The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) +func (o CapacityBlockReservationOutput) EndDate() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.EndDate }).(pulumi.StringOutput) +} + +// Indicates the way in which the Capacity Reservation ends. +func (o CapacityBlockReservationOutput) EndDateType() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.EndDateType }).(pulumi.StringOutput) +} + +// The number of instances for which to reserve capacity. +func (o CapacityBlockReservationOutput) InstanceCount() pulumi.IntOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.IntOutput { return v.InstanceCount }).(pulumi.IntOutput) +} + +// The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. +func (o CapacityBlockReservationOutput) InstancePlatform() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.InstancePlatform }).(pulumi.StringOutput) +} + +// The instance type for which to reserve capacity. +func (o CapacityBlockReservationOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.InstanceType }).(pulumi.StringOutput) +} + +// The ARN of the Outpost on which to create the Capacity Block Reservation. +func (o CapacityBlockReservationOutput) OutpostArn() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.OutpostArn }).(pulumi.StringOutput) +} + +// The ARN of the placement group in which to create the Capacity Block Reservation. +func (o CapacityBlockReservationOutput) PlacementGroupArn() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.PlacementGroupArn }).(pulumi.StringOutput) +} + +// The type of Capacity Reservation. +func (o CapacityBlockReservationOutput) ReservationType() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.ReservationType }).(pulumi.StringOutput) +} + +// The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) +func (o CapacityBlockReservationOutput) StartDate() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.StartDate }).(pulumi.StringOutput) +} + +// 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 CapacityBlockReservationOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *CapacityBlockReservation) 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 CapacityBlockReservationOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. +func (o CapacityBlockReservationOutput) Tenancy() pulumi.StringOutput { + return o.ApplyT(func(v *CapacityBlockReservation) pulumi.StringOutput { return v.Tenancy }).(pulumi.StringOutput) +} + +func (o CapacityBlockReservationOutput) Timeouts() CapacityBlockReservationTimeoutsPtrOutput { + return o.ApplyT(func(v *CapacityBlockReservation) CapacityBlockReservationTimeoutsPtrOutput { return v.Timeouts }).(CapacityBlockReservationTimeoutsPtrOutput) +} + +type CapacityBlockReservationArrayOutput struct{ *pulumi.OutputState } + +func (CapacityBlockReservationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CapacityBlockReservation)(nil)).Elem() +} + +func (o CapacityBlockReservationArrayOutput) ToCapacityBlockReservationArrayOutput() CapacityBlockReservationArrayOutput { + return o +} + +func (o CapacityBlockReservationArrayOutput) ToCapacityBlockReservationArrayOutputWithContext(ctx context.Context) CapacityBlockReservationArrayOutput { + return o +} + +func (o CapacityBlockReservationArrayOutput) Index(i pulumi.IntInput) CapacityBlockReservationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CapacityBlockReservation { + return vs[0].([]*CapacityBlockReservation)[vs[1].(int)] + }).(CapacityBlockReservationOutput) +} + +type CapacityBlockReservationMapOutput struct{ *pulumi.OutputState } + +func (CapacityBlockReservationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CapacityBlockReservation)(nil)).Elem() +} + +func (o CapacityBlockReservationMapOutput) ToCapacityBlockReservationMapOutput() CapacityBlockReservationMapOutput { + return o +} + +func (o CapacityBlockReservationMapOutput) ToCapacityBlockReservationMapOutputWithContext(ctx context.Context) CapacityBlockReservationMapOutput { + return o +} + +func (o CapacityBlockReservationMapOutput) MapIndex(k pulumi.StringInput) CapacityBlockReservationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CapacityBlockReservation { + return vs[0].(map[string]*CapacityBlockReservation)[vs[1].(string)] + }).(CapacityBlockReservationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CapacityBlockReservationInput)(nil)).Elem(), &CapacityBlockReservation{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapacityBlockReservationArrayInput)(nil)).Elem(), CapacityBlockReservationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapacityBlockReservationMapInput)(nil)).Elem(), CapacityBlockReservationMap{}) + pulumi.RegisterOutputType(CapacityBlockReservationOutput{}) + pulumi.RegisterOutputType(CapacityBlockReservationArrayOutput{}) + pulumi.RegisterOutputType(CapacityBlockReservationMapOutput{}) +} diff --git a/sdk/go/aws/ec2/getCapacityBlockOffering.go b/sdk/go/aws/ec2/getCapacityBlockOffering.go new file mode 100644 index 00000000000..a3d1a694f9f --- /dev/null +++ b/sdk/go/aws/ec2/getCapacityBlockOffering.go @@ -0,0 +1,158 @@ +// 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" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Information about a single EC2 Capacity Block Offering. +func GetCapacityBlockOffering(ctx *pulumi.Context, args *GetCapacityBlockOfferingArgs, opts ...pulumi.InvokeOption) (*GetCapacityBlockOfferingResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetCapacityBlockOfferingResult + err := ctx.Invoke("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCapacityBlockOffering. +type GetCapacityBlockOfferingArgs struct { + // The amount of time of the Capacity Block reservation in hours. + CapacityDurationHours int `pulumi:"capacityDurationHours"` + // The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + EndDateRange *string `pulumi:"endDateRange"` + // The number of instances for which to reserve capacity. + InstanceCount int `pulumi:"instanceCount"` + // The instance type for which to reserve capacity. + InstanceType string `pulumi:"instanceType"` + // The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + StartDateRange *string `pulumi:"startDateRange"` +} + +// A collection of values returned by getCapacityBlockOffering. +type GetCapacityBlockOfferingResult struct { + // The Availability Zone in which to create the Capacity Reservation. + AvailabilityZone string `pulumi:"availabilityZone"` + // The Capacity Block Reservation ID. + CapacityBlockOfferingId string `pulumi:"capacityBlockOfferingId"` + CapacityDurationHours int `pulumi:"capacityDurationHours"` + // The currency of the payment for the Capacity Block. + CurrencyCode string `pulumi:"currencyCode"` + EndDateRange string `pulumi:"endDateRange"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceCount int `pulumi:"instanceCount"` + InstanceType string `pulumi:"instanceType"` + StartDateRange string `pulumi:"startDateRange"` + // Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. + Tenancy string `pulumi:"tenancy"` + // The total price to be paid up front. + UpfrontFee string `pulumi:"upfrontFee"` +} + +func GetCapacityBlockOfferingOutput(ctx *pulumi.Context, args GetCapacityBlockOfferingOutputArgs, opts ...pulumi.InvokeOption) GetCapacityBlockOfferingResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetCapacityBlockOfferingResult, error) { + args := v.(GetCapacityBlockOfferingArgs) + r, err := GetCapacityBlockOffering(ctx, &args, opts...) + var s GetCapacityBlockOfferingResult + if r != nil { + s = *r + } + return s, err + }).(GetCapacityBlockOfferingResultOutput) +} + +// A collection of arguments for invoking getCapacityBlockOffering. +type GetCapacityBlockOfferingOutputArgs struct { + // The amount of time of the Capacity Block reservation in hours. + CapacityDurationHours pulumi.IntInput `pulumi:"capacityDurationHours"` + // The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + EndDateRange pulumi.StringPtrInput `pulumi:"endDateRange"` + // The number of instances for which to reserve capacity. + InstanceCount pulumi.IntInput `pulumi:"instanceCount"` + // The instance type for which to reserve capacity. + InstanceType pulumi.StringInput `pulumi:"instanceType"` + // The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + StartDateRange pulumi.StringPtrInput `pulumi:"startDateRange"` +} + +func (GetCapacityBlockOfferingOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCapacityBlockOfferingArgs)(nil)).Elem() +} + +// A collection of values returned by getCapacityBlockOffering. +type GetCapacityBlockOfferingResultOutput struct{ *pulumi.OutputState } + +func (GetCapacityBlockOfferingResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCapacityBlockOfferingResult)(nil)).Elem() +} + +func (o GetCapacityBlockOfferingResultOutput) ToGetCapacityBlockOfferingResultOutput() GetCapacityBlockOfferingResultOutput { + return o +} + +func (o GetCapacityBlockOfferingResultOutput) ToGetCapacityBlockOfferingResultOutputWithContext(ctx context.Context) GetCapacityBlockOfferingResultOutput { + return o +} + +// The Availability Zone in which to create the Capacity Reservation. +func (o GetCapacityBlockOfferingResultOutput) AvailabilityZone() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.AvailabilityZone }).(pulumi.StringOutput) +} + +// The Capacity Block Reservation ID. +func (o GetCapacityBlockOfferingResultOutput) CapacityBlockOfferingId() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.CapacityBlockOfferingId }).(pulumi.StringOutput) +} + +func (o GetCapacityBlockOfferingResultOutput) CapacityDurationHours() pulumi.IntOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) int { return v.CapacityDurationHours }).(pulumi.IntOutput) +} + +// The currency of the payment for the Capacity Block. +func (o GetCapacityBlockOfferingResultOutput) CurrencyCode() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.CurrencyCode }).(pulumi.StringOutput) +} + +func (o GetCapacityBlockOfferingResultOutput) EndDateRange() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.EndDateRange }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetCapacityBlockOfferingResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetCapacityBlockOfferingResultOutput) InstanceCount() pulumi.IntOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) int { return v.InstanceCount }).(pulumi.IntOutput) +} + +func (o GetCapacityBlockOfferingResultOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.InstanceType }).(pulumi.StringOutput) +} + +func (o GetCapacityBlockOfferingResultOutput) StartDateRange() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.StartDateRange }).(pulumi.StringOutput) +} + +// Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. +func (o GetCapacityBlockOfferingResultOutput) Tenancy() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.Tenancy }).(pulumi.StringOutput) +} + +// The total price to be paid up front. +func (o GetCapacityBlockOfferingResultOutput) UpfrontFee() pulumi.StringOutput { + return o.ApplyT(func(v GetCapacityBlockOfferingResult) string { return v.UpfrontFee }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetCapacityBlockOfferingResultOutput{}) +} diff --git a/sdk/go/aws/ec2/init.go b/sdk/go/aws/ec2/init.go index 77281193103..abc9ed783c9 100644 --- a/sdk/go/aws/ec2/init.go +++ b/sdk/go/aws/ec2/init.go @@ -31,6 +31,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AmiLaunchPermission{} case "aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup": r = &AvailabilityZoneGroup{} + case "aws:ec2/capacityBlockReservation:CapacityBlockReservation": + r = &CapacityBlockReservation{} case "aws:ec2/capacityReservation:CapacityReservation": r = &CapacityReservation{} case "aws:ec2/carrierGateway:CarrierGateway": @@ -249,6 +251,11 @@ func init() { "ec2/availabilityZoneGroup", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "ec2/capacityBlockReservation", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "ec2/capacityReservation", diff --git a/sdk/go/aws/ec2/launchTemplate.go b/sdk/go/aws/ec2/launchTemplate.go index c357aa8e927..2c16db3bd4c 100644 --- a/sdk/go/aws/ec2/launchTemplate.go +++ b/sdk/go/aws/ec2/launchTemplate.go @@ -58,7 +58,7 @@ type LaunchTemplate struct { // The IAM Instance Profile to launch the instance with. See Instance Profile // below for more details. IamInstanceProfile LaunchTemplateIamInstanceProfilePtrOutput `pulumi:"iamInstanceProfile"` - // The AMI from which to launch the instance. + // The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. ImageId pulumi.StringPtrOutput `pulumi:"imageId"` // Shutdown behavior for the instance. Can be `stop` or `terminate`. // (Default: `stop`). @@ -181,7 +181,7 @@ type launchTemplateState struct { // The IAM Instance Profile to launch the instance with. See Instance Profile // below for more details. IamInstanceProfile *LaunchTemplateIamInstanceProfile `pulumi:"iamInstanceProfile"` - // The AMI from which to launch the instance. + // The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. ImageId *string `pulumi:"imageId"` // Shutdown behavior for the instance. Can be `stop` or `terminate`. // (Default: `stop`). @@ -275,7 +275,7 @@ type LaunchTemplateState struct { // The IAM Instance Profile to launch the instance with. See Instance Profile // below for more details. IamInstanceProfile LaunchTemplateIamInstanceProfilePtrInput - // The AMI from which to launch the instance. + // The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. ImageId pulumi.StringPtrInput // Shutdown behavior for the instance. Can be `stop` or `terminate`. // (Default: `stop`). @@ -371,7 +371,7 @@ type launchTemplateArgs struct { // The IAM Instance Profile to launch the instance with. See Instance Profile // below for more details. IamInstanceProfile *LaunchTemplateIamInstanceProfile `pulumi:"iamInstanceProfile"` - // The AMI from which to launch the instance. + // The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. ImageId *string `pulumi:"imageId"` // Shutdown behavior for the instance. Can be `stop` or `terminate`. // (Default: `stop`). @@ -458,7 +458,7 @@ type LaunchTemplateArgs struct { // The IAM Instance Profile to launch the instance with. See Instance Profile // below for more details. IamInstanceProfile LaunchTemplateIamInstanceProfilePtrInput - // The AMI from which to launch the instance. + // The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. ImageId pulumi.StringPtrInput // Shutdown behavior for the instance. Can be `stop` or `terminate`. // (Default: `stop`). @@ -683,7 +683,7 @@ func (o LaunchTemplateOutput) IamInstanceProfile() LaunchTemplateIamInstanceProf return o.ApplyT(func(v *LaunchTemplate) LaunchTemplateIamInstanceProfilePtrOutput { return v.IamInstanceProfile }).(LaunchTemplateIamInstanceProfilePtrOutput) } -// The AMI from which to launch the instance. +// The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. func (o LaunchTemplateOutput) ImageId() pulumi.StringPtrOutput { return o.ApplyT(func(v *LaunchTemplate) pulumi.StringPtrOutput { return v.ImageId }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index a8fa66af713..9b79521df71 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -919,6 +919,143 @@ func (o AmiFromInstanceEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) }).(AmiFromInstanceEphemeralBlockDeviceOutput) } +type CapacityBlockReservationTimeouts 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"` +} + +// CapacityBlockReservationTimeoutsInput is an input type that accepts CapacityBlockReservationTimeoutsArgs and CapacityBlockReservationTimeoutsOutput values. +// You can construct a concrete instance of `CapacityBlockReservationTimeoutsInput` via: +// +// CapacityBlockReservationTimeoutsArgs{...} +type CapacityBlockReservationTimeoutsInput interface { + pulumi.Input + + ToCapacityBlockReservationTimeoutsOutput() CapacityBlockReservationTimeoutsOutput + ToCapacityBlockReservationTimeoutsOutputWithContext(context.Context) CapacityBlockReservationTimeoutsOutput +} + +type CapacityBlockReservationTimeoutsArgs 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"` +} + +func (CapacityBlockReservationTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapacityBlockReservationTimeouts)(nil)).Elem() +} + +func (i CapacityBlockReservationTimeoutsArgs) ToCapacityBlockReservationTimeoutsOutput() CapacityBlockReservationTimeoutsOutput { + return i.ToCapacityBlockReservationTimeoutsOutputWithContext(context.Background()) +} + +func (i CapacityBlockReservationTimeoutsArgs) ToCapacityBlockReservationTimeoutsOutputWithContext(ctx context.Context) CapacityBlockReservationTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityBlockReservationTimeoutsOutput) +} + +func (i CapacityBlockReservationTimeoutsArgs) ToCapacityBlockReservationTimeoutsPtrOutput() CapacityBlockReservationTimeoutsPtrOutput { + return i.ToCapacityBlockReservationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i CapacityBlockReservationTimeoutsArgs) ToCapacityBlockReservationTimeoutsPtrOutputWithContext(ctx context.Context) CapacityBlockReservationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityBlockReservationTimeoutsOutput).ToCapacityBlockReservationTimeoutsPtrOutputWithContext(ctx) +} + +// CapacityBlockReservationTimeoutsPtrInput is an input type that accepts CapacityBlockReservationTimeoutsArgs, CapacityBlockReservationTimeoutsPtr and CapacityBlockReservationTimeoutsPtrOutput values. +// You can construct a concrete instance of `CapacityBlockReservationTimeoutsPtrInput` via: +// +// CapacityBlockReservationTimeoutsArgs{...} +// +// or: +// +// nil +type CapacityBlockReservationTimeoutsPtrInput interface { + pulumi.Input + + ToCapacityBlockReservationTimeoutsPtrOutput() CapacityBlockReservationTimeoutsPtrOutput + ToCapacityBlockReservationTimeoutsPtrOutputWithContext(context.Context) CapacityBlockReservationTimeoutsPtrOutput +} + +type capacityBlockReservationTimeoutsPtrType CapacityBlockReservationTimeoutsArgs + +func CapacityBlockReservationTimeoutsPtr(v *CapacityBlockReservationTimeoutsArgs) CapacityBlockReservationTimeoutsPtrInput { + return (*capacityBlockReservationTimeoutsPtrType)(v) +} + +func (*capacityBlockReservationTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CapacityBlockReservationTimeouts)(nil)).Elem() +} + +func (i *capacityBlockReservationTimeoutsPtrType) ToCapacityBlockReservationTimeoutsPtrOutput() CapacityBlockReservationTimeoutsPtrOutput { + return i.ToCapacityBlockReservationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *capacityBlockReservationTimeoutsPtrType) ToCapacityBlockReservationTimeoutsPtrOutputWithContext(ctx context.Context) CapacityBlockReservationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityBlockReservationTimeoutsPtrOutput) +} + +type CapacityBlockReservationTimeoutsOutput struct{ *pulumi.OutputState } + +func (CapacityBlockReservationTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapacityBlockReservationTimeouts)(nil)).Elem() +} + +func (o CapacityBlockReservationTimeoutsOutput) ToCapacityBlockReservationTimeoutsOutput() CapacityBlockReservationTimeoutsOutput { + return o +} + +func (o CapacityBlockReservationTimeoutsOutput) ToCapacityBlockReservationTimeoutsOutputWithContext(ctx context.Context) CapacityBlockReservationTimeoutsOutput { + return o +} + +func (o CapacityBlockReservationTimeoutsOutput) ToCapacityBlockReservationTimeoutsPtrOutput() CapacityBlockReservationTimeoutsPtrOutput { + return o.ToCapacityBlockReservationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o CapacityBlockReservationTimeoutsOutput) ToCapacityBlockReservationTimeoutsPtrOutputWithContext(ctx context.Context) CapacityBlockReservationTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CapacityBlockReservationTimeouts) *CapacityBlockReservationTimeouts { + return &v + }).(CapacityBlockReservationTimeoutsPtrOutput) +} + +// 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 CapacityBlockReservationTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v CapacityBlockReservationTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +type CapacityBlockReservationTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (CapacityBlockReservationTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapacityBlockReservationTimeouts)(nil)).Elem() +} + +func (o CapacityBlockReservationTimeoutsPtrOutput) ToCapacityBlockReservationTimeoutsPtrOutput() CapacityBlockReservationTimeoutsPtrOutput { + return o +} + +func (o CapacityBlockReservationTimeoutsPtrOutput) ToCapacityBlockReservationTimeoutsPtrOutputWithContext(ctx context.Context) CapacityBlockReservationTimeoutsPtrOutput { + return o +} + +func (o CapacityBlockReservationTimeoutsPtrOutput) Elem() CapacityBlockReservationTimeoutsOutput { + return o.ApplyT(func(v *CapacityBlockReservationTimeouts) CapacityBlockReservationTimeouts { + if v != nil { + return *v + } + var ret CapacityBlockReservationTimeouts + return ret + }).(CapacityBlockReservationTimeoutsOutput) +} + +// 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 CapacityBlockReservationTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapacityBlockReservationTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + type DefaultNetworkAclEgress struct { // The action to take. Action string `pulumi:"action"` @@ -4537,6 +4674,8 @@ func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) type FleetOnDemandOptions struct { // The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. AllocationStrategy *string `pulumi:"allocationStrategy"` + // The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + CapacityReservationOptions *FleetOnDemandOptionsCapacityReservationOptions `pulumi:"capacityReservationOptions"` // The maximum amount per hour for On-Demand Instances that you're willing to pay. MaxTotalPrice *string `pulumi:"maxTotalPrice"` // The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. @@ -4562,6 +4701,8 @@ type FleetOnDemandOptionsInput interface { type FleetOnDemandOptionsArgs struct { // The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. AllocationStrategy pulumi.StringPtrInput `pulumi:"allocationStrategy"` + // The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + CapacityReservationOptions FleetOnDemandOptionsCapacityReservationOptionsPtrInput `pulumi:"capacityReservationOptions"` // The maximum amount per hour for On-Demand Instances that you're willing to pay. MaxTotalPrice pulumi.StringPtrInput `pulumi:"maxTotalPrice"` // The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. @@ -4655,6 +4796,13 @@ func (o FleetOnDemandOptionsOutput) AllocationStrategy() pulumi.StringPtrOutput return o.ApplyT(func(v FleetOnDemandOptions) *string { return v.AllocationStrategy }).(pulumi.StringPtrOutput) } +// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. +func (o FleetOnDemandOptionsOutput) CapacityReservationOptions() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptions) *FleetOnDemandOptionsCapacityReservationOptions { + return v.CapacityReservationOptions + }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) +} + // The maximum amount per hour for On-Demand Instances that you're willing to pay. func (o FleetOnDemandOptionsOutput) MaxTotalPrice() pulumi.StringPtrOutput { return o.ApplyT(func(v FleetOnDemandOptions) *string { return v.MaxTotalPrice }).(pulumi.StringPtrOutput) @@ -4710,6 +4858,16 @@ func (o FleetOnDemandOptionsPtrOutput) AllocationStrategy() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } +// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. +func (o FleetOnDemandOptionsPtrOutput) CapacityReservationOptions() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptions) *FleetOnDemandOptionsCapacityReservationOptions { + if v == nil { + return nil + } + return v.CapacityReservationOptions + }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) +} + // The maximum amount per hour for On-Demand Instances that you're willing to pay. func (o FleetOnDemandOptionsPtrOutput) MaxTotalPrice() pulumi.StringPtrOutput { return o.ApplyT(func(v *FleetOnDemandOptions) *string { @@ -4751,6 +4909,143 @@ func (o FleetOnDemandOptionsPtrOutput) SingleInstanceType() pulumi.BoolPtrOutput }).(pulumi.BoolPtrOutput) } +type FleetOnDemandOptionsCapacityReservationOptions struct { + // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + UsageStrategy *string `pulumi:"usageStrategy"` +} + +// FleetOnDemandOptionsCapacityReservationOptionsInput is an input type that accepts FleetOnDemandOptionsCapacityReservationOptionsArgs and FleetOnDemandOptionsCapacityReservationOptionsOutput values. +// You can construct a concrete instance of `FleetOnDemandOptionsCapacityReservationOptionsInput` via: +// +// FleetOnDemandOptionsCapacityReservationOptionsArgs{...} +type FleetOnDemandOptionsCapacityReservationOptionsInput interface { + pulumi.Input + + ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput + ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput +} + +type FleetOnDemandOptionsCapacityReservationOptionsArgs struct { + // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + UsageStrategy pulumi.StringPtrInput `pulumi:"usageStrategy"` +} + +func (FleetOnDemandOptionsCapacityReservationOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() +} + +func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput { + return i.ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(context.Background()) +} + +func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsOutput) +} + +func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return i.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) +} + +func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsOutput).ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx) +} + +// FleetOnDemandOptionsCapacityReservationOptionsPtrInput is an input type that accepts FleetOnDemandOptionsCapacityReservationOptionsArgs, FleetOnDemandOptionsCapacityReservationOptionsPtr and FleetOnDemandOptionsCapacityReservationOptionsPtrOutput values. +// You can construct a concrete instance of `FleetOnDemandOptionsCapacityReservationOptionsPtrInput` via: +// +// FleetOnDemandOptionsCapacityReservationOptionsArgs{...} +// +// or: +// +// nil +type FleetOnDemandOptionsCapacityReservationOptionsPtrInput interface { + pulumi.Input + + ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput + ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput +} + +type fleetOnDemandOptionsCapacityReservationOptionsPtrType FleetOnDemandOptionsCapacityReservationOptionsArgs + +func FleetOnDemandOptionsCapacityReservationOptionsPtr(v *FleetOnDemandOptionsCapacityReservationOptionsArgs) FleetOnDemandOptionsCapacityReservationOptionsPtrInput { + return (*fleetOnDemandOptionsCapacityReservationOptionsPtrType)(v) +} + +func (*fleetOnDemandOptionsCapacityReservationOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() +} + +func (i *fleetOnDemandOptionsCapacityReservationOptionsPtrType) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return i.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) +} + +func (i *fleetOnDemandOptionsCapacityReservationOptionsPtrType) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) +} + +type FleetOnDemandOptionsCapacityReservationOptionsOutput struct{ *pulumi.OutputState } + +func (FleetOnDemandOptionsCapacityReservationOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() +} + +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput { + return o +} + +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput { + return o +} + +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) +} + +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetOnDemandOptionsCapacityReservationOptions) *FleetOnDemandOptionsCapacityReservationOptions { + return &v + }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) +} + +// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) UsageStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptionsCapacityReservationOptions) *string { return v.UsageStrategy }).(pulumi.StringPtrOutput) +} + +type FleetOnDemandOptionsCapacityReservationOptionsPtrOutput struct{ *pulumi.OutputState } + +func (FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() +} + +func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o +} + +func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o +} + +func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) Elem() FleetOnDemandOptionsCapacityReservationOptionsOutput { + return o.ApplyT(func(v *FleetOnDemandOptionsCapacityReservationOptions) FleetOnDemandOptionsCapacityReservationOptions { + if v != nil { + return *v + } + var ret FleetOnDemandOptionsCapacityReservationOptions + return ret + }).(FleetOnDemandOptionsCapacityReservationOptionsOutput) +} + +// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. +func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) UsageStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptionsCapacityReservationOptions) *string { + if v == nil { + return nil + } + return v.UsageStrategy + }).(pulumi.StringPtrOutput) +} + type FleetSpotOptions struct { // How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. AllocationStrategy *string `pulumi:"allocationStrategy"` @@ -9969,7 +10264,7 @@ func (o LaunchTemplateCreditSpecificationPtrOutput) CpuCredits() pulumi.StringPt } type LaunchTemplateElasticGpuSpecification struct { - // The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + // The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) Type string `pulumi:"type"` } @@ -9985,7 +10280,7 @@ type LaunchTemplateElasticGpuSpecificationInput interface { } type LaunchTemplateElasticGpuSpecificationArgs struct { - // The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + // The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) Type pulumi.StringInput `pulumi:"type"` } @@ -10040,7 +10335,7 @@ func (o LaunchTemplateElasticGpuSpecificationOutput) ToLaunchTemplateElasticGpuS return o } -// The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) +// The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) func (o LaunchTemplateElasticGpuSpecificationOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v LaunchTemplateElasticGpuSpecification) string { return v.Type }).(pulumi.StringOutput) } @@ -31736,6 +32031,118 @@ func (o VpcEndpointServicePrivateDnsNameConfigurationArrayOutput) Index(i pulumi }).(VpcEndpointServicePrivateDnsNameConfigurationOutput) } +type VpcEndpointSubnetConfiguration struct { + // The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + Ipv4 *string `pulumi:"ipv4"` + // The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + Ipv6 *string `pulumi:"ipv6"` + SubnetId *string `pulumi:"subnetId"` +} + +// VpcEndpointSubnetConfigurationInput is an input type that accepts VpcEndpointSubnetConfigurationArgs and VpcEndpointSubnetConfigurationOutput values. +// You can construct a concrete instance of `VpcEndpointSubnetConfigurationInput` via: +// +// VpcEndpointSubnetConfigurationArgs{...} +type VpcEndpointSubnetConfigurationInput interface { + pulumi.Input + + ToVpcEndpointSubnetConfigurationOutput() VpcEndpointSubnetConfigurationOutput + ToVpcEndpointSubnetConfigurationOutputWithContext(context.Context) VpcEndpointSubnetConfigurationOutput +} + +type VpcEndpointSubnetConfigurationArgs struct { + // The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + Ipv4 pulumi.StringPtrInput `pulumi:"ipv4"` + // The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + Ipv6 pulumi.StringPtrInput `pulumi:"ipv6"` + SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` +} + +func (VpcEndpointSubnetConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEndpointSubnetConfiguration)(nil)).Elem() +} + +func (i VpcEndpointSubnetConfigurationArgs) ToVpcEndpointSubnetConfigurationOutput() VpcEndpointSubnetConfigurationOutput { + return i.ToVpcEndpointSubnetConfigurationOutputWithContext(context.Background()) +} + +func (i VpcEndpointSubnetConfigurationArgs) ToVpcEndpointSubnetConfigurationOutputWithContext(ctx context.Context) VpcEndpointSubnetConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointSubnetConfigurationOutput) +} + +// VpcEndpointSubnetConfigurationArrayInput is an input type that accepts VpcEndpointSubnetConfigurationArray and VpcEndpointSubnetConfigurationArrayOutput values. +// You can construct a concrete instance of `VpcEndpointSubnetConfigurationArrayInput` via: +// +// VpcEndpointSubnetConfigurationArray{ VpcEndpointSubnetConfigurationArgs{...} } +type VpcEndpointSubnetConfigurationArrayInput interface { + pulumi.Input + + ToVpcEndpointSubnetConfigurationArrayOutput() VpcEndpointSubnetConfigurationArrayOutput + ToVpcEndpointSubnetConfigurationArrayOutputWithContext(context.Context) VpcEndpointSubnetConfigurationArrayOutput +} + +type VpcEndpointSubnetConfigurationArray []VpcEndpointSubnetConfigurationInput + +func (VpcEndpointSubnetConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VpcEndpointSubnetConfiguration)(nil)).Elem() +} + +func (i VpcEndpointSubnetConfigurationArray) ToVpcEndpointSubnetConfigurationArrayOutput() VpcEndpointSubnetConfigurationArrayOutput { + return i.ToVpcEndpointSubnetConfigurationArrayOutputWithContext(context.Background()) +} + +func (i VpcEndpointSubnetConfigurationArray) ToVpcEndpointSubnetConfigurationArrayOutputWithContext(ctx context.Context) VpcEndpointSubnetConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointSubnetConfigurationArrayOutput) +} + +type VpcEndpointSubnetConfigurationOutput struct{ *pulumi.OutputState } + +func (VpcEndpointSubnetConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEndpointSubnetConfiguration)(nil)).Elem() +} + +func (o VpcEndpointSubnetConfigurationOutput) ToVpcEndpointSubnetConfigurationOutput() VpcEndpointSubnetConfigurationOutput { + return o +} + +func (o VpcEndpointSubnetConfigurationOutput) ToVpcEndpointSubnetConfigurationOutputWithContext(ctx context.Context) VpcEndpointSubnetConfigurationOutput { + return o +} + +// The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. +func (o VpcEndpointSubnetConfigurationOutput) Ipv4() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcEndpointSubnetConfiguration) *string { return v.Ipv4 }).(pulumi.StringPtrOutput) +} + +// The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. +func (o VpcEndpointSubnetConfigurationOutput) Ipv6() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcEndpointSubnetConfiguration) *string { return v.Ipv6 }).(pulumi.StringPtrOutput) +} + +func (o VpcEndpointSubnetConfigurationOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcEndpointSubnetConfiguration) *string { return v.SubnetId }).(pulumi.StringPtrOutput) +} + +type VpcEndpointSubnetConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (VpcEndpointSubnetConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VpcEndpointSubnetConfiguration)(nil)).Elem() +} + +func (o VpcEndpointSubnetConfigurationArrayOutput) ToVpcEndpointSubnetConfigurationArrayOutput() VpcEndpointSubnetConfigurationArrayOutput { + return o +} + +func (o VpcEndpointSubnetConfigurationArrayOutput) ToVpcEndpointSubnetConfigurationArrayOutputWithContext(ctx context.Context) VpcEndpointSubnetConfigurationArrayOutput { + return o +} + +func (o VpcEndpointSubnetConfigurationArrayOutput) Index(i pulumi.IntInput) VpcEndpointSubnetConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VpcEndpointSubnetConfiguration { + return vs[0].([]VpcEndpointSubnetConfiguration)[vs[1].(int)] + }).(VpcEndpointSubnetConfigurationOutput) +} + type VpcIpamOperatingRegion struct { // The name of the Region you want to add to the IPAM. RegionName string `pulumi:"regionName"` @@ -57137,6 +57544,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AmiFromInstanceEbsBlockDeviceArrayInput)(nil)).Elem(), AmiFromInstanceEbsBlockDeviceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AmiFromInstanceEphemeralBlockDeviceInput)(nil)).Elem(), AmiFromInstanceEphemeralBlockDeviceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AmiFromInstanceEphemeralBlockDeviceArrayInput)(nil)).Elem(), AmiFromInstanceEphemeralBlockDeviceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapacityBlockReservationTimeoutsInput)(nil)).Elem(), CapacityBlockReservationTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapacityBlockReservationTimeoutsPtrInput)(nil)).Elem(), CapacityBlockReservationTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DefaultNetworkAclEgressInput)(nil)).Elem(), DefaultNetworkAclEgressArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DefaultNetworkAclEgressArrayInput)(nil)).Elem(), DefaultNetworkAclEgressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DefaultNetworkAclIngressInput)(nil)).Elem(), DefaultNetworkAclIngressArgs{}) @@ -57179,6 +57588,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput)(nil)).Elem(), FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetOnDemandOptionsInput)(nil)).Elem(), FleetOnDemandOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetOnDemandOptionsPtrInput)(nil)).Elem(), FleetOnDemandOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetOnDemandOptionsCapacityReservationOptionsInput)(nil)).Elem(), FleetOnDemandOptionsCapacityReservationOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetOnDemandOptionsCapacityReservationOptionsPtrInput)(nil)).Elem(), FleetOnDemandOptionsCapacityReservationOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetSpotOptionsInput)(nil)).Elem(), FleetSpotOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetSpotOptionsPtrInput)(nil)).Elem(), FleetSpotOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategiesInput)(nil)).Elem(), FleetSpotOptionsMaintenanceStrategiesArgs{}) @@ -57540,6 +57951,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointDnsOptionsPtrInput)(nil)).Elem(), VpcEndpointDnsOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointServicePrivateDnsNameConfigurationInput)(nil)).Elem(), VpcEndpointServicePrivateDnsNameConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointServicePrivateDnsNameConfigurationArrayInput)(nil)).Elem(), VpcEndpointServicePrivateDnsNameConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointSubnetConfigurationInput)(nil)).Elem(), VpcEndpointSubnetConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointSubnetConfigurationArrayInput)(nil)).Elem(), VpcEndpointSubnetConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamOperatingRegionInput)(nil)).Elem(), VpcIpamOperatingRegionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamOperatingRegionArrayInput)(nil)).Elem(), VpcIpamOperatingRegionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamPoolCidrCidrAuthorizationContextInput)(nil)).Elem(), VpcIpamPoolCidrCidrAuthorizationContextArgs{}) @@ -57984,6 +58397,8 @@ func init() { pulumi.RegisterOutputType(AmiFromInstanceEbsBlockDeviceArrayOutput{}) pulumi.RegisterOutputType(AmiFromInstanceEphemeralBlockDeviceOutput{}) pulumi.RegisterOutputType(AmiFromInstanceEphemeralBlockDeviceArrayOutput{}) + pulumi.RegisterOutputType(CapacityBlockReservationTimeoutsOutput{}) + pulumi.RegisterOutputType(CapacityBlockReservationTimeoutsPtrOutput{}) pulumi.RegisterOutputType(DefaultNetworkAclEgressOutput{}) pulumi.RegisterOutputType(DefaultNetworkAclEgressArrayOutput{}) pulumi.RegisterOutputType(DefaultNetworkAclIngressOutput{}) @@ -58026,6 +58441,8 @@ func init() { pulumi.RegisterOutputType(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput{}) pulumi.RegisterOutputType(FleetOnDemandOptionsOutput{}) pulumi.RegisterOutputType(FleetOnDemandOptionsPtrOutput{}) + pulumi.RegisterOutputType(FleetOnDemandOptionsCapacityReservationOptionsOutput{}) + pulumi.RegisterOutputType(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput{}) pulumi.RegisterOutputType(FleetSpotOptionsOutput{}) pulumi.RegisterOutputType(FleetSpotOptionsPtrOutput{}) pulumi.RegisterOutputType(FleetSpotOptionsMaintenanceStrategiesOutput{}) @@ -58387,6 +58804,8 @@ func init() { pulumi.RegisterOutputType(VpcEndpointDnsOptionsPtrOutput{}) pulumi.RegisterOutputType(VpcEndpointServicePrivateDnsNameConfigurationOutput{}) pulumi.RegisterOutputType(VpcEndpointServicePrivateDnsNameConfigurationArrayOutput{}) + pulumi.RegisterOutputType(VpcEndpointSubnetConfigurationOutput{}) + pulumi.RegisterOutputType(VpcEndpointSubnetConfigurationArrayOutput{}) pulumi.RegisterOutputType(VpcIpamOperatingRegionOutput{}) pulumi.RegisterOutputType(VpcIpamOperatingRegionArrayOutput{}) pulumi.RegisterOutputType(VpcIpamPoolCidrCidrAuthorizationContextOutput{}) diff --git a/sdk/go/aws/ec2/trafficMirrorSession.go b/sdk/go/aws/ec2/trafficMirrorSession.go index 8beab0d670f..f114ebb828e 100644 --- a/sdk/go/aws/ec2/trafficMirrorSession.go +++ b/sdk/go/aws/ec2/trafficMirrorSession.go @@ -81,7 +81,7 @@ type TrafficMirrorSession struct { // The AWS account ID of the session owner. OwnerId pulumi.StringOutput `pulumi:"ownerId"` // The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. - PacketLength pulumi.IntPtrOutput `pulumi:"packetLength"` + PacketLength pulumi.IntOutput `pulumi:"packetLength"` // The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. SessionNumber pulumi.IntOutput `pulumi:"sessionNumber"` // 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. @@ -344,8 +344,8 @@ func (o TrafficMirrorSessionOutput) OwnerId() pulumi.StringOutput { } // The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. -func (o TrafficMirrorSessionOutput) PacketLength() pulumi.IntPtrOutput { - return o.ApplyT(func(v *TrafficMirrorSession) pulumi.IntPtrOutput { return v.PacketLength }).(pulumi.IntPtrOutput) +func (o TrafficMirrorSessionOutput) PacketLength() pulumi.IntOutput { + return o.ApplyT(func(v *TrafficMirrorSession) pulumi.IntOutput { return v.PacketLength }).(pulumi.IntOutput) } // The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. diff --git a/sdk/go/aws/ec2/vpcEndpoint.go b/sdk/go/aws/ec2/vpcEndpoint.go index 1cce38de04d..bb77735fee0 100644 --- a/sdk/go/aws/ec2/vpcEndpoint.go +++ b/sdk/go/aws/ec2/vpcEndpoint.go @@ -113,6 +113,48 @@ import ( // // ``` // +// ### Interface Endpoint Type with User-Defined IP Address +// +// ```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.NewVpcEndpoint(ctx, "ec2", &ec2.VpcEndpointArgs{ +// VpcId: pulumi.Any(example.Id), +// ServiceName: pulumi.String("com.amazonaws.us-west-2.ec2"), +// VpcEndpointType: pulumi.String("Interface"), +// SubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{ +// &ec2.VpcEndpointSubnetConfigurationArgs{ +// Ipv4: pulumi.String("10.0.1.10"), +// SubnetId: pulumi.Any(example1.Id), +// }, +// &ec2.VpcEndpointSubnetConfigurationArgs{ +// Ipv4: pulumi.String("10.0.2.10"), +// SubnetId: pulumi.Any(example2.Id), +// }, +// }, +// SubnetIds: pulumi.StringArray{ +// example1.Id, +// example2.Id, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ### Gateway Load Balancer Endpoint Type // // ```go @@ -205,6 +247,8 @@ type VpcEndpoint struct { ServiceName pulumi.StringOutput `pulumi:"serviceName"` // The state of the VPC endpoint. State pulumi.StringOutput `pulumi:"state"` + // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. + SubnetConfigurations VpcEndpointSubnetConfigurationArrayOutput `pulumi:"subnetConfigurations"` // The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` // 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. @@ -289,6 +333,8 @@ type vpcEndpointState struct { ServiceName *string `pulumi:"serviceName"` // The state of the VPC endpoint. State *string `pulumi:"state"` + // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. + SubnetConfigurations []VpcEndpointSubnetConfiguration `pulumi:"subnetConfigurations"` // The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. SubnetIds []string `pulumi:"subnetIds"` // 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. @@ -338,6 +384,8 @@ type VpcEndpointState struct { ServiceName pulumi.StringPtrInput // The state of the VPC endpoint. State pulumi.StringPtrInput + // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. + SubnetConfigurations VpcEndpointSubnetConfigurationArrayInput // The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. SubnetIds 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. @@ -375,6 +423,8 @@ type vpcEndpointArgs struct { SecurityGroupIds []string `pulumi:"securityGroupIds"` // The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). ServiceName string `pulumi:"serviceName"` + // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. + SubnetConfigurations []VpcEndpointSubnetConfiguration `pulumi:"subnetConfigurations"` // The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. SubnetIds []string `pulumi:"subnetIds"` // 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. @@ -405,6 +455,8 @@ type VpcEndpointArgs struct { SecurityGroupIds pulumi.StringArrayInput // The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). ServiceName pulumi.StringInput + // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. + SubnetConfigurations VpcEndpointSubnetConfigurationArrayInput // The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. SubnetIds 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. @@ -584,6 +636,11 @@ func (o VpcEndpointOutput) State() pulumi.StringOutput { return o.ApplyT(func(v *VpcEndpoint) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) } +// Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. +func (o VpcEndpointOutput) SubnetConfigurations() VpcEndpointSubnetConfigurationArrayOutput { + return o.ApplyT(func(v *VpcEndpoint) VpcEndpointSubnetConfigurationArrayOutput { return v.SubnetConfigurations }).(VpcEndpointSubnetConfigurationArrayOutput) +} + // The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. func (o VpcEndpointOutput) SubnetIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *VpcEndpoint) pulumi.StringArrayOutput { return v.SubnetIds }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/fms/init.go b/sdk/go/aws/fms/init.go index 5f983fd673a..5991004a8bf 100644 --- a/sdk/go/aws/fms/init.go +++ b/sdk/go/aws/fms/init.go @@ -25,6 +25,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AdminAccount{} case "aws:fms/policy:Policy": r = &Policy{} + case "aws:fms/resourceSet:ResourceSet": + r = &ResourceSet{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -48,4 +50,9 @@ func init() { "fms/policy", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "fms/resourceSet", + &module{version}, + ) } diff --git a/sdk/go/aws/fms/pulumiTypes.go b/sdk/go/aws/fms/pulumiTypes.go index c559e17907b..7ca0ea3aff3 100644 --- a/sdk/go/aws/fms/pulumiTypes.go +++ b/sdk/go/aws/fms/pulumiTypes.go @@ -952,6 +952,329 @@ func (o PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyPtrOu }).(pulumi.StringPtrOutput) } +type ResourceSetResourceSet struct { + // Description of the resource set. + Description *string `pulumi:"description"` + // Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + Id *string `pulumi:"id"` + // Last time that the reosurce set was changed. + LastUpdateTime *string `pulumi:"lastUpdateTime"` + // Descriptive name of the resource set. You can't change the name of a resource set after you create it. + Name string `pulumi:"name"` + // Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + ResourceSetStatus *string `pulumi:"resourceSetStatus"` + // Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + ResourceTypeLists []string `pulumi:"resourceTypeLists"` + UpdateToken *string `pulumi:"updateToken"` +} + +// ResourceSetResourceSetInput is an input type that accepts ResourceSetResourceSetArgs and ResourceSetResourceSetOutput values. +// You can construct a concrete instance of `ResourceSetResourceSetInput` via: +// +// ResourceSetResourceSetArgs{...} +type ResourceSetResourceSetInput interface { + pulumi.Input + + ToResourceSetResourceSetOutput() ResourceSetResourceSetOutput + ToResourceSetResourceSetOutputWithContext(context.Context) ResourceSetResourceSetOutput +} + +type ResourceSetResourceSetArgs struct { + // Description of the resource set. + Description pulumi.StringPtrInput `pulumi:"description"` + // Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + Id pulumi.StringPtrInput `pulumi:"id"` + // Last time that the reosurce set was changed. + LastUpdateTime pulumi.StringPtrInput `pulumi:"lastUpdateTime"` + // Descriptive name of the resource set. You can't change the name of a resource set after you create it. + Name pulumi.StringInput `pulumi:"name"` + // Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + ResourceSetStatus pulumi.StringPtrInput `pulumi:"resourceSetStatus"` + // Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + ResourceTypeLists pulumi.StringArrayInput `pulumi:"resourceTypeLists"` + UpdateToken pulumi.StringPtrInput `pulumi:"updateToken"` +} + +func (ResourceSetResourceSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceSetResourceSet)(nil)).Elem() +} + +func (i ResourceSetResourceSetArgs) ToResourceSetResourceSetOutput() ResourceSetResourceSetOutput { + return i.ToResourceSetResourceSetOutputWithContext(context.Background()) +} + +func (i ResourceSetResourceSetArgs) ToResourceSetResourceSetOutputWithContext(ctx context.Context) ResourceSetResourceSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceSetResourceSetOutput) +} + +// ResourceSetResourceSetArrayInput is an input type that accepts ResourceSetResourceSetArray and ResourceSetResourceSetArrayOutput values. +// You can construct a concrete instance of `ResourceSetResourceSetArrayInput` via: +// +// ResourceSetResourceSetArray{ ResourceSetResourceSetArgs{...} } +type ResourceSetResourceSetArrayInput interface { + pulumi.Input + + ToResourceSetResourceSetArrayOutput() ResourceSetResourceSetArrayOutput + ToResourceSetResourceSetArrayOutputWithContext(context.Context) ResourceSetResourceSetArrayOutput +} + +type ResourceSetResourceSetArray []ResourceSetResourceSetInput + +func (ResourceSetResourceSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceSetResourceSet)(nil)).Elem() +} + +func (i ResourceSetResourceSetArray) ToResourceSetResourceSetArrayOutput() ResourceSetResourceSetArrayOutput { + return i.ToResourceSetResourceSetArrayOutputWithContext(context.Background()) +} + +func (i ResourceSetResourceSetArray) ToResourceSetResourceSetArrayOutputWithContext(ctx context.Context) ResourceSetResourceSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceSetResourceSetArrayOutput) +} + +type ResourceSetResourceSetOutput struct{ *pulumi.OutputState } + +func (ResourceSetResourceSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceSetResourceSet)(nil)).Elem() +} + +func (o ResourceSetResourceSetOutput) ToResourceSetResourceSetOutput() ResourceSetResourceSetOutput { + return o +} + +func (o ResourceSetResourceSetOutput) ToResourceSetResourceSetOutputWithContext(ctx context.Context) ResourceSetResourceSetOutput { + return o +} + +// Description of the resource set. +func (o ResourceSetResourceSetOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceSetResourceSet) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. +func (o ResourceSetResourceSetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceSetResourceSet) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Last time that the reosurce set was changed. +func (o ResourceSetResourceSetOutput) LastUpdateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceSetResourceSet) *string { return v.LastUpdateTime }).(pulumi.StringPtrOutput) +} + +// Descriptive name of the resource set. You can't change the name of a resource set after you create it. +func (o ResourceSetResourceSetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ResourceSetResourceSet) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) +func (o ResourceSetResourceSetOutput) ResourceSetStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceSetResourceSet) *string { return v.ResourceSetStatus }).(pulumi.StringPtrOutput) +} + +// Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. +func (o ResourceSetResourceSetOutput) ResourceTypeLists() pulumi.StringArrayOutput { + return o.ApplyT(func(v ResourceSetResourceSet) []string { return v.ResourceTypeLists }).(pulumi.StringArrayOutput) +} + +func (o ResourceSetResourceSetOutput) UpdateToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceSetResourceSet) *string { return v.UpdateToken }).(pulumi.StringPtrOutput) +} + +type ResourceSetResourceSetArrayOutput struct{ *pulumi.OutputState } + +func (ResourceSetResourceSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceSetResourceSet)(nil)).Elem() +} + +func (o ResourceSetResourceSetArrayOutput) ToResourceSetResourceSetArrayOutput() ResourceSetResourceSetArrayOutput { + return o +} + +func (o ResourceSetResourceSetArrayOutput) ToResourceSetResourceSetArrayOutputWithContext(ctx context.Context) ResourceSetResourceSetArrayOutput { + return o +} + +func (o ResourceSetResourceSetArrayOutput) Index(i pulumi.IntInput) ResourceSetResourceSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceSetResourceSet { + return vs[0].([]ResourceSetResourceSet)[vs[1].(int)] + }).(ResourceSetResourceSetOutput) +} + +type ResourceSetTimeouts 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"` +} + +// ResourceSetTimeoutsInput is an input type that accepts ResourceSetTimeoutsArgs and ResourceSetTimeoutsOutput values. +// You can construct a concrete instance of `ResourceSetTimeoutsInput` via: +// +// ResourceSetTimeoutsArgs{...} +type ResourceSetTimeoutsInput interface { + pulumi.Input + + ToResourceSetTimeoutsOutput() ResourceSetTimeoutsOutput + ToResourceSetTimeoutsOutputWithContext(context.Context) ResourceSetTimeoutsOutput +} + +type ResourceSetTimeoutsArgs 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 (ResourceSetTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceSetTimeouts)(nil)).Elem() +} + +func (i ResourceSetTimeoutsArgs) ToResourceSetTimeoutsOutput() ResourceSetTimeoutsOutput { + return i.ToResourceSetTimeoutsOutputWithContext(context.Background()) +} + +func (i ResourceSetTimeoutsArgs) ToResourceSetTimeoutsOutputWithContext(ctx context.Context) ResourceSetTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceSetTimeoutsOutput) +} + +func (i ResourceSetTimeoutsArgs) ToResourceSetTimeoutsPtrOutput() ResourceSetTimeoutsPtrOutput { + return i.ToResourceSetTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i ResourceSetTimeoutsArgs) ToResourceSetTimeoutsPtrOutputWithContext(ctx context.Context) ResourceSetTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceSetTimeoutsOutput).ToResourceSetTimeoutsPtrOutputWithContext(ctx) +} + +// ResourceSetTimeoutsPtrInput is an input type that accepts ResourceSetTimeoutsArgs, ResourceSetTimeoutsPtr and ResourceSetTimeoutsPtrOutput values. +// You can construct a concrete instance of `ResourceSetTimeoutsPtrInput` via: +// +// ResourceSetTimeoutsArgs{...} +// +// or: +// +// nil +type ResourceSetTimeoutsPtrInput interface { + pulumi.Input + + ToResourceSetTimeoutsPtrOutput() ResourceSetTimeoutsPtrOutput + ToResourceSetTimeoutsPtrOutputWithContext(context.Context) ResourceSetTimeoutsPtrOutput +} + +type resourceSetTimeoutsPtrType ResourceSetTimeoutsArgs + +func ResourceSetTimeoutsPtr(v *ResourceSetTimeoutsArgs) ResourceSetTimeoutsPtrInput { + return (*resourceSetTimeoutsPtrType)(v) +} + +func (*resourceSetTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceSetTimeouts)(nil)).Elem() +} + +func (i *resourceSetTimeoutsPtrType) ToResourceSetTimeoutsPtrOutput() ResourceSetTimeoutsPtrOutput { + return i.ToResourceSetTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *resourceSetTimeoutsPtrType) ToResourceSetTimeoutsPtrOutputWithContext(ctx context.Context) ResourceSetTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceSetTimeoutsPtrOutput) +} + +type ResourceSetTimeoutsOutput struct{ *pulumi.OutputState } + +func (ResourceSetTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceSetTimeouts)(nil)).Elem() +} + +func (o ResourceSetTimeoutsOutput) ToResourceSetTimeoutsOutput() ResourceSetTimeoutsOutput { + return o +} + +func (o ResourceSetTimeoutsOutput) ToResourceSetTimeoutsOutputWithContext(ctx context.Context) ResourceSetTimeoutsOutput { + return o +} + +func (o ResourceSetTimeoutsOutput) ToResourceSetTimeoutsPtrOutput() ResourceSetTimeoutsPtrOutput { + return o.ToResourceSetTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o ResourceSetTimeoutsOutput) ToResourceSetTimeoutsPtrOutputWithContext(ctx context.Context) ResourceSetTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ResourceSetTimeouts) *ResourceSetTimeouts { + return &v + }).(ResourceSetTimeoutsPtrOutput) +} + +// 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 ResourceSetTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceSetTimeouts) *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 ResourceSetTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceSetTimeouts) *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 ResourceSetTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceSetTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type ResourceSetTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (ResourceSetTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceSetTimeouts)(nil)).Elem() +} + +func (o ResourceSetTimeoutsPtrOutput) ToResourceSetTimeoutsPtrOutput() ResourceSetTimeoutsPtrOutput { + return o +} + +func (o ResourceSetTimeoutsPtrOutput) ToResourceSetTimeoutsPtrOutputWithContext(ctx context.Context) ResourceSetTimeoutsPtrOutput { + return o +} + +func (o ResourceSetTimeoutsPtrOutput) Elem() ResourceSetTimeoutsOutput { + return o.ApplyT(func(v *ResourceSetTimeouts) ResourceSetTimeouts { + if v != nil { + return *v + } + var ret ResourceSetTimeouts + return ret + }).(ResourceSetTimeoutsOutput) +} + +// 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 ResourceSetTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ResourceSetTimeouts) *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 ResourceSetTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ResourceSetTimeouts) *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 ResourceSetTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ResourceSetTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*PolicyExcludeMapInput)(nil)).Elem(), PolicyExcludeMapArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyExcludeMapPtrInput)(nil)).Elem(), PolicyExcludeMapArgs{}) @@ -965,6 +1288,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyPtrInput)(nil)).Elem(), PolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyInput)(nil)).Elem(), PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyPtrInput)(nil)).Elem(), PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ResourceSetResourceSetInput)(nil)).Elem(), ResourceSetResourceSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ResourceSetResourceSetArrayInput)(nil)).Elem(), ResourceSetResourceSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ResourceSetTimeoutsInput)(nil)).Elem(), ResourceSetTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ResourceSetTimeoutsPtrInput)(nil)).Elem(), ResourceSetTimeoutsArgs{}) pulumi.RegisterOutputType(PolicyExcludeMapOutput{}) pulumi.RegisterOutputType(PolicyExcludeMapPtrOutput{}) pulumi.RegisterOutputType(PolicyIncludeMapOutput{}) @@ -977,4 +1304,8 @@ func init() { pulumi.RegisterOutputType(PolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyPtrOutput{}) pulumi.RegisterOutputType(PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyOutput{}) pulumi.RegisterOutputType(PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyPtrOutput{}) + pulumi.RegisterOutputType(ResourceSetResourceSetOutput{}) + pulumi.RegisterOutputType(ResourceSetResourceSetArrayOutput{}) + pulumi.RegisterOutputType(ResourceSetTimeoutsOutput{}) + pulumi.RegisterOutputType(ResourceSetTimeoutsPtrOutput{}) } diff --git a/sdk/go/aws/fms/resourceSet.go b/sdk/go/aws/fms/resourceSet.go new file mode 100644 index 00000000000..d359e48be5c --- /dev/null +++ b/sdk/go/aws/fms/resourceSet.go @@ -0,0 +1,298 @@ +// 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 fms + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS FMS (Firewall Manager) Resource Set. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fms" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := fms.NewResourceSet(ctx, "example", &fms.ResourceSetArgs{ +// ResourceSets: fms.ResourceSetResourceSetArray{ +// &fms.ResourceSetResourceSetArgs{ +// Name: pulumi.String("testing"), +// ResourceTypeLists: pulumi.StringArray{ +// pulumi.String("AWS::NetworkFirewall::Firewall"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import FMS (Firewall Manager) Resource Set using the `id`. For example: +// +// ```sh +// $ pulumi import aws:fms/resourceSet:ResourceSet example resource_set-id-12345678 +// ``` +type ResourceSet struct { + pulumi.CustomResourceState + + // ARN of the Resource Set. + Arn pulumi.StringOutput `pulumi:"arn"` + // Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. + ResourceSets ResourceSetResourceSetArrayOutput `pulumi:"resourceSets"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts ResourceSetTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewResourceSet registers a new resource with the given unique name, arguments, and options. +func NewResourceSet(ctx *pulumi.Context, + name string, args *ResourceSetArgs, opts ...pulumi.ResourceOption) (*ResourceSet, error) { + if args == nil { + args = &ResourceSetArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource ResourceSet + err := ctx.RegisterResource("aws:fms/resourceSet:ResourceSet", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetResourceSet gets an existing ResourceSet 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 GetResourceSet(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ResourceSetState, opts ...pulumi.ResourceOption) (*ResourceSet, error) { + var resource ResourceSet + err := ctx.ReadResource("aws:fms/resourceSet:ResourceSet", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ResourceSet resources. +type resourceSetState struct { + // ARN of the Resource Set. + Arn *string `pulumi:"arn"` + // Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. + ResourceSets []ResourceSetResourceSet `pulumi:"resourceSets"` + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *ResourceSetTimeouts `pulumi:"timeouts"` +} + +type ResourceSetState struct { + // ARN of the Resource Set. + Arn pulumi.StringPtrInput + // Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. + ResourceSets ResourceSetResourceSetArrayInput + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts ResourceSetTimeoutsPtrInput +} + +func (ResourceSetState) ElementType() reflect.Type { + return reflect.TypeOf((*resourceSetState)(nil)).Elem() +} + +type resourceSetArgs struct { + // Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. + ResourceSets []ResourceSetResourceSet `pulumi:"resourceSets"` + Tags map[string]string `pulumi:"tags"` + Timeouts *ResourceSetTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a ResourceSet resource. +type ResourceSetArgs struct { + // Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. + ResourceSets ResourceSetResourceSetArrayInput + Tags pulumi.StringMapInput + Timeouts ResourceSetTimeoutsPtrInput +} + +func (ResourceSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*resourceSetArgs)(nil)).Elem() +} + +type ResourceSetInput interface { + pulumi.Input + + ToResourceSetOutput() ResourceSetOutput + ToResourceSetOutputWithContext(ctx context.Context) ResourceSetOutput +} + +func (*ResourceSet) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceSet)(nil)).Elem() +} + +func (i *ResourceSet) ToResourceSetOutput() ResourceSetOutput { + return i.ToResourceSetOutputWithContext(context.Background()) +} + +func (i *ResourceSet) ToResourceSetOutputWithContext(ctx context.Context) ResourceSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceSetOutput) +} + +// ResourceSetArrayInput is an input type that accepts ResourceSetArray and ResourceSetArrayOutput values. +// You can construct a concrete instance of `ResourceSetArrayInput` via: +// +// ResourceSetArray{ ResourceSetArgs{...} } +type ResourceSetArrayInput interface { + pulumi.Input + + ToResourceSetArrayOutput() ResourceSetArrayOutput + ToResourceSetArrayOutputWithContext(context.Context) ResourceSetArrayOutput +} + +type ResourceSetArray []ResourceSetInput + +func (ResourceSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ResourceSet)(nil)).Elem() +} + +func (i ResourceSetArray) ToResourceSetArrayOutput() ResourceSetArrayOutput { + return i.ToResourceSetArrayOutputWithContext(context.Background()) +} + +func (i ResourceSetArray) ToResourceSetArrayOutputWithContext(ctx context.Context) ResourceSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceSetArrayOutput) +} + +// ResourceSetMapInput is an input type that accepts ResourceSetMap and ResourceSetMapOutput values. +// You can construct a concrete instance of `ResourceSetMapInput` via: +// +// ResourceSetMap{ "key": ResourceSetArgs{...} } +type ResourceSetMapInput interface { + pulumi.Input + + ToResourceSetMapOutput() ResourceSetMapOutput + ToResourceSetMapOutputWithContext(context.Context) ResourceSetMapOutput +} + +type ResourceSetMap map[string]ResourceSetInput + +func (ResourceSetMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ResourceSet)(nil)).Elem() +} + +func (i ResourceSetMap) ToResourceSetMapOutput() ResourceSetMapOutput { + return i.ToResourceSetMapOutputWithContext(context.Background()) +} + +func (i ResourceSetMap) ToResourceSetMapOutputWithContext(ctx context.Context) ResourceSetMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceSetMapOutput) +} + +type ResourceSetOutput struct{ *pulumi.OutputState } + +func (ResourceSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ResourceSet)(nil)).Elem() +} + +func (o ResourceSetOutput) ToResourceSetOutput() ResourceSetOutput { + return o +} + +func (o ResourceSetOutput) ToResourceSetOutputWithContext(ctx context.Context) ResourceSetOutput { + return o +} + +// ARN of the Resource Set. +func (o ResourceSetOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *ResourceSet) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. +func (o ResourceSetOutput) ResourceSets() ResourceSetResourceSetArrayOutput { + return o.ApplyT(func(v *ResourceSet) ResourceSetResourceSetArrayOutput { return v.ResourceSets }).(ResourceSetResourceSetArrayOutput) +} + +func (o ResourceSetOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ResourceSet) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o ResourceSetOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *ResourceSet) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o ResourceSetOutput) Timeouts() ResourceSetTimeoutsPtrOutput { + return o.ApplyT(func(v *ResourceSet) ResourceSetTimeoutsPtrOutput { return v.Timeouts }).(ResourceSetTimeoutsPtrOutput) +} + +type ResourceSetArrayOutput struct{ *pulumi.OutputState } + +func (ResourceSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ResourceSet)(nil)).Elem() +} + +func (o ResourceSetArrayOutput) ToResourceSetArrayOutput() ResourceSetArrayOutput { + return o +} + +func (o ResourceSetArrayOutput) ToResourceSetArrayOutputWithContext(ctx context.Context) ResourceSetArrayOutput { + return o +} + +func (o ResourceSetArrayOutput) Index(i pulumi.IntInput) ResourceSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ResourceSet { + return vs[0].([]*ResourceSet)[vs[1].(int)] + }).(ResourceSetOutput) +} + +type ResourceSetMapOutput struct{ *pulumi.OutputState } + +func (ResourceSetMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ResourceSet)(nil)).Elem() +} + +func (o ResourceSetMapOutput) ToResourceSetMapOutput() ResourceSetMapOutput { + return o +} + +func (o ResourceSetMapOutput) ToResourceSetMapOutputWithContext(ctx context.Context) ResourceSetMapOutput { + return o +} + +func (o ResourceSetMapOutput) MapIndex(k pulumi.StringInput) ResourceSetOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ResourceSet { + return vs[0].(map[string]*ResourceSet)[vs[1].(string)] + }).(ResourceSetOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ResourceSetInput)(nil)).Elem(), &ResourceSet{}) + pulumi.RegisterInputType(reflect.TypeOf((*ResourceSetArrayInput)(nil)).Elem(), ResourceSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ResourceSetMapInput)(nil)).Elem(), ResourceSetMap{}) + pulumi.RegisterOutputType(ResourceSetOutput{}) + pulumi.RegisterOutputType(ResourceSetArrayOutput{}) + pulumi.RegisterOutputType(ResourceSetMapOutput{}) +} diff --git a/sdk/go/aws/guardduty/detectorFeature.go b/sdk/go/aws/guardduty/detectorFeature.go index 2d1947676ac..a9b156ffea2 100644 --- a/sdk/go/aws/guardduty/detectorFeature.go +++ b/sdk/go/aws/guardduty/detectorFeature.go @@ -58,11 +58,11 @@ import ( type DetectorFeature struct { pulumi.CustomResourceState - // Additional feature configuration block. See below. + // Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations DetectorFeatureAdditionalConfigurationArrayOutput `pulumi:"additionalConfigurations"` // Amazon GuardDuty detector ID. DetectorId pulumi.StringOutput `pulumi:"detectorId"` - // The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + // The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name pulumi.StringOutput `pulumi:"name"` // The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. Status pulumi.StringOutput `pulumi:"status"` @@ -104,22 +104,22 @@ func GetDetectorFeature(ctx *pulumi.Context, // Input properties used for looking up and filtering DetectorFeature resources. type detectorFeatureState struct { - // Additional feature configuration block. See below. + // Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations []DetectorFeatureAdditionalConfiguration `pulumi:"additionalConfigurations"` // Amazon GuardDuty detector ID. DetectorId *string `pulumi:"detectorId"` - // The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + // The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name *string `pulumi:"name"` // The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. Status *string `pulumi:"status"` } type DetectorFeatureState struct { - // Additional feature configuration block. See below. + // Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations DetectorFeatureAdditionalConfigurationArrayInput // Amazon GuardDuty detector ID. DetectorId pulumi.StringPtrInput - // The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + // The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name pulumi.StringPtrInput // The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. Status pulumi.StringPtrInput @@ -130,11 +130,11 @@ func (DetectorFeatureState) ElementType() reflect.Type { } type detectorFeatureArgs struct { - // Additional feature configuration block. See below. + // Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations []DetectorFeatureAdditionalConfiguration `pulumi:"additionalConfigurations"` // Amazon GuardDuty detector ID. DetectorId string `pulumi:"detectorId"` - // The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + // The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name *string `pulumi:"name"` // The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. Status string `pulumi:"status"` @@ -142,11 +142,11 @@ type detectorFeatureArgs struct { // The set of arguments for constructing a DetectorFeature resource. type DetectorFeatureArgs struct { - // Additional feature configuration block. See below. + // Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations DetectorFeatureAdditionalConfigurationArrayInput // Amazon GuardDuty detector ID. DetectorId pulumi.StringInput - // The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + // The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name pulumi.StringPtrInput // The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. Status pulumi.StringInput @@ -239,7 +239,7 @@ func (o DetectorFeatureOutput) ToDetectorFeatureOutputWithContext(ctx context.Co return o } -// Additional feature configuration block. See below. +// Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. func (o DetectorFeatureOutput) AdditionalConfigurations() DetectorFeatureAdditionalConfigurationArrayOutput { return o.ApplyT(func(v *DetectorFeature) DetectorFeatureAdditionalConfigurationArrayOutput { return v.AdditionalConfigurations @@ -251,7 +251,7 @@ func (o DetectorFeatureOutput) DetectorId() pulumi.StringOutput { return o.ApplyT(func(v *DetectorFeature) pulumi.StringOutput { return v.DetectorId }).(pulumi.StringOutput) } -// The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. +// The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. func (o DetectorFeatureOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *DetectorFeature) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/guardduty/init.go b/sdk/go/aws/guardduty/init.go index a3fd51bfd7c..6e74f27c679 100644 --- a/sdk/go/aws/guardduty/init.go +++ b/sdk/go/aws/guardduty/init.go @@ -31,6 +31,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &IPSet{} case "aws:guardduty/inviteAccepter:InviteAccepter": r = &InviteAccepter{} + case "aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan": + r = &MalwareProtectionPlan{} case "aws:guardduty/member:Member": r = &Member{} case "aws:guardduty/organizationAdminAccount:OrganizationAdminAccount": @@ -81,6 +83,11 @@ func init() { "guardduty/inviteAccepter", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "guardduty/malwareProtectionPlan", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "guardduty/member", diff --git a/sdk/go/aws/guardduty/malwareProtectionPlan.go b/sdk/go/aws/guardduty/malwareProtectionPlan.go new file mode 100644 index 00000000000..db14bc4213a --- /dev/null +++ b/sdk/go/aws/guardduty/malwareProtectionPlan.go @@ -0,0 +1,318 @@ +// 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 guardduty + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a resource to manage a GuardDuty malware protection plan. +// +// ## Import +// +// Using `pulumi import`, import GuardDuty malware protection plans using their IDs. For example: +// +// ```sh +// $ pulumi import aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan example 1234567890abcdef0123 +// ``` +type MalwareProtectionPlan struct { + pulumi.CustomResourceState + + // Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + Actions MalwareProtectionPlanActionArrayOutput `pulumi:"actions"` + // The ARN of the GuardDuty malware protection plan + Arn pulumi.StringOutput `pulumi:"arn"` + // The timestamp when the Malware Protection plan resource was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. + ProtectedResource MalwareProtectionPlanProtectedResourcePtrOutput `pulumi:"protectedResource"` + // The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + Role pulumi.StringOutput `pulumi:"role"` + // The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + Status pulumi.StringOutput `pulumi:"status"` + // Key-value mapping 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"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewMalwareProtectionPlan registers a new resource with the given unique name, arguments, and options. +func NewMalwareProtectionPlan(ctx *pulumi.Context, + name string, args *MalwareProtectionPlanArgs, opts ...pulumi.ResourceOption) (*MalwareProtectionPlan, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Role == nil { + return nil, errors.New("invalid value for required argument 'Role'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource MalwareProtectionPlan + err := ctx.RegisterResource("aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMalwareProtectionPlan gets an existing MalwareProtectionPlan 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 GetMalwareProtectionPlan(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MalwareProtectionPlanState, opts ...pulumi.ResourceOption) (*MalwareProtectionPlan, error) { + var resource MalwareProtectionPlan + err := ctx.ReadResource("aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MalwareProtectionPlan resources. +type malwareProtectionPlanState struct { + // Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + Actions []MalwareProtectionPlanAction `pulumi:"actions"` + // The ARN of the GuardDuty malware protection plan + Arn *string `pulumi:"arn"` + // The timestamp when the Malware Protection plan resource was created. + CreatedAt *string `pulumi:"createdAt"` + // Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. + ProtectedResource *MalwareProtectionPlanProtectedResource `pulumi:"protectedResource"` + // The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + Role *string `pulumi:"role"` + // The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + Status *string `pulumi:"status"` + // Key-value mapping 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"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type MalwareProtectionPlanState struct { + // Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + Actions MalwareProtectionPlanActionArrayInput + // The ARN of the GuardDuty malware protection plan + Arn pulumi.StringPtrInput + // The timestamp when the Malware Protection plan resource was created. + CreatedAt pulumi.StringPtrInput + // Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. + ProtectedResource MalwareProtectionPlanProtectedResourcePtrInput + // The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + Role pulumi.StringPtrInput + // The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + Status pulumi.StringPtrInput + // Key-value mapping 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 + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput +} + +func (MalwareProtectionPlanState) ElementType() reflect.Type { + return reflect.TypeOf((*malwareProtectionPlanState)(nil)).Elem() +} + +type malwareProtectionPlanArgs struct { + // Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + Actions []MalwareProtectionPlanAction `pulumi:"actions"` + // Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. + ProtectedResource *MalwareProtectionPlanProtectedResource `pulumi:"protectedResource"` + // The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + Role string `pulumi:"role"` + // Key-value mapping 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"` +} + +// The set of arguments for constructing a MalwareProtectionPlan resource. +type MalwareProtectionPlanArgs struct { + // Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + Actions MalwareProtectionPlanActionArrayInput + // Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. + ProtectedResource MalwareProtectionPlanProtectedResourcePtrInput + // The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + Role pulumi.StringInput + // Key-value mapping 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 +} + +func (MalwareProtectionPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*malwareProtectionPlanArgs)(nil)).Elem() +} + +type MalwareProtectionPlanInput interface { + pulumi.Input + + ToMalwareProtectionPlanOutput() MalwareProtectionPlanOutput + ToMalwareProtectionPlanOutputWithContext(ctx context.Context) MalwareProtectionPlanOutput +} + +func (*MalwareProtectionPlan) ElementType() reflect.Type { + return reflect.TypeOf((**MalwareProtectionPlan)(nil)).Elem() +} + +func (i *MalwareProtectionPlan) ToMalwareProtectionPlanOutput() MalwareProtectionPlanOutput { + return i.ToMalwareProtectionPlanOutputWithContext(context.Background()) +} + +func (i *MalwareProtectionPlan) ToMalwareProtectionPlanOutputWithContext(ctx context.Context) MalwareProtectionPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanOutput) +} + +// MalwareProtectionPlanArrayInput is an input type that accepts MalwareProtectionPlanArray and MalwareProtectionPlanArrayOutput values. +// You can construct a concrete instance of `MalwareProtectionPlanArrayInput` via: +// +// MalwareProtectionPlanArray{ MalwareProtectionPlanArgs{...} } +type MalwareProtectionPlanArrayInput interface { + pulumi.Input + + ToMalwareProtectionPlanArrayOutput() MalwareProtectionPlanArrayOutput + ToMalwareProtectionPlanArrayOutputWithContext(context.Context) MalwareProtectionPlanArrayOutput +} + +type MalwareProtectionPlanArray []MalwareProtectionPlanInput + +func (MalwareProtectionPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MalwareProtectionPlan)(nil)).Elem() +} + +func (i MalwareProtectionPlanArray) ToMalwareProtectionPlanArrayOutput() MalwareProtectionPlanArrayOutput { + return i.ToMalwareProtectionPlanArrayOutputWithContext(context.Background()) +} + +func (i MalwareProtectionPlanArray) ToMalwareProtectionPlanArrayOutputWithContext(ctx context.Context) MalwareProtectionPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanArrayOutput) +} + +// MalwareProtectionPlanMapInput is an input type that accepts MalwareProtectionPlanMap and MalwareProtectionPlanMapOutput values. +// You can construct a concrete instance of `MalwareProtectionPlanMapInput` via: +// +// MalwareProtectionPlanMap{ "key": MalwareProtectionPlanArgs{...} } +type MalwareProtectionPlanMapInput interface { + pulumi.Input + + ToMalwareProtectionPlanMapOutput() MalwareProtectionPlanMapOutput + ToMalwareProtectionPlanMapOutputWithContext(context.Context) MalwareProtectionPlanMapOutput +} + +type MalwareProtectionPlanMap map[string]MalwareProtectionPlanInput + +func (MalwareProtectionPlanMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MalwareProtectionPlan)(nil)).Elem() +} + +func (i MalwareProtectionPlanMap) ToMalwareProtectionPlanMapOutput() MalwareProtectionPlanMapOutput { + return i.ToMalwareProtectionPlanMapOutputWithContext(context.Background()) +} + +func (i MalwareProtectionPlanMap) ToMalwareProtectionPlanMapOutputWithContext(ctx context.Context) MalwareProtectionPlanMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanMapOutput) +} + +type MalwareProtectionPlanOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MalwareProtectionPlan)(nil)).Elem() +} + +func (o MalwareProtectionPlanOutput) ToMalwareProtectionPlanOutput() MalwareProtectionPlanOutput { + return o +} + +func (o MalwareProtectionPlanOutput) ToMalwareProtectionPlanOutputWithContext(ctx context.Context) MalwareProtectionPlanOutput { + return o +} + +// Information about whether the tags will be added to the S3 object after scanning. See `actions` below. +func (o MalwareProtectionPlanOutput) Actions() MalwareProtectionPlanActionArrayOutput { + return o.ApplyT(func(v *MalwareProtectionPlan) MalwareProtectionPlanActionArrayOutput { return v.Actions }).(MalwareProtectionPlanActionArrayOutput) +} + +// The ARN of the GuardDuty malware protection plan +func (o MalwareProtectionPlanOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *MalwareProtectionPlan) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The timestamp when the Malware Protection plan resource was created. +func (o MalwareProtectionPlanOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *MalwareProtectionPlan) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. +func (o MalwareProtectionPlanOutput) ProtectedResource() MalwareProtectionPlanProtectedResourcePtrOutput { + return o.ApplyT(func(v *MalwareProtectionPlan) MalwareProtectionPlanProtectedResourcePtrOutput { + return v.ProtectedResource + }).(MalwareProtectionPlanProtectedResourcePtrOutput) +} + +// The IAM role that includes the permissions required to scan and add tags to the associated protected resource. +func (o MalwareProtectionPlanOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v *MalwareProtectionPlan) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) +} + +// The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. +func (o MalwareProtectionPlanOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *MalwareProtectionPlan) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Key-value mapping 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 MalwareProtectionPlanOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *MalwareProtectionPlan) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o MalwareProtectionPlanOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *MalwareProtectionPlan) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type MalwareProtectionPlanArrayOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MalwareProtectionPlan)(nil)).Elem() +} + +func (o MalwareProtectionPlanArrayOutput) ToMalwareProtectionPlanArrayOutput() MalwareProtectionPlanArrayOutput { + return o +} + +func (o MalwareProtectionPlanArrayOutput) ToMalwareProtectionPlanArrayOutputWithContext(ctx context.Context) MalwareProtectionPlanArrayOutput { + return o +} + +func (o MalwareProtectionPlanArrayOutput) Index(i pulumi.IntInput) MalwareProtectionPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MalwareProtectionPlan { + return vs[0].([]*MalwareProtectionPlan)[vs[1].(int)] + }).(MalwareProtectionPlanOutput) +} + +type MalwareProtectionPlanMapOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MalwareProtectionPlan)(nil)).Elem() +} + +func (o MalwareProtectionPlanMapOutput) ToMalwareProtectionPlanMapOutput() MalwareProtectionPlanMapOutput { + return o +} + +func (o MalwareProtectionPlanMapOutput) ToMalwareProtectionPlanMapOutputWithContext(ctx context.Context) MalwareProtectionPlanMapOutput { + return o +} + +func (o MalwareProtectionPlanMapOutput) MapIndex(k pulumi.StringInput) MalwareProtectionPlanOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MalwareProtectionPlan { + return vs[0].(map[string]*MalwareProtectionPlan)[vs[1].(string)] + }).(MalwareProtectionPlanOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanInput)(nil)).Elem(), &MalwareProtectionPlan{}) + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanArrayInput)(nil)).Elem(), MalwareProtectionPlanArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanMapInput)(nil)).Elem(), MalwareProtectionPlanMap{}) + pulumi.RegisterOutputType(MalwareProtectionPlanOutput{}) + pulumi.RegisterOutputType(MalwareProtectionPlanArrayOutput{}) + pulumi.RegisterOutputType(MalwareProtectionPlanMapOutput{}) +} diff --git a/sdk/go/aws/guardduty/organizationConfigurationFeature.go b/sdk/go/aws/guardduty/organizationConfigurationFeature.go index 831d4fc1dd6..422c4628796 100644 --- a/sdk/go/aws/guardduty/organizationConfigurationFeature.go +++ b/sdk/go/aws/guardduty/organizationConfigurationFeature.go @@ -58,13 +58,13 @@ import ( type OrganizationConfigurationFeature struct { pulumi.CustomResourceState - // The additional information that will be configured for the organization See below. + // Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations OrganizationConfigurationFeatureAdditionalConfigurationArrayOutput `pulumi:"additionalConfigurations"` // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. AutoEnable pulumi.StringOutput `pulumi:"autoEnable"` // The ID of the detector that configures the delegated administrator. DetectorId pulumi.StringOutput `pulumi:"detectorId"` - // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name pulumi.StringOutput `pulumi:"name"` } @@ -104,24 +104,24 @@ func GetOrganizationConfigurationFeature(ctx *pulumi.Context, // Input properties used for looking up and filtering OrganizationConfigurationFeature resources. type organizationConfigurationFeatureState struct { - // The additional information that will be configured for the organization See below. + // Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations []OrganizationConfigurationFeatureAdditionalConfiguration `pulumi:"additionalConfigurations"` // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. AutoEnable *string `pulumi:"autoEnable"` // The ID of the detector that configures the delegated administrator. DetectorId *string `pulumi:"detectorId"` - // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name *string `pulumi:"name"` } type OrganizationConfigurationFeatureState struct { - // The additional information that will be configured for the organization See below. + // Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations OrganizationConfigurationFeatureAdditionalConfigurationArrayInput // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. AutoEnable pulumi.StringPtrInput // The ID of the detector that configures the delegated administrator. DetectorId pulumi.StringPtrInput - // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name pulumi.StringPtrInput } @@ -130,25 +130,25 @@ func (OrganizationConfigurationFeatureState) ElementType() reflect.Type { } type organizationConfigurationFeatureArgs struct { - // The additional information that will be configured for the organization See below. + // Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations []OrganizationConfigurationFeatureAdditionalConfiguration `pulumi:"additionalConfigurations"` // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. AutoEnable string `pulumi:"autoEnable"` // The ID of the detector that configures the delegated administrator. DetectorId string `pulumi:"detectorId"` - // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name *string `pulumi:"name"` } // The set of arguments for constructing a OrganizationConfigurationFeature resource. type OrganizationConfigurationFeatureArgs struct { - // The additional information that will be configured for the organization See below. + // Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. AdditionalConfigurations OrganizationConfigurationFeatureAdditionalConfigurationArrayInput // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. AutoEnable pulumi.StringInput // The ID of the detector that configures the delegated administrator. DetectorId pulumi.StringInput - // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. Name pulumi.StringPtrInput } @@ -239,7 +239,7 @@ func (o OrganizationConfigurationFeatureOutput) ToOrganizationConfigurationFeatu return o } -// The additional information that will be configured for the organization See below. +// Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. func (o OrganizationConfigurationFeatureOutput) AdditionalConfigurations() OrganizationConfigurationFeatureAdditionalConfigurationArrayOutput { return o.ApplyT(func(v *OrganizationConfigurationFeature) OrganizationConfigurationFeatureAdditionalConfigurationArrayOutput { return v.AdditionalConfigurations @@ -256,7 +256,7 @@ func (o OrganizationConfigurationFeatureOutput) DetectorId() pulumi.StringOutput return o.ApplyT(func(v *OrganizationConfigurationFeature) pulumi.StringOutput { return v.DetectorId }).(pulumi.StringOutput) } -// The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. +// The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. func (o OrganizationConfigurationFeatureOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *OrganizationConfigurationFeature) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/guardduty/pulumiTypes.go b/sdk/go/aws/guardduty/pulumiTypes.go index b82b97b5259..efba1f565f6 100644 --- a/sdk/go/aws/guardduty/pulumiTypes.go +++ b/sdk/go/aws/guardduty/pulumiTypes.go @@ -1053,7 +1053,7 @@ func (o DetectorDatasourcesS3LogsPtrOutput) Enable() pulumi.BoolPtrOutput { } type DetectorFeatureAdditionalConfiguration struct { - // The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + // The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. Name string `pulumi:"name"` // The status of the additional configuration. Valid values: `ENABLED`, `DISABLED`. Status string `pulumi:"status"` @@ -1071,7 +1071,7 @@ type DetectorFeatureAdditionalConfigurationInput interface { } type DetectorFeatureAdditionalConfigurationArgs struct { - // The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + // The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. Name pulumi.StringInput `pulumi:"name"` // The status of the additional configuration. Valid values: `ENABLED`, `DISABLED`. Status pulumi.StringInput `pulumi:"status"` @@ -1128,7 +1128,7 @@ func (o DetectorFeatureAdditionalConfigurationOutput) ToDetectorFeatureAdditiona return o } -// The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. +// The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. func (o DetectorFeatureAdditionalConfigurationOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v DetectorFeatureAdditionalConfiguration) string { return v.Name }).(pulumi.StringOutput) } @@ -1442,6 +1442,398 @@ func (o FilterFindingCriteriaCriterionArrayOutput) Index(i pulumi.IntInput) Filt }).(FilterFindingCriteriaCriterionOutput) } +type MalwareProtectionPlanAction struct { + // Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + Taggings []interface{} `pulumi:"taggings"` +} + +// MalwareProtectionPlanActionInput is an input type that accepts MalwareProtectionPlanActionArgs and MalwareProtectionPlanActionOutput values. +// You can construct a concrete instance of `MalwareProtectionPlanActionInput` via: +// +// MalwareProtectionPlanActionArgs{...} +type MalwareProtectionPlanActionInput interface { + pulumi.Input + + ToMalwareProtectionPlanActionOutput() MalwareProtectionPlanActionOutput + ToMalwareProtectionPlanActionOutputWithContext(context.Context) MalwareProtectionPlanActionOutput +} + +type MalwareProtectionPlanActionArgs struct { + // Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + Taggings pulumi.ArrayInput `pulumi:"taggings"` +} + +func (MalwareProtectionPlanActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MalwareProtectionPlanAction)(nil)).Elem() +} + +func (i MalwareProtectionPlanActionArgs) ToMalwareProtectionPlanActionOutput() MalwareProtectionPlanActionOutput { + return i.ToMalwareProtectionPlanActionOutputWithContext(context.Background()) +} + +func (i MalwareProtectionPlanActionArgs) ToMalwareProtectionPlanActionOutputWithContext(ctx context.Context) MalwareProtectionPlanActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanActionOutput) +} + +// MalwareProtectionPlanActionArrayInput is an input type that accepts MalwareProtectionPlanActionArray and MalwareProtectionPlanActionArrayOutput values. +// You can construct a concrete instance of `MalwareProtectionPlanActionArrayInput` via: +// +// MalwareProtectionPlanActionArray{ MalwareProtectionPlanActionArgs{...} } +type MalwareProtectionPlanActionArrayInput interface { + pulumi.Input + + ToMalwareProtectionPlanActionArrayOutput() MalwareProtectionPlanActionArrayOutput + ToMalwareProtectionPlanActionArrayOutputWithContext(context.Context) MalwareProtectionPlanActionArrayOutput +} + +type MalwareProtectionPlanActionArray []MalwareProtectionPlanActionInput + +func (MalwareProtectionPlanActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MalwareProtectionPlanAction)(nil)).Elem() +} + +func (i MalwareProtectionPlanActionArray) ToMalwareProtectionPlanActionArrayOutput() MalwareProtectionPlanActionArrayOutput { + return i.ToMalwareProtectionPlanActionArrayOutputWithContext(context.Background()) +} + +func (i MalwareProtectionPlanActionArray) ToMalwareProtectionPlanActionArrayOutputWithContext(ctx context.Context) MalwareProtectionPlanActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanActionArrayOutput) +} + +type MalwareProtectionPlanActionOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MalwareProtectionPlanAction)(nil)).Elem() +} + +func (o MalwareProtectionPlanActionOutput) ToMalwareProtectionPlanActionOutput() MalwareProtectionPlanActionOutput { + return o +} + +func (o MalwareProtectionPlanActionOutput) ToMalwareProtectionPlanActionOutputWithContext(ctx context.Context) MalwareProtectionPlanActionOutput { + return o +} + +// Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. +func (o MalwareProtectionPlanActionOutput) Taggings() pulumi.ArrayOutput { + return o.ApplyT(func(v MalwareProtectionPlanAction) []interface{} { return v.Taggings }).(pulumi.ArrayOutput) +} + +type MalwareProtectionPlanActionArrayOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MalwareProtectionPlanAction)(nil)).Elem() +} + +func (o MalwareProtectionPlanActionArrayOutput) ToMalwareProtectionPlanActionArrayOutput() MalwareProtectionPlanActionArrayOutput { + return o +} + +func (o MalwareProtectionPlanActionArrayOutput) ToMalwareProtectionPlanActionArrayOutputWithContext(ctx context.Context) MalwareProtectionPlanActionArrayOutput { + return o +} + +func (o MalwareProtectionPlanActionArrayOutput) Index(i pulumi.IntInput) MalwareProtectionPlanActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MalwareProtectionPlanAction { + return vs[0].([]MalwareProtectionPlanAction)[vs[1].(int)] + }).(MalwareProtectionPlanActionOutput) +} + +type MalwareProtectionPlanProtectedResource struct { + // Information about the protected S3 bucket resource. See `s3Bucket` below. + S3Bucket *MalwareProtectionPlanProtectedResourceS3Bucket `pulumi:"s3Bucket"` +} + +// MalwareProtectionPlanProtectedResourceInput is an input type that accepts MalwareProtectionPlanProtectedResourceArgs and MalwareProtectionPlanProtectedResourceOutput values. +// You can construct a concrete instance of `MalwareProtectionPlanProtectedResourceInput` via: +// +// MalwareProtectionPlanProtectedResourceArgs{...} +type MalwareProtectionPlanProtectedResourceInput interface { + pulumi.Input + + ToMalwareProtectionPlanProtectedResourceOutput() MalwareProtectionPlanProtectedResourceOutput + ToMalwareProtectionPlanProtectedResourceOutputWithContext(context.Context) MalwareProtectionPlanProtectedResourceOutput +} + +type MalwareProtectionPlanProtectedResourceArgs struct { + // Information about the protected S3 bucket resource. See `s3Bucket` below. + S3Bucket MalwareProtectionPlanProtectedResourceS3BucketPtrInput `pulumi:"s3Bucket"` +} + +func (MalwareProtectionPlanProtectedResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MalwareProtectionPlanProtectedResource)(nil)).Elem() +} + +func (i MalwareProtectionPlanProtectedResourceArgs) ToMalwareProtectionPlanProtectedResourceOutput() MalwareProtectionPlanProtectedResourceOutput { + return i.ToMalwareProtectionPlanProtectedResourceOutputWithContext(context.Background()) +} + +func (i MalwareProtectionPlanProtectedResourceArgs) ToMalwareProtectionPlanProtectedResourceOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanProtectedResourceOutput) +} + +func (i MalwareProtectionPlanProtectedResourceArgs) ToMalwareProtectionPlanProtectedResourcePtrOutput() MalwareProtectionPlanProtectedResourcePtrOutput { + return i.ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(context.Background()) +} + +func (i MalwareProtectionPlanProtectedResourceArgs) ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanProtectedResourceOutput).ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(ctx) +} + +// MalwareProtectionPlanProtectedResourcePtrInput is an input type that accepts MalwareProtectionPlanProtectedResourceArgs, MalwareProtectionPlanProtectedResourcePtr and MalwareProtectionPlanProtectedResourcePtrOutput values. +// You can construct a concrete instance of `MalwareProtectionPlanProtectedResourcePtrInput` via: +// +// MalwareProtectionPlanProtectedResourceArgs{...} +// +// or: +// +// nil +type MalwareProtectionPlanProtectedResourcePtrInput interface { + pulumi.Input + + ToMalwareProtectionPlanProtectedResourcePtrOutput() MalwareProtectionPlanProtectedResourcePtrOutput + ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(context.Context) MalwareProtectionPlanProtectedResourcePtrOutput +} + +type malwareProtectionPlanProtectedResourcePtrType MalwareProtectionPlanProtectedResourceArgs + +func MalwareProtectionPlanProtectedResourcePtr(v *MalwareProtectionPlanProtectedResourceArgs) MalwareProtectionPlanProtectedResourcePtrInput { + return (*malwareProtectionPlanProtectedResourcePtrType)(v) +} + +func (*malwareProtectionPlanProtectedResourcePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MalwareProtectionPlanProtectedResource)(nil)).Elem() +} + +func (i *malwareProtectionPlanProtectedResourcePtrType) ToMalwareProtectionPlanProtectedResourcePtrOutput() MalwareProtectionPlanProtectedResourcePtrOutput { + return i.ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(context.Background()) +} + +func (i *malwareProtectionPlanProtectedResourcePtrType) ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanProtectedResourcePtrOutput) +} + +type MalwareProtectionPlanProtectedResourceOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanProtectedResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MalwareProtectionPlanProtectedResource)(nil)).Elem() +} + +func (o MalwareProtectionPlanProtectedResourceOutput) ToMalwareProtectionPlanProtectedResourceOutput() MalwareProtectionPlanProtectedResourceOutput { + return o +} + +func (o MalwareProtectionPlanProtectedResourceOutput) ToMalwareProtectionPlanProtectedResourceOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourceOutput { + return o +} + +func (o MalwareProtectionPlanProtectedResourceOutput) ToMalwareProtectionPlanProtectedResourcePtrOutput() MalwareProtectionPlanProtectedResourcePtrOutput { + return o.ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(context.Background()) +} + +func (o MalwareProtectionPlanProtectedResourceOutput) ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MalwareProtectionPlanProtectedResource) *MalwareProtectionPlanProtectedResource { + return &v + }).(MalwareProtectionPlanProtectedResourcePtrOutput) +} + +// Information about the protected S3 bucket resource. See `s3Bucket` below. +func (o MalwareProtectionPlanProtectedResourceOutput) S3Bucket() MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return o.ApplyT(func(v MalwareProtectionPlanProtectedResource) *MalwareProtectionPlanProtectedResourceS3Bucket { + return v.S3Bucket + }).(MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) +} + +type MalwareProtectionPlanProtectedResourcePtrOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanProtectedResourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MalwareProtectionPlanProtectedResource)(nil)).Elem() +} + +func (o MalwareProtectionPlanProtectedResourcePtrOutput) ToMalwareProtectionPlanProtectedResourcePtrOutput() MalwareProtectionPlanProtectedResourcePtrOutput { + return o +} + +func (o MalwareProtectionPlanProtectedResourcePtrOutput) ToMalwareProtectionPlanProtectedResourcePtrOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourcePtrOutput { + return o +} + +func (o MalwareProtectionPlanProtectedResourcePtrOutput) Elem() MalwareProtectionPlanProtectedResourceOutput { + return o.ApplyT(func(v *MalwareProtectionPlanProtectedResource) MalwareProtectionPlanProtectedResource { + if v != nil { + return *v + } + var ret MalwareProtectionPlanProtectedResource + return ret + }).(MalwareProtectionPlanProtectedResourceOutput) +} + +// Information about the protected S3 bucket resource. See `s3Bucket` below. +func (o MalwareProtectionPlanProtectedResourcePtrOutput) S3Bucket() MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return o.ApplyT(func(v *MalwareProtectionPlanProtectedResource) *MalwareProtectionPlanProtectedResourceS3Bucket { + if v == nil { + return nil + } + return v.S3Bucket + }).(MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) +} + +type MalwareProtectionPlanProtectedResourceS3Bucket struct { + // Name of the S3 bucket. + BucketName string `pulumi:"bucketName"` + // The list of object prefixes that specify the S3 objects that will be scanned. + ObjectPrefixes []string `pulumi:"objectPrefixes"` +} + +// MalwareProtectionPlanProtectedResourceS3BucketInput is an input type that accepts MalwareProtectionPlanProtectedResourceS3BucketArgs and MalwareProtectionPlanProtectedResourceS3BucketOutput values. +// You can construct a concrete instance of `MalwareProtectionPlanProtectedResourceS3BucketInput` via: +// +// MalwareProtectionPlanProtectedResourceS3BucketArgs{...} +type MalwareProtectionPlanProtectedResourceS3BucketInput interface { + pulumi.Input + + ToMalwareProtectionPlanProtectedResourceS3BucketOutput() MalwareProtectionPlanProtectedResourceS3BucketOutput + ToMalwareProtectionPlanProtectedResourceS3BucketOutputWithContext(context.Context) MalwareProtectionPlanProtectedResourceS3BucketOutput +} + +type MalwareProtectionPlanProtectedResourceS3BucketArgs struct { + // Name of the S3 bucket. + BucketName pulumi.StringInput `pulumi:"bucketName"` + // The list of object prefixes that specify the S3 objects that will be scanned. + ObjectPrefixes pulumi.StringArrayInput `pulumi:"objectPrefixes"` +} + +func (MalwareProtectionPlanProtectedResourceS3BucketArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MalwareProtectionPlanProtectedResourceS3Bucket)(nil)).Elem() +} + +func (i MalwareProtectionPlanProtectedResourceS3BucketArgs) ToMalwareProtectionPlanProtectedResourceS3BucketOutput() MalwareProtectionPlanProtectedResourceS3BucketOutput { + return i.ToMalwareProtectionPlanProtectedResourceS3BucketOutputWithContext(context.Background()) +} + +func (i MalwareProtectionPlanProtectedResourceS3BucketArgs) ToMalwareProtectionPlanProtectedResourceS3BucketOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourceS3BucketOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanProtectedResourceS3BucketOutput) +} + +func (i MalwareProtectionPlanProtectedResourceS3BucketArgs) ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutput() MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return i.ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(context.Background()) +} + +func (i MalwareProtectionPlanProtectedResourceS3BucketArgs) ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanProtectedResourceS3BucketOutput).ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(ctx) +} + +// MalwareProtectionPlanProtectedResourceS3BucketPtrInput is an input type that accepts MalwareProtectionPlanProtectedResourceS3BucketArgs, MalwareProtectionPlanProtectedResourceS3BucketPtr and MalwareProtectionPlanProtectedResourceS3BucketPtrOutput values. +// You can construct a concrete instance of `MalwareProtectionPlanProtectedResourceS3BucketPtrInput` via: +// +// MalwareProtectionPlanProtectedResourceS3BucketArgs{...} +// +// or: +// +// nil +type MalwareProtectionPlanProtectedResourceS3BucketPtrInput interface { + pulumi.Input + + ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutput() MalwareProtectionPlanProtectedResourceS3BucketPtrOutput + ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(context.Context) MalwareProtectionPlanProtectedResourceS3BucketPtrOutput +} + +type malwareProtectionPlanProtectedResourceS3BucketPtrType MalwareProtectionPlanProtectedResourceS3BucketArgs + +func MalwareProtectionPlanProtectedResourceS3BucketPtr(v *MalwareProtectionPlanProtectedResourceS3BucketArgs) MalwareProtectionPlanProtectedResourceS3BucketPtrInput { + return (*malwareProtectionPlanProtectedResourceS3BucketPtrType)(v) +} + +func (*malwareProtectionPlanProtectedResourceS3BucketPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MalwareProtectionPlanProtectedResourceS3Bucket)(nil)).Elem() +} + +func (i *malwareProtectionPlanProtectedResourceS3BucketPtrType) ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutput() MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return i.ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(context.Background()) +} + +func (i *malwareProtectionPlanProtectedResourceS3BucketPtrType) ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) +} + +type MalwareProtectionPlanProtectedResourceS3BucketOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanProtectedResourceS3BucketOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MalwareProtectionPlanProtectedResourceS3Bucket)(nil)).Elem() +} + +func (o MalwareProtectionPlanProtectedResourceS3BucketOutput) ToMalwareProtectionPlanProtectedResourceS3BucketOutput() MalwareProtectionPlanProtectedResourceS3BucketOutput { + return o +} + +func (o MalwareProtectionPlanProtectedResourceS3BucketOutput) ToMalwareProtectionPlanProtectedResourceS3BucketOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourceS3BucketOutput { + return o +} + +func (o MalwareProtectionPlanProtectedResourceS3BucketOutput) ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutput() MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return o.ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(context.Background()) +} + +func (o MalwareProtectionPlanProtectedResourceS3BucketOutput) ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MalwareProtectionPlanProtectedResourceS3Bucket) *MalwareProtectionPlanProtectedResourceS3Bucket { + return &v + }).(MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) +} + +// Name of the S3 bucket. +func (o MalwareProtectionPlanProtectedResourceS3BucketOutput) BucketName() pulumi.StringOutput { + return o.ApplyT(func(v MalwareProtectionPlanProtectedResourceS3Bucket) string { return v.BucketName }).(pulumi.StringOutput) +} + +// The list of object prefixes that specify the S3 objects that will be scanned. +func (o MalwareProtectionPlanProtectedResourceS3BucketOutput) ObjectPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v MalwareProtectionPlanProtectedResourceS3Bucket) []string { return v.ObjectPrefixes }).(pulumi.StringArrayOutput) +} + +type MalwareProtectionPlanProtectedResourceS3BucketPtrOutput struct{ *pulumi.OutputState } + +func (MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MalwareProtectionPlanProtectedResourceS3Bucket)(nil)).Elem() +} + +func (o MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutput() MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return o +} + +func (o MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) ToMalwareProtectionPlanProtectedResourceS3BucketPtrOutputWithContext(ctx context.Context) MalwareProtectionPlanProtectedResourceS3BucketPtrOutput { + return o +} + +func (o MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) Elem() MalwareProtectionPlanProtectedResourceS3BucketOutput { + return o.ApplyT(func(v *MalwareProtectionPlanProtectedResourceS3Bucket) MalwareProtectionPlanProtectedResourceS3Bucket { + if v != nil { + return *v + } + var ret MalwareProtectionPlanProtectedResourceS3Bucket + return ret + }).(MalwareProtectionPlanProtectedResourceS3BucketOutput) +} + +// Name of the S3 bucket. +func (o MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) BucketName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MalwareProtectionPlanProtectedResourceS3Bucket) *string { + if v == nil { + return nil + } + return &v.BucketName + }).(pulumi.StringPtrOutput) +} + +// The list of object prefixes that specify the S3 objects that will be scanned. +func (o MalwareProtectionPlanProtectedResourceS3BucketPtrOutput) ObjectPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MalwareProtectionPlanProtectedResourceS3Bucket) []string { + if v == nil { + return nil + } + return v.ObjectPrefixes + }).(pulumi.StringArrayOutput) +} + type OrganizationConfigurationDatasources struct { // Enable Kubernetes Audit Logs Monitoring automatically for new member accounts. Kubernetes *OrganizationConfigurationDatasourcesKubernetes `pulumi:"kubernetes"` @@ -2476,7 +2868,7 @@ func (o OrganizationConfigurationDatasourcesS3LogsPtrOutput) AutoEnable() pulumi type OrganizationConfigurationFeatureAdditionalConfiguration struct { // The status of the additional configuration that will be configured for the organization. Valid values: `NEW`, `ALL`, `NONE`. AutoEnable string `pulumi:"autoEnable"` - // The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + // The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. Name string `pulumi:"name"` } @@ -2494,7 +2886,7 @@ type OrganizationConfigurationFeatureAdditionalConfigurationInput interface { type OrganizationConfigurationFeatureAdditionalConfigurationArgs struct { // The status of the additional configuration that will be configured for the organization. Valid values: `NEW`, `ALL`, `NONE`. AutoEnable pulumi.StringInput `pulumi:"autoEnable"` - // The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + // The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. Name pulumi.StringInput `pulumi:"name"` } @@ -2554,7 +2946,7 @@ func (o OrganizationConfigurationFeatureAdditionalConfigurationOutput) AutoEnabl return o.ApplyT(func(v OrganizationConfigurationFeatureAdditionalConfiguration) string { return v.AutoEnable }).(pulumi.StringOutput) } -// The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. +// The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. func (o OrganizationConfigurationFeatureAdditionalConfigurationOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v OrganizationConfigurationFeatureAdditionalConfiguration) string { return v.Name }).(pulumi.StringOutput) } @@ -2823,6 +3215,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FilterFindingCriteriaPtrInput)(nil)).Elem(), FilterFindingCriteriaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FilterFindingCriteriaCriterionInput)(nil)).Elem(), FilterFindingCriteriaCriterionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FilterFindingCriteriaCriterionArrayInput)(nil)).Elem(), FilterFindingCriteriaCriterionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanActionInput)(nil)).Elem(), MalwareProtectionPlanActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanActionArrayInput)(nil)).Elem(), MalwareProtectionPlanActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanProtectedResourceInput)(nil)).Elem(), MalwareProtectionPlanProtectedResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanProtectedResourcePtrInput)(nil)).Elem(), MalwareProtectionPlanProtectedResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanProtectedResourceS3BucketInput)(nil)).Elem(), MalwareProtectionPlanProtectedResourceS3BucketArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MalwareProtectionPlanProtectedResourceS3BucketPtrInput)(nil)).Elem(), MalwareProtectionPlanProtectedResourceS3BucketArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationDatasourcesInput)(nil)).Elem(), OrganizationConfigurationDatasourcesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationDatasourcesPtrInput)(nil)).Elem(), OrganizationConfigurationDatasourcesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationDatasourcesKubernetesInput)(nil)).Elem(), OrganizationConfigurationDatasourcesKubernetesArgs{}) @@ -2863,6 +3261,12 @@ func init() { pulumi.RegisterOutputType(FilterFindingCriteriaPtrOutput{}) pulumi.RegisterOutputType(FilterFindingCriteriaCriterionOutput{}) pulumi.RegisterOutputType(FilterFindingCriteriaCriterionArrayOutput{}) + pulumi.RegisterOutputType(MalwareProtectionPlanActionOutput{}) + pulumi.RegisterOutputType(MalwareProtectionPlanActionArrayOutput{}) + pulumi.RegisterOutputType(MalwareProtectionPlanProtectedResourceOutput{}) + pulumi.RegisterOutputType(MalwareProtectionPlanProtectedResourcePtrOutput{}) + pulumi.RegisterOutputType(MalwareProtectionPlanProtectedResourceS3BucketOutput{}) + pulumi.RegisterOutputType(MalwareProtectionPlanProtectedResourceS3BucketPtrOutput{}) pulumi.RegisterOutputType(OrganizationConfigurationDatasourcesOutput{}) pulumi.RegisterOutputType(OrganizationConfigurationDatasourcesPtrOutput{}) pulumi.RegisterOutputType(OrganizationConfigurationDatasourcesKubernetesOutput{}) diff --git a/sdk/go/aws/opensearch/domain.go b/sdk/go/aws/opensearch/domain.go index 65b916d5159..a5a2c1405c5 100644 --- a/sdk/go/aws/opensearch/domain.go +++ b/sdk/go/aws/opensearch/domain.go @@ -512,6 +512,8 @@ type Domain struct { // See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). // Defaults to the lastest version of OpenSearch. EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` + // The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + IpAddressType pulumi.StringOutput `pulumi:"ipAddressType"` // (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. // // Deprecated: use 'dashboard_endpoint' attribute instead @@ -600,6 +602,8 @@ type domainState struct { // See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). // Defaults to the lastest version of OpenSearch. EngineVersion *string `pulumi:"engineVersion"` + // The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + IpAddressType *string `pulumi:"ipAddressType"` // (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. // // Deprecated: use 'dashboard_endpoint' attribute instead @@ -659,6 +663,8 @@ type DomainState struct { // See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). // Defaults to the lastest version of OpenSearch. EngineVersion pulumi.StringPtrInput + // The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + IpAddressType pulumi.StringPtrInput // (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. // // Deprecated: use 'dashboard_endpoint' attribute instead @@ -714,6 +720,8 @@ type domainArgs struct { // See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). // Defaults to the lastest version of OpenSearch. EngineVersion *string `pulumi:"engineVersion"` + // The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + IpAddressType *string `pulumi:"ipAddressType"` // Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. LogPublishingOptions []DomainLogPublishingOption `pulumi:"logPublishingOptions"` // Configuration block for node-to-node encryption options. Detailed below. @@ -758,6 +766,8 @@ type DomainArgs struct { // See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). // Defaults to the lastest version of OpenSearch. EngineVersion pulumi.StringPtrInput + // The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + IpAddressType pulumi.StringPtrInput // Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. LogPublishingOptions DomainLogPublishingOptionArrayInput // Configuration block for node-to-node encryption options. Detailed below. @@ -940,6 +950,11 @@ func (o DomainOutput) EngineVersion() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) } +// The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. +func (o DomainOutput) IpAddressType() pulumi.StringOutput { + return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.IpAddressType }).(pulumi.StringOutput) +} + // (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. // // Deprecated: use 'dashboard_endpoint' attribute instead diff --git a/sdk/go/aws/opensearch/getDomain.go b/sdk/go/aws/opensearch/getDomain.go index bd9944b95ad..220c92aa1d2 100644 --- a/sdk/go/aws/opensearch/getDomain.go +++ b/sdk/go/aws/opensearch/getDomain.go @@ -93,6 +93,8 @@ type LookupDomainResult struct { EngineVersion string `pulumi:"engineVersion"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` + // Type of IP addresses supported by the endpoint for the domain. + IpAddressType string `pulumi:"ipAddressType"` // (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. // // Deprecated: use 'dashboard_endpoint' attribute instead @@ -241,6 +243,11 @@ func (o LookupDomainResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainResult) string { return v.Id }).(pulumi.StringOutput) } +// Type of IP addresses supported by the endpoint for the domain. +func (o LookupDomainResultOutput) IpAddressType() pulumi.StringOutput { + return o.ApplyT(func(v LookupDomainResult) string { return v.IpAddressType }).(pulumi.StringOutput) +} + // (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. // // Deprecated: use 'dashboard_endpoint' attribute instead diff --git a/sdk/go/aws/ssoadmin/accountAssignment.go b/sdk/go/aws/ssoadmin/accountAssignment.go index 83dbe120b61..fb305590a08 100644 --- a/sdk/go/aws/ssoadmin/accountAssignment.go +++ b/sdk/go/aws/ssoadmin/accountAssignment.go @@ -100,7 +100,7 @@ import ( // return err // } // exampleGroup, err := identitystore.NewGroup(ctx, "example", &identitystore.GroupArgs{ -// IdentityStoreId: pulumi.Any(ssoInstance.IdentityStoreIds[0]), +// IdentityStoreId: pulumi.String(example.IdentityStoreIds[0]), // DisplayName: pulumi.String("Admin"), // Description: pulumi.String("Admin Group"), // }) diff --git a/sdk/go/aws/ssoadmin/managedPolicyAttachment.go b/sdk/go/aws/ssoadmin/managedPolicyAttachment.go index 1d704ca6a12..aad8e3deaa8 100644 --- a/sdk/go/aws/ssoadmin/managedPolicyAttachment.go +++ b/sdk/go/aws/ssoadmin/managedPolicyAttachment.go @@ -86,7 +86,7 @@ import ( // return err // } // exampleGroup, err := identitystore.NewGroup(ctx, "example", &identitystore.GroupArgs{ -// IdentityStoreId: pulumi.Any(ssoInstance.IdentityStoreIds[0]), +// IdentityStoreId: pulumi.String(example.IdentityStoreIds[0]), // DisplayName: pulumi.String("Admin"), // Description: pulumi.String("Admin Group"), // }) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppAuthorization.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppAuthorization.java new file mode 100644 index 00000000000..8829eaf808c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppAuthorization.java @@ -0,0 +1,277 @@ +// *** 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.appfabric; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.appfabric.AppAuthorizationArgs; +import com.pulumi.aws.appfabric.inputs.AppAuthorizationState; +import com.pulumi.aws.appfabric.outputs.AppAuthorizationCredential; +import com.pulumi.aws.appfabric.outputs.AppAuthorizationTenant; +import com.pulumi.aws.appfabric.outputs.AppAuthorizationTimeouts; +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.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS AppFabric App Authorization. + * + * ## 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.appfabric.AppAuthorization;
+ * import com.pulumi.aws.appfabric.AppAuthorizationArgs;
+ * import com.pulumi.aws.appfabric.inputs.AppAuthorizationCredentialArgs;
+ * import com.pulumi.aws.appfabric.inputs.AppAuthorizationTenantArgs;
+ * 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 AppAuthorization("example", AppAuthorizationArgs.builder()
+ *             .app("TERRAFORMCLOUD")
+ *             .appBundleArn(arn)
+ *             .authType("apiKey")
+ *             .credential(AppAuthorizationCredentialArgs.builder()
+ *                 .apiKeyCredentials(AppAuthorizationCredentialApiKeyCredentialArgs.builder()
+ *                     .apiKey("exampleapikeytoken")
+ *                     .build())
+ *                 .build())
+ *             .tenants(AppAuthorizationTenantArgs.builder()
+ *                 .tenantDisplayName("example")
+ *                 .tenantIdentifier("example")
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + */ +@ResourceType(type="aws:appfabric/appAuthorization:AppAuthorization") +public class AppAuthorization extends com.pulumi.resources.CustomResource { + /** + * The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + */ + @Export(name="app", refs={String.class}, tree="[0]") + private Output app; + + /** + * @return The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + */ + public Output app() { + return this.app; + } + /** + * The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + */ + @Export(name="appBundleArn", refs={String.class}, tree="[0]") + private Output appBundleArn; + + /** + * @return The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + */ + public Output appBundleArn() { + return this.appBundleArn; + } + /** + * ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + */ + public Output arn() { + return this.arn; + } + /** + * The authorization type for the app authorization valid values are oauth2 and apiKey. + * + */ + @Export(name="authType", refs={String.class}, tree="[0]") + private Output authType; + + /** + * @return The authorization type for the app authorization valid values are oauth2 and apiKey. + * + */ + public Output authType() { + return this.authType; + } + /** + * The application URL for the OAuth flow. + * + */ + @Export(name="authUrl", refs={String.class}, tree="[0]") + private Output authUrl; + + /** + * @return The application URL for the OAuth flow. + * + */ + public Output authUrl() { + return this.authUrl; + } + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + public Output createdAt() { + return this.createdAt; + } + /** + * Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + */ + @Export(name="credential", refs={AppAuthorizationCredential.class}, tree="[0]") + private Output credential; + + /** + * @return Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + */ + public Output> credential() { + return Codegen.optional(this.credential); + } + /** + * The user persona of the app authorization. + * + */ + @Export(name="persona", refs={String.class}, tree="[0]") + private Output persona; + + /** + * @return The user persona of the app authorization. + * + */ + public Output persona() { + return this.persona; + } + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @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; + + public Output> tagsAll() { + return this.tagsAll; + } + /** + * Contains information about an application tenant, such as the application display name and identifier. + * + */ + @Export(name="tenants", refs={List.class,AppAuthorizationTenant.class}, tree="[0,1]") + private Output> tenants; + + /** + * @return Contains information about an application tenant, such as the application display name and identifier. + * + */ + public Output>> tenants() { + return Codegen.optional(this.tenants); + } + @Export(name="timeouts", refs={AppAuthorizationTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + @Export(name="updatedAt", refs={String.class}, tree="[0]") + private Output updatedAt; + + public Output updatedAt() { + return this.updatedAt; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AppAuthorization(String name) { + this(name, AppAuthorizationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AppAuthorization(String name, AppAuthorizationArgs 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 AppAuthorization(String name, AppAuthorizationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:appfabric/appAuthorization:AppAuthorization", name, args == null ? AppAuthorizationArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private AppAuthorization(String name, Output id, @Nullable AppAuthorizationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:appfabric/appAuthorization:AppAuthorization", name, state, makeResourceOptions(options, id)); + } + + 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 AppAuthorization get(String name, Output id, @Nullable AppAuthorizationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AppAuthorization(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppAuthorizationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppAuthorizationArgs.java new file mode 100644 index 00000000000..4a76eb594e0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppAuthorizationArgs.java @@ -0,0 +1,294 @@ +// *** 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.appfabric; + +import com.pulumi.aws.appfabric.inputs.AppAuthorizationCredentialArgs; +import com.pulumi.aws.appfabric.inputs.AppAuthorizationTenantArgs; +import com.pulumi.aws.appfabric.inputs.AppAuthorizationTimeoutsArgs; +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.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AppAuthorizationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppAuthorizationArgs Empty = new AppAuthorizationArgs(); + + /** + * The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + */ + @Import(name="app", required=true) + private Output app; + + /** + * @return The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + */ + public Output app() { + return this.app; + } + + /** + * The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + */ + @Import(name="appBundleArn", required=true) + private Output appBundleArn; + + /** + * @return The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + */ + public Output appBundleArn() { + return this.appBundleArn; + } + + /** + * The authorization type for the app authorization valid values are oauth2 and apiKey. + * + */ + @Import(name="authType", required=true) + private Output authType; + + /** + * @return The authorization type for the app authorization valid values are oauth2 and apiKey. + * + */ + public Output authType() { + return this.authType; + } + + /** + * Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + */ + @Import(name="credential") + private @Nullable Output credential; + + /** + * @return Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + */ + public Optional> credential() { + return Optional.ofNullable(this.credential); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * Contains information about an application tenant, such as the application display name and identifier. + * + */ + @Import(name="tenants") + private @Nullable Output> tenants; + + /** + * @return Contains information about an application tenant, such as the application display name and identifier. + * + */ + public Optional>> tenants() { + return Optional.ofNullable(this.tenants); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private AppAuthorizationArgs() {} + + private AppAuthorizationArgs(AppAuthorizationArgs $) { + this.app = $.app; + this.appBundleArn = $.appBundleArn; + this.authType = $.authType; + this.credential = $.credential; + this.tags = $.tags; + this.tenants = $.tenants; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppAuthorizationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppAuthorizationArgs $; + + public Builder() { + $ = new AppAuthorizationArgs(); + } + + public Builder(AppAuthorizationArgs defaults) { + $ = new AppAuthorizationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param app The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + * @return builder + * + */ + public Builder app(Output app) { + $.app = app; + return this; + } + + /** + * @param app The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + * @return builder + * + */ + public Builder app(String app) { + return app(Output.of(app)); + } + + /** + * @param appBundleArn The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + * @return builder + * + */ + public Builder appBundleArn(Output appBundleArn) { + $.appBundleArn = appBundleArn; + return this; + } + + /** + * @param appBundleArn The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + * @return builder + * + */ + public Builder appBundleArn(String appBundleArn) { + return appBundleArn(Output.of(appBundleArn)); + } + + /** + * @param authType The authorization type for the app authorization valid values are oauth2 and apiKey. + * + * @return builder + * + */ + public Builder authType(Output authType) { + $.authType = authType; + return this; + } + + /** + * @param authType The authorization type for the app authorization valid values are oauth2 and apiKey. + * + * @return builder + * + */ + public Builder authType(String authType) { + return authType(Output.of(authType)); + } + + /** + * @param credential Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + * @return builder + * + */ + public Builder credential(@Nullable Output credential) { + $.credential = credential; + return this; + } + + /** + * @param credential Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + * @return builder + * + */ + public Builder credential(AppAuthorizationCredentialArgs credential) { + return credential(Output.of(credential)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tenants Contains information about an application tenant, such as the application display name and identifier. + * + * @return builder + * + */ + public Builder tenants(@Nullable Output> tenants) { + $.tenants = tenants; + return this; + } + + /** + * @param tenants Contains information about an application tenant, such as the application display name and identifier. + * + * @return builder + * + */ + public Builder tenants(List tenants) { + return tenants(Output.of(tenants)); + } + + /** + * @param tenants Contains information about an application tenant, such as the application display name and identifier. + * + * @return builder + * + */ + public Builder tenants(AppAuthorizationTenantArgs... tenants) { + return tenants(List.of(tenants)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(AppAuthorizationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public AppAuthorizationArgs build() { + if ($.app == null) { + throw new MissingRequiredPropertyException("AppAuthorizationArgs", "app"); + } + if ($.appBundleArn == null) { + throw new MissingRequiredPropertyException("AppAuthorizationArgs", "appBundleArn"); + } + if ($.authType == null) { + throw new MissingRequiredPropertyException("AppAuthorizationArgs", "authType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppBundle.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppBundle.java new file mode 100644 index 00000000000..ee3fb2df977 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppBundle.java @@ -0,0 +1,179 @@ +// *** 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.appfabric; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.appfabric.AppBundleArgs; +import com.pulumi.aws.appfabric.inputs.AppBundleState; +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 AppFabric AppBundle. + * + * ## 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.appfabric.AppBundle;
+ * import com.pulumi.aws.appfabric.AppBundleArgs;
+ * 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 AppBundle("example", AppBundleArgs.builder()
+ *             .customerManagedKeyArn(exampleAwmsKmsKey.arn())
+ *             .tags(Map.of("Environment", "test"))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import AppFabric AppBundle using the `arn`. For example: + * + * ```sh + * $ pulumi import aws:appfabric/appBundle:AppBundle example arn:aws:appfabric:[region]:[account]:appbundle/ee5587b4-5765-4288-a202-xxxxxxxxxx + * ``` + * + */ +@ResourceType(type="aws:appfabric/appBundle:AppBundle") +public class AppBundle extends com.pulumi.resources.CustomResource { + /** + * ARN of the AppBundle. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the AppBundle. + * + */ + public Output arn() { + return this.arn; + } + /** + * The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + */ + @Export(name="customerManagedKeyArn", refs={String.class}, tree="[0]") + private Output customerManagedKeyArn; + + /** + * @return The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + */ + public Output> customerManagedKeyArn() { + return Codegen.optional(this.customerManagedKeyArn); + } + /** + * 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. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return 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. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * 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 Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AppBundle(String name) { + this(name, AppBundleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AppBundle(String name, @Nullable AppBundleArgs 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 AppBundle(String name, @Nullable AppBundleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:appfabric/appBundle:AppBundle", name, args == null ? AppBundleArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private AppBundle(String name, Output id, @Nullable AppBundleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:appfabric/appBundle:AppBundle", name, state, makeResourceOptions(options, id)); + } + + 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 AppBundle get(String name, Output id, @Nullable AppBundleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AppBundle(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppBundleArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppBundleArgs.java new file mode 100644 index 00000000000..5ca40cb8d78 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/AppBundleArgs.java @@ -0,0 +1,121 @@ +// *** 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.appfabric; + +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 AppBundleArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppBundleArgs Empty = new AppBundleArgs(); + + /** + * The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + */ + @Import(name="customerManagedKeyArn") + private @Nullable Output customerManagedKeyArn; + + /** + * @return The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + */ + public Optional> customerManagedKeyArn() { + return Optional.ofNullable(this.customerManagedKeyArn); + } + + /** + * 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return 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. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private AppBundleArgs() {} + + private AppBundleArgs(AppBundleArgs $) { + this.customerManagedKeyArn = $.customerManagedKeyArn; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppBundleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppBundleArgs $; + + public Builder() { + $ = new AppBundleArgs(); + } + + public Builder(AppBundleArgs defaults) { + $ = new AppBundleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param customerManagedKeyArn The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + * @return builder + * + */ + public Builder customerManagedKeyArn(@Nullable Output customerManagedKeyArn) { + $.customerManagedKeyArn = customerManagedKeyArn; + return this; + } + + /** + * @param customerManagedKeyArn The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + * @return builder + * + */ + public Builder customerManagedKeyArn(String customerManagedKeyArn) { + return customerManagedKeyArn(Output.of(customerManagedKeyArn)); + } + + /** + * @param tags 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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags 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. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public AppBundleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialApiKeyCredentialArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialApiKeyCredentialArgs.java new file mode 100644 index 00000000000..ffa0b4bf735 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialApiKeyCredentialArgs.java @@ -0,0 +1,85 @@ +// *** 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.appfabric.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class AppAuthorizationCredentialApiKeyCredentialArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppAuthorizationCredentialApiKeyCredentialArgs Empty = new AppAuthorizationCredentialApiKeyCredentialArgs(); + + /** + * Contains API key credential information. + * + */ + @Import(name="apiKey", required=true) + private Output apiKey; + + /** + * @return Contains API key credential information. + * + */ + public Output apiKey() { + return this.apiKey; + } + + private AppAuthorizationCredentialApiKeyCredentialArgs() {} + + private AppAuthorizationCredentialApiKeyCredentialArgs(AppAuthorizationCredentialApiKeyCredentialArgs $) { + this.apiKey = $.apiKey; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppAuthorizationCredentialApiKeyCredentialArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppAuthorizationCredentialApiKeyCredentialArgs $; + + public Builder() { + $ = new AppAuthorizationCredentialApiKeyCredentialArgs(); + } + + public Builder(AppAuthorizationCredentialApiKeyCredentialArgs defaults) { + $ = new AppAuthorizationCredentialApiKeyCredentialArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param apiKey Contains API key credential information. + * + * @return builder + * + */ + public Builder apiKey(Output apiKey) { + $.apiKey = apiKey; + return this; + } + + /** + * @param apiKey Contains API key credential information. + * + * @return builder + * + */ + public Builder apiKey(String apiKey) { + return apiKey(Output.of(apiKey)); + } + + public AppAuthorizationCredentialApiKeyCredentialArgs build() { + if ($.apiKey == null) { + throw new MissingRequiredPropertyException("AppAuthorizationCredentialApiKeyCredentialArgs", "apiKey"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialArgs.java new file mode 100644 index 00000000000..6af9998dbae --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialArgs.java @@ -0,0 +1,132 @@ +// *** 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.appfabric.inputs; + +import com.pulumi.aws.appfabric.inputs.AppAuthorizationCredentialApiKeyCredentialArgs; +import com.pulumi.aws.appfabric.inputs.AppAuthorizationCredentialOauth2CredentialArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AppAuthorizationCredentialArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppAuthorizationCredentialArgs Empty = new AppAuthorizationCredentialArgs(); + + /** + * Contains API key credential information. + * + */ + @Import(name="apiKeyCredentials") + private @Nullable Output> apiKeyCredentials; + + /** + * @return Contains API key credential information. + * + */ + public Optional>> apiKeyCredentials() { + return Optional.ofNullable(this.apiKeyCredentials); + } + + /** + * Contains OAuth2 client credential information. + * + */ + @Import(name="oauth2Credential") + private @Nullable Output oauth2Credential; + + /** + * @return Contains OAuth2 client credential information. + * + */ + public Optional> oauth2Credential() { + return Optional.ofNullable(this.oauth2Credential); + } + + private AppAuthorizationCredentialArgs() {} + + private AppAuthorizationCredentialArgs(AppAuthorizationCredentialArgs $) { + this.apiKeyCredentials = $.apiKeyCredentials; + this.oauth2Credential = $.oauth2Credential; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppAuthorizationCredentialArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppAuthorizationCredentialArgs $; + + public Builder() { + $ = new AppAuthorizationCredentialArgs(); + } + + public Builder(AppAuthorizationCredentialArgs defaults) { + $ = new AppAuthorizationCredentialArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param apiKeyCredentials Contains API key credential information. + * + * @return builder + * + */ + public Builder apiKeyCredentials(@Nullable Output> apiKeyCredentials) { + $.apiKeyCredentials = apiKeyCredentials; + return this; + } + + /** + * @param apiKeyCredentials Contains API key credential information. + * + * @return builder + * + */ + public Builder apiKeyCredentials(List apiKeyCredentials) { + return apiKeyCredentials(Output.of(apiKeyCredentials)); + } + + /** + * @param apiKeyCredentials Contains API key credential information. + * + * @return builder + * + */ + public Builder apiKeyCredentials(AppAuthorizationCredentialApiKeyCredentialArgs... apiKeyCredentials) { + return apiKeyCredentials(List.of(apiKeyCredentials)); + } + + /** + * @param oauth2Credential Contains OAuth2 client credential information. + * + * @return builder + * + */ + public Builder oauth2Credential(@Nullable Output oauth2Credential) { + $.oauth2Credential = oauth2Credential; + return this; + } + + /** + * @param oauth2Credential Contains OAuth2 client credential information. + * + * @return builder + * + */ + public Builder oauth2Credential(AppAuthorizationCredentialOauth2CredentialArgs oauth2Credential) { + return oauth2Credential(Output.of(oauth2Credential)); + } + + public AppAuthorizationCredentialArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialOauth2CredentialArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialOauth2CredentialArgs.java new file mode 100644 index 00000000000..5a584f6652a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationCredentialOauth2CredentialArgs.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.appfabric.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class AppAuthorizationCredentialOauth2CredentialArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppAuthorizationCredentialOauth2CredentialArgs Empty = new AppAuthorizationCredentialOauth2CredentialArgs(); + + /** + * The client ID of the client application. + * + */ + @Import(name="clientId", required=true) + private Output clientId; + + /** + * @return The client ID of the client application. + * + */ + public Output clientId() { + return this.clientId; + } + + /** + * The client secret of the client application. + * + */ + @Import(name="clientSecret", required=true) + private Output clientSecret; + + /** + * @return The client secret of the client application. + * + */ + public Output clientSecret() { + return this.clientSecret; + } + + private AppAuthorizationCredentialOauth2CredentialArgs() {} + + private AppAuthorizationCredentialOauth2CredentialArgs(AppAuthorizationCredentialOauth2CredentialArgs $) { + this.clientId = $.clientId; + this.clientSecret = $.clientSecret; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppAuthorizationCredentialOauth2CredentialArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppAuthorizationCredentialOauth2CredentialArgs $; + + public Builder() { + $ = new AppAuthorizationCredentialOauth2CredentialArgs(); + } + + public Builder(AppAuthorizationCredentialOauth2CredentialArgs defaults) { + $ = new AppAuthorizationCredentialOauth2CredentialArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param clientId The client ID of the client application. + * + * @return builder + * + */ + public Builder clientId(Output clientId) { + $.clientId = clientId; + return this; + } + + /** + * @param clientId The client ID of the client application. + * + * @return builder + * + */ + public Builder clientId(String clientId) { + return clientId(Output.of(clientId)); + } + + /** + * @param clientSecret The client secret of the client application. + * + * @return builder + * + */ + public Builder clientSecret(Output clientSecret) { + $.clientSecret = clientSecret; + return this; + } + + /** + * @param clientSecret The client secret of the client application. + * + * @return builder + * + */ + public Builder clientSecret(String clientSecret) { + return clientSecret(Output.of(clientSecret)); + } + + public AppAuthorizationCredentialOauth2CredentialArgs build() { + if ($.clientId == null) { + throw new MissingRequiredPropertyException("AppAuthorizationCredentialOauth2CredentialArgs", "clientId"); + } + if ($.clientSecret == null) { + throw new MissingRequiredPropertyException("AppAuthorizationCredentialOauth2CredentialArgs", "clientSecret"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationState.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationState.java new file mode 100644 index 00000000000..f9d84e6634d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationState.java @@ -0,0 +1,474 @@ +// *** 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.appfabric.inputs; + +import com.pulumi.aws.appfabric.inputs.AppAuthorizationCredentialArgs; +import com.pulumi.aws.appfabric.inputs.AppAuthorizationTenantArgs; +import com.pulumi.aws.appfabric.inputs.AppAuthorizationTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AppAuthorizationState extends com.pulumi.resources.ResourceArgs { + + public static final AppAuthorizationState Empty = new AppAuthorizationState(); + + /** + * The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + */ + @Import(name="app") + private @Nullable Output app; + + /** + * @return The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + */ + public Optional> app() { + return Optional.ofNullable(this.app); + } + + /** + * The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + */ + @Import(name="appBundleArn") + private @Nullable Output appBundleArn; + + /** + * @return The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + */ + public Optional> appBundleArn() { + return Optional.ofNullable(this.appBundleArn); + } + + /** + * ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The authorization type for the app authorization valid values are oauth2 and apiKey. + * + */ + @Import(name="authType") + private @Nullable Output authType; + + /** + * @return The authorization type for the app authorization valid values are oauth2 and apiKey. + * + */ + public Optional> authType() { + return Optional.ofNullable(this.authType); + } + + /** + * The application URL for the OAuth flow. + * + */ + @Import(name="authUrl") + private @Nullable Output authUrl; + + /** + * @return The application URL for the OAuth flow. + * + */ + public Optional> authUrl() { + return Optional.ofNullable(this.authUrl); + } + + @Import(name="createdAt") + private @Nullable Output createdAt; + + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + */ + @Import(name="credential") + private @Nullable Output credential; + + /** + * @return Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + */ + public Optional> credential() { + return Optional.ofNullable(this.credential); + } + + /** + * The user persona of the app authorization. + * + */ + @Import(name="persona") + private @Nullable Output persona; + + /** + * @return The user persona of the app authorization. + * + */ + public Optional> persona() { + return Optional.ofNullable(this.persona); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + /** + * Contains information about an application tenant, such as the application display name and identifier. + * + */ + @Import(name="tenants") + private @Nullable Output> tenants; + + /** + * @return Contains information about an application tenant, such as the application display name and identifier. + * + */ + public Optional>> tenants() { + return Optional.ofNullable(this.tenants); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + @Import(name="updatedAt") + private @Nullable Output updatedAt; + + public Optional> updatedAt() { + return Optional.ofNullable(this.updatedAt); + } + + private AppAuthorizationState() {} + + private AppAuthorizationState(AppAuthorizationState $) { + this.app = $.app; + this.appBundleArn = $.appBundleArn; + this.arn = $.arn; + this.authType = $.authType; + this.authUrl = $.authUrl; + this.createdAt = $.createdAt; + this.credential = $.credential; + this.persona = $.persona; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.tenants = $.tenants; + this.timeouts = $.timeouts; + this.updatedAt = $.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppAuthorizationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppAuthorizationState $; + + public Builder() { + $ = new AppAuthorizationState(); + } + + public Builder(AppAuthorizationState defaults) { + $ = new AppAuthorizationState(Objects.requireNonNull(defaults)); + } + + /** + * @param app The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + * @return builder + * + */ + public Builder app(@Nullable Output app) { + $.app = app; + return this; + } + + /** + * @param app The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + * + * @return builder + * + */ + public Builder app(String app) { + return app(Output.of(app)); + } + + /** + * @param appBundleArn The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + * @return builder + * + */ + public Builder appBundleArn(@Nullable Output appBundleArn) { + $.appBundleArn = appBundleArn; + return this; + } + + /** + * @param appBundleArn The Amazon Resource Name (ARN) of the app bundle to use for the request. + * + * @return builder + * + */ + public Builder appBundleArn(String appBundleArn) { + return appBundleArn(Output.of(appBundleArn)); + } + + /** + * @param arn ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param authType The authorization type for the app authorization valid values are oauth2 and apiKey. + * + * @return builder + * + */ + public Builder authType(@Nullable Output authType) { + $.authType = authType; + return this; + } + + /** + * @param authType The authorization type for the app authorization valid values are oauth2 and apiKey. + * + * @return builder + * + */ + public Builder authType(String authType) { + return authType(Output.of(authType)); + } + + /** + * @param authUrl The application URL for the OAuth flow. + * + * @return builder + * + */ + public Builder authUrl(@Nullable Output authUrl) { + $.authUrl = authUrl; + return this; + } + + /** + * @param authUrl The application URL for the OAuth flow. + * + * @return builder + * + */ + public Builder authUrl(String authUrl) { + return authUrl(Output.of(authUrl)); + } + + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param credential Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + * @return builder + * + */ + public Builder credential(@Nullable Output credential) { + $.credential = credential; + return this; + } + + /** + * @param credential Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + * + * @return builder + * + */ + public Builder credential(AppAuthorizationCredentialArgs credential) { + return credential(Output.of(credential)); + } + + /** + * @param persona The user persona of the app authorization. + * + * @return builder + * + */ + public Builder persona(@Nullable Output persona) { + $.persona = persona; + return this; + } + + /** + * @param persona The user persona of the app authorization. + * + * @return builder + * + */ + public Builder persona(String persona) { + return persona(Output.of(persona)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + /** + * @param tenants Contains information about an application tenant, such as the application display name and identifier. + * + * @return builder + * + */ + public Builder tenants(@Nullable Output> tenants) { + $.tenants = tenants; + return this; + } + + /** + * @param tenants Contains information about an application tenant, such as the application display name and identifier. + * + * @return builder + * + */ + public Builder tenants(List tenants) { + return tenants(Output.of(tenants)); + } + + /** + * @param tenants Contains information about an application tenant, such as the application display name and identifier. + * + * @return builder + * + */ + public Builder tenants(AppAuthorizationTenantArgs... tenants) { + return tenants(List.of(tenants)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(AppAuthorizationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public Builder updatedAt(@Nullable Output updatedAt) { + $.updatedAt = updatedAt; + return this; + } + + public Builder updatedAt(String updatedAt) { + return updatedAt(Output.of(updatedAt)); + } + + public AppAuthorizationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationTenantArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationTenantArgs.java new file mode 100644 index 00000000000..180ca729859 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationTenantArgs.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.appfabric.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class AppAuthorizationTenantArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppAuthorizationTenantArgs Empty = new AppAuthorizationTenantArgs(); + + /** + * The display name of the tenant. + * + */ + @Import(name="tenantDisplayName", required=true) + private Output tenantDisplayName; + + /** + * @return The display name of the tenant. + * + */ + public Output tenantDisplayName() { + return this.tenantDisplayName; + } + + /** + * The ID of the application tenant. + * + */ + @Import(name="tenantIdentifier", required=true) + private Output tenantIdentifier; + + /** + * @return The ID of the application tenant. + * + */ + public Output tenantIdentifier() { + return this.tenantIdentifier; + } + + private AppAuthorizationTenantArgs() {} + + private AppAuthorizationTenantArgs(AppAuthorizationTenantArgs $) { + this.tenantDisplayName = $.tenantDisplayName; + this.tenantIdentifier = $.tenantIdentifier; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppAuthorizationTenantArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppAuthorizationTenantArgs $; + + public Builder() { + $ = new AppAuthorizationTenantArgs(); + } + + public Builder(AppAuthorizationTenantArgs defaults) { + $ = new AppAuthorizationTenantArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param tenantDisplayName The display name of the tenant. + * + * @return builder + * + */ + public Builder tenantDisplayName(Output tenantDisplayName) { + $.tenantDisplayName = tenantDisplayName; + return this; + } + + /** + * @param tenantDisplayName The display name of the tenant. + * + * @return builder + * + */ + public Builder tenantDisplayName(String tenantDisplayName) { + return tenantDisplayName(Output.of(tenantDisplayName)); + } + + /** + * @param tenantIdentifier The ID of the application tenant. + * + * @return builder + * + */ + public Builder tenantIdentifier(Output tenantIdentifier) { + $.tenantIdentifier = tenantIdentifier; + return this; + } + + /** + * @param tenantIdentifier The ID of the application tenant. + * + * @return builder + * + */ + public Builder tenantIdentifier(String tenantIdentifier) { + return tenantIdentifier(Output.of(tenantIdentifier)); + } + + public AppAuthorizationTenantArgs build() { + if ($.tenantDisplayName == null) { + throw new MissingRequiredPropertyException("AppAuthorizationTenantArgs", "tenantDisplayName"); + } + if ($.tenantIdentifier == null) { + throw new MissingRequiredPropertyException("AppAuthorizationTenantArgs", "tenantIdentifier"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationTimeoutsArgs.java new file mode 100644 index 00000000000..71518638690 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppAuthorizationTimeoutsArgs.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.appfabric.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 AppAuthorizationTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppAuthorizationTimeoutsArgs Empty = new AppAuthorizationTimeoutsArgs(); + + /** + * 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 AppAuthorizationTimeoutsArgs() {} + + private AppAuthorizationTimeoutsArgs(AppAuthorizationTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppAuthorizationTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppAuthorizationTimeoutsArgs $; + + public Builder() { + $ = new AppAuthorizationTimeoutsArgs(); + } + + public Builder(AppAuthorizationTimeoutsArgs defaults) { + $ = new AppAuthorizationTimeoutsArgs(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 AppAuthorizationTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppBundleState.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppBundleState.java new file mode 100644 index 00000000000..f4f6b79317c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/inputs/AppBundleState.java @@ -0,0 +1,211 @@ +// *** 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.appfabric.inputs; + +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 AppBundleState extends com.pulumi.resources.ResourceArgs { + + public static final AppBundleState Empty = new AppBundleState(); + + /** + * ARN of the AppBundle. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the AppBundle. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + */ + @Import(name="customerManagedKeyArn") + private @Nullable Output customerManagedKeyArn; + + /** + * @return The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + */ + public Optional> customerManagedKeyArn() { + return Optional.ofNullable(this.customerManagedKeyArn); + } + + /** + * 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return 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. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * 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 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); + } + + private AppBundleState() {} + + private AppBundleState(AppBundleState $) { + this.arn = $.arn; + this.customerManagedKeyArn = $.customerManagedKeyArn; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppBundleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppBundleState $; + + public Builder() { + $ = new AppBundleState(); + } + + public Builder(AppBundleState defaults) { + $ = new AppBundleState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the AppBundle. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the AppBundle. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param customerManagedKeyArn The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + * @return builder + * + */ + public Builder customerManagedKeyArn(@Nullable Output customerManagedKeyArn) { + $.customerManagedKeyArn = customerManagedKeyArn; + return this; + } + + /** + * @param customerManagedKeyArn The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + * + * @return builder + * + */ + public Builder customerManagedKeyArn(String customerManagedKeyArn) { + return customerManagedKeyArn(Output.of(customerManagedKeyArn)); + } + + /** + * @param tags 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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags 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. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll 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 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 AppBundleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredential.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredential.java new file mode 100644 index 00000000000..7c2508a0f37 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredential.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.appfabric.outputs; + +import com.pulumi.aws.appfabric.outputs.AppAuthorizationCredentialApiKeyCredential; +import com.pulumi.aws.appfabric.outputs.AppAuthorizationCredentialOauth2Credential; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AppAuthorizationCredential { + /** + * @return Contains API key credential information. + * + */ + private @Nullable List apiKeyCredentials; + /** + * @return Contains OAuth2 client credential information. + * + */ + private @Nullable AppAuthorizationCredentialOauth2Credential oauth2Credential; + + private AppAuthorizationCredential() {} + /** + * @return Contains API key credential information. + * + */ + public List apiKeyCredentials() { + return this.apiKeyCredentials == null ? List.of() : this.apiKeyCredentials; + } + /** + * @return Contains OAuth2 client credential information. + * + */ + public Optional oauth2Credential() { + return Optional.ofNullable(this.oauth2Credential); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AppAuthorizationCredential defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List apiKeyCredentials; + private @Nullable AppAuthorizationCredentialOauth2Credential oauth2Credential; + public Builder() {} + public Builder(AppAuthorizationCredential defaults) { + Objects.requireNonNull(defaults); + this.apiKeyCredentials = defaults.apiKeyCredentials; + this.oauth2Credential = defaults.oauth2Credential; + } + + @CustomType.Setter + public Builder apiKeyCredentials(@Nullable List apiKeyCredentials) { + + this.apiKeyCredentials = apiKeyCredentials; + return this; + } + public Builder apiKeyCredentials(AppAuthorizationCredentialApiKeyCredential... apiKeyCredentials) { + return apiKeyCredentials(List.of(apiKeyCredentials)); + } + @CustomType.Setter + public Builder oauth2Credential(@Nullable AppAuthorizationCredentialOauth2Credential oauth2Credential) { + + this.oauth2Credential = oauth2Credential; + return this; + } + public AppAuthorizationCredential build() { + final var _resultValue = new AppAuthorizationCredential(); + _resultValue.apiKeyCredentials = apiKeyCredentials; + _resultValue.oauth2Credential = oauth2Credential; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredentialApiKeyCredential.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredentialApiKeyCredential.java new file mode 100644 index 00000000000..1c069853c79 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredentialApiKeyCredential.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.appfabric.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class AppAuthorizationCredentialApiKeyCredential { + /** + * @return Contains API key credential information. + * + */ + private String apiKey; + + private AppAuthorizationCredentialApiKeyCredential() {} + /** + * @return Contains API key credential information. + * + */ + public String apiKey() { + return this.apiKey; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AppAuthorizationCredentialApiKeyCredential defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String apiKey; + public Builder() {} + public Builder(AppAuthorizationCredentialApiKeyCredential defaults) { + Objects.requireNonNull(defaults); + this.apiKey = defaults.apiKey; + } + + @CustomType.Setter + public Builder apiKey(String apiKey) { + if (apiKey == null) { + throw new MissingRequiredPropertyException("AppAuthorizationCredentialApiKeyCredential", "apiKey"); + } + this.apiKey = apiKey; + return this; + } + public AppAuthorizationCredentialApiKeyCredential build() { + final var _resultValue = new AppAuthorizationCredentialApiKeyCredential(); + _resultValue.apiKey = apiKey; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredentialOauth2Credential.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredentialOauth2Credential.java new file mode 100644 index 00000000000..9e5580b7146 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationCredentialOauth2Credential.java @@ -0,0 +1,81 @@ +// *** 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.appfabric.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class AppAuthorizationCredentialOauth2Credential { + /** + * @return The client ID of the client application. + * + */ + private String clientId; + /** + * @return The client secret of the client application. + * + */ + private String clientSecret; + + private AppAuthorizationCredentialOauth2Credential() {} + /** + * @return The client ID of the client application. + * + */ + public String clientId() { + return this.clientId; + } + /** + * @return The client secret of the client application. + * + */ + public String clientSecret() { + return this.clientSecret; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AppAuthorizationCredentialOauth2Credential defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String clientId; + private String clientSecret; + public Builder() {} + public Builder(AppAuthorizationCredentialOauth2Credential defaults) { + Objects.requireNonNull(defaults); + this.clientId = defaults.clientId; + this.clientSecret = defaults.clientSecret; + } + + @CustomType.Setter + public Builder clientId(String clientId) { + if (clientId == null) { + throw new MissingRequiredPropertyException("AppAuthorizationCredentialOauth2Credential", "clientId"); + } + this.clientId = clientId; + return this; + } + @CustomType.Setter + public Builder clientSecret(String clientSecret) { + if (clientSecret == null) { + throw new MissingRequiredPropertyException("AppAuthorizationCredentialOauth2Credential", "clientSecret"); + } + this.clientSecret = clientSecret; + return this; + } + public AppAuthorizationCredentialOauth2Credential build() { + final var _resultValue = new AppAuthorizationCredentialOauth2Credential(); + _resultValue.clientId = clientId; + _resultValue.clientSecret = clientSecret; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationTenant.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationTenant.java new file mode 100644 index 00000000000..fd7fd794517 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationTenant.java @@ -0,0 +1,81 @@ +// *** 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.appfabric.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class AppAuthorizationTenant { + /** + * @return The display name of the tenant. + * + */ + private String tenantDisplayName; + /** + * @return The ID of the application tenant. + * + */ + private String tenantIdentifier; + + private AppAuthorizationTenant() {} + /** + * @return The display name of the tenant. + * + */ + public String tenantDisplayName() { + return this.tenantDisplayName; + } + /** + * @return The ID of the application tenant. + * + */ + public String tenantIdentifier() { + return this.tenantIdentifier; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AppAuthorizationTenant defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String tenantDisplayName; + private String tenantIdentifier; + public Builder() {} + public Builder(AppAuthorizationTenant defaults) { + Objects.requireNonNull(defaults); + this.tenantDisplayName = defaults.tenantDisplayName; + this.tenantIdentifier = defaults.tenantIdentifier; + } + + @CustomType.Setter + public Builder tenantDisplayName(String tenantDisplayName) { + if (tenantDisplayName == null) { + throw new MissingRequiredPropertyException("AppAuthorizationTenant", "tenantDisplayName"); + } + this.tenantDisplayName = tenantDisplayName; + return this; + } + @CustomType.Setter + public Builder tenantIdentifier(String tenantIdentifier) { + if (tenantIdentifier == null) { + throw new MissingRequiredPropertyException("AppAuthorizationTenant", "tenantIdentifier"); + } + this.tenantIdentifier = tenantIdentifier; + return this; + } + public AppAuthorizationTenant build() { + final var _resultValue = new AppAuthorizationTenant(); + _resultValue.tenantDisplayName = tenantDisplayName; + _resultValue.tenantIdentifier = tenantIdentifier; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationTimeouts.java new file mode 100644 index 00000000000..228cf0c04bb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appfabric/outputs/AppAuthorizationTimeouts.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.appfabric.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 AppAuthorizationTimeouts { + /** + * @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 AppAuthorizationTimeouts() {} + /** + * @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(AppAuthorizationTimeouts 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(AppAuthorizationTimeouts 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 AppAuthorizationTimeouts build() { + final var _resultValue = new AppAuthorizationTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java index 6b4e661d825..27786051368 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java @@ -335,14 +335,14 @@ public Output> buildBatchConfig() { return Codegen.optional(this.buildBatchConfig); } /** - * Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * */ @Export(name="buildTimeout", refs={Integer.class}, tree="[0]") private Output buildTimeout; /** - * @return Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * @return Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * */ public Output> buildTimeout() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/ProjectArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/ProjectArgs.java index bcb41b8d829..614de6c5e71 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/ProjectArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/ProjectArgs.java @@ -77,14 +77,14 @@ public Optional> buildBatchConfig() { } /** - * Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * */ @Import(name="buildTimeout") private @Nullable Output buildTimeout; /** - * @return Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * @return Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * */ public Optional> buildTimeout() { @@ -490,7 +490,7 @@ public Builder buildBatchConfig(ProjectBuildBatchConfigArgs buildBatchConfig) { } /** - * @param buildTimeout Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * @param buildTimeout Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * * @return builder * @@ -501,7 +501,7 @@ public Builder buildTimeout(@Nullable Output buildTimeout) { } /** - * @param buildTimeout Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * @param buildTimeout Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/inputs/ProjectState.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/inputs/ProjectState.java index 5f795f411a9..2e3f0098b54 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/inputs/ProjectState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/inputs/ProjectState.java @@ -106,14 +106,14 @@ public Optional> buildBatchConfig() { } /** - * Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * */ @Import(name="buildTimeout") private @Nullable Output buildTimeout; /** - * @return Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * @return Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * */ public Optional> buildTimeout() { @@ -603,7 +603,7 @@ public Builder buildBatchConfig(ProjectBuildBatchConfigArgs buildBatchConfig) { } /** - * @param buildTimeout Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * @param buildTimeout Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * * @return builder * @@ -614,7 +614,7 @@ public Builder buildTimeout(@Nullable Output buildTimeout) { } /** - * @param buildTimeout Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + * @param buildTimeout Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/PipelineTriggerGitConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/PipelineTriggerGitConfigurationArgs.java index bb5f7693c4a..5cb7d0b88b3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/PipelineTriggerGitConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/PipelineTriggerGitConfigurationArgs.java @@ -50,14 +50,14 @@ public Optional>> pushes() } /** - * The name of the pipeline source action where the trigger configuration. + * The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. * */ @Import(name="sourceActionName", required=true) private Output sourceActionName; /** - * @return The name of the pipeline source action where the trigger configuration. + * @return The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. * */ public Output sourceActionName() { @@ -153,7 +153,7 @@ public Builder pushes(PipelineTriggerGitConfigurationPushArgs... pushes) { } /** - * @param sourceActionName The name of the pipeline source action where the trigger configuration. + * @param sourceActionName The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. * * @return builder * @@ -164,7 +164,7 @@ public Builder sourceActionName(Output sourceActionName) { } /** - * @param sourceActionName The name of the pipeline source action where the trigger configuration. + * @param sourceActionName The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/PipelineTriggerGitConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/PipelineTriggerGitConfiguration.java index 54eb1338f45..73f1537d727 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/PipelineTriggerGitConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/PipelineTriggerGitConfiguration.java @@ -25,7 +25,7 @@ public final class PipelineTriggerGitConfiguration { */ private @Nullable List pushes; /** - * @return The name of the pipeline source action where the trigger configuration. + * @return The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. * */ private String sourceActionName; @@ -46,7 +46,7 @@ public List pushes() { return this.pushes == null ? List.of() : this.pushes; } /** - * @return The name of the pipeline source action where the trigger configuration. + * @return The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. * */ public String sourceActionName() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationConfiguration.java index 5d00a54ac36..7e821fa732c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/detective/OrganizationConfiguration.java @@ -22,10 +22,10 @@ * * ## Import * - * Using `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example: + * Using `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example: * * ```sh - * $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617 + * $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example arn:aws:detective:us-east-1:123456789012:graph:00b00fd5aecc0ab60a708659477e9617 * ``` * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityBlockReservation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityBlockReservation.java new file mode 100644 index 00000000000..c664b198ddd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityBlockReservation.java @@ -0,0 +1,376 @@ +// *** 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.CapacityBlockReservationArgs; +import com.pulumi.aws.ec2.inputs.CapacityBlockReservationState; +import com.pulumi.aws.ec2.outputs.CapacityBlockReservationTimeouts; +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.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads. + * + * > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacity_block_offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html). + * + * > **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub. + * + * ## Example 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.Ec2Functions;
+ * import com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;
+ * import com.pulumi.aws.ec2.CapacityBlockReservation;
+ * import com.pulumi.aws.ec2.CapacityBlockReservationArgs;
+ * 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 example = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()
+ *             .capacityDuration(24)
+ *             .endDate("2024-05-30T15:04:05Z")
+ *             .instanceCount(1)
+ *             .instancePlatform("Linux/UNIX")
+ *             .instanceType("p4d.24xlarge")
+ *             .startDate("2024-04-28T15:04:05Z")
+ *             .build());
+ * 
+ *         var exampleCapacityBlockReservation = new CapacityBlockReservation("exampleCapacityBlockReservation", CapacityBlockReservationArgs.builder()
+ *             .capacityBlockOfferingId(test.id())
+ *             .instancePlatform("Linux/UNIX")
+ *             .tags(Map.of("Environment", "dev"))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + */ +@ResourceType(type="aws:ec2/capacityBlockReservation:CapacityBlockReservation") +public class CapacityBlockReservation extends com.pulumi.resources.CustomResource { + /** + * The ARN of the reservation. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The ARN of the reservation. + * + */ + public Output arn() { + return this.arn; + } + /** + * The Availability Zone in which to create the Capacity Block Reservation. + * + */ + @Export(name="availabilityZone", refs={String.class}, tree="[0]") + private Output availabilityZone; + + /** + * @return The Availability Zone in which to create the Capacity Block Reservation. + * + */ + public Output availabilityZone() { + return this.availabilityZone; + } + /** + * The Capacity Block Reservation ID. + * + */ + @Export(name="capacityBlockOfferingId", refs={String.class}, tree="[0]") + private Output capacityBlockOfferingId; + + /** + * @return The Capacity Block Reservation ID. + * + */ + public Output capacityBlockOfferingId() { + return this.capacityBlockOfferingId; + } + /** + * The date and time at which the Capacity Block Reservation was created. + * + */ + @Export(name="createdDate", refs={String.class}, tree="[0]") + private Output createdDate; + + /** + * @return The date and time at which the Capacity Block Reservation was created. + * + */ + public Output createdDate() { + return this.createdDate; + } + /** + * Indicates whether the Capacity Reservation supports EBS-optimized instances. + * + */ + @Export(name="ebsOptimized", refs={Boolean.class}, tree="[0]") + private Output ebsOptimized; + + /** + * @return Indicates whether the Capacity Reservation supports EBS-optimized instances. + * + */ + public Output ebsOptimized() { + return this.ebsOptimized; + } + /** + * The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + @Export(name="endDate", refs={String.class}, tree="[0]") + private Output endDate; + + /** + * @return The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + public Output endDate() { + return this.endDate; + } + /** + * Indicates the way in which the Capacity Reservation ends. + * + */ + @Export(name="endDateType", refs={String.class}, tree="[0]") + private Output endDateType; + + /** + * @return Indicates the way in which the Capacity Reservation ends. + * + */ + public Output endDateType() { + return this.endDateType; + } + /** + * The number of instances for which to reserve capacity. + * + */ + @Export(name="instanceCount", refs={Integer.class}, tree="[0]") + private Output instanceCount; + + /** + * @return The number of instances for which to reserve capacity. + * + */ + public Output instanceCount() { + return this.instanceCount; + } + /** + * The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + */ + @Export(name="instancePlatform", refs={String.class}, tree="[0]") + private Output instancePlatform; + + /** + * @return The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + */ + public Output instancePlatform() { + return this.instancePlatform; + } + /** + * The instance type for which to reserve capacity. + * + */ + @Export(name="instanceType", refs={String.class}, tree="[0]") + private Output instanceType; + + /** + * @return The instance type for which to reserve capacity. + * + */ + public Output instanceType() { + return this.instanceType; + } + /** + * The ARN of the Outpost on which to create the Capacity Block Reservation. + * + */ + @Export(name="outpostArn", refs={String.class}, tree="[0]") + private Output outpostArn; + + /** + * @return The ARN of the Outpost on which to create the Capacity Block Reservation. + * + */ + public Output outpostArn() { + return this.outpostArn; + } + /** + * The ARN of the placement group in which to create the Capacity Block Reservation. + * + */ + @Export(name="placementGroupArn", refs={String.class}, tree="[0]") + private Output placementGroupArn; + + /** + * @return The ARN of the placement group in which to create the Capacity Block Reservation. + * + */ + public Output placementGroupArn() { + return this.placementGroupArn; + } + /** + * The type of Capacity Reservation. + * + */ + @Export(name="reservationType", refs={String.class}, tree="[0]") + private Output reservationType; + + /** + * @return The type of Capacity Reservation. + * + */ + public Output reservationType() { + return this.reservationType; + } + /** + * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + @Export(name="startDate", refs={String.class}, tree="[0]") + private Output startDate; + + /** + * @return The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + public Output startDate() { + return this.startDate; + } + /** + * 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. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return 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. + * + */ + 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; + } + /** + * Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + * + */ + @Export(name="tenancy", refs={String.class}, tree="[0]") + private Output tenancy; + + /** + * @return Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + * + */ + public Output tenancy() { + return this.tenancy; + } + @Export(name="timeouts", refs={CapacityBlockReservationTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public CapacityBlockReservation(String name) { + this(name, CapacityBlockReservationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public CapacityBlockReservation(String name, CapacityBlockReservationArgs 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 CapacityBlockReservation(String name, CapacityBlockReservationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ec2/capacityBlockReservation:CapacityBlockReservation", name, args == null ? CapacityBlockReservationArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private CapacityBlockReservation(String name, Output id, @Nullable CapacityBlockReservationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ec2/capacityBlockReservation:CapacityBlockReservation", name, state, makeResourceOptions(options, id)); + } + + 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 CapacityBlockReservation get(String name, Output id, @Nullable CapacityBlockReservationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new CapacityBlockReservation(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityBlockReservationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityBlockReservationArgs.java new file mode 100644 index 00000000000..f339548e6db --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/CapacityBlockReservationArgs.java @@ -0,0 +1,183 @@ +// *** 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.CapacityBlockReservationTimeoutsArgs; +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 CapacityBlockReservationArgs extends com.pulumi.resources.ResourceArgs { + + public static final CapacityBlockReservationArgs Empty = new CapacityBlockReservationArgs(); + + /** + * The Capacity Block Reservation ID. + * + */ + @Import(name="capacityBlockOfferingId", required=true) + private Output capacityBlockOfferingId; + + /** + * @return The Capacity Block Reservation ID. + * + */ + public Output capacityBlockOfferingId() { + return this.capacityBlockOfferingId; + } + + /** + * The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + */ + @Import(name="instancePlatform", required=true) + private Output instancePlatform; + + /** + * @return The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + */ + public Output instancePlatform() { + return this.instancePlatform; + } + + /** + * 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return 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. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private CapacityBlockReservationArgs() {} + + private CapacityBlockReservationArgs(CapacityBlockReservationArgs $) { + this.capacityBlockOfferingId = $.capacityBlockOfferingId; + this.instancePlatform = $.instancePlatform; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CapacityBlockReservationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CapacityBlockReservationArgs $; + + public Builder() { + $ = new CapacityBlockReservationArgs(); + } + + public Builder(CapacityBlockReservationArgs defaults) { + $ = new CapacityBlockReservationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param capacityBlockOfferingId The Capacity Block Reservation ID. + * + * @return builder + * + */ + public Builder capacityBlockOfferingId(Output capacityBlockOfferingId) { + $.capacityBlockOfferingId = capacityBlockOfferingId; + return this; + } + + /** + * @param capacityBlockOfferingId The Capacity Block Reservation ID. + * + * @return builder + * + */ + public Builder capacityBlockOfferingId(String capacityBlockOfferingId) { + return capacityBlockOfferingId(Output.of(capacityBlockOfferingId)); + } + + /** + * @param instancePlatform The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + * @return builder + * + */ + public Builder instancePlatform(Output instancePlatform) { + $.instancePlatform = instancePlatform; + return this; + } + + /** + * @param instancePlatform The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + * @return builder + * + */ + public Builder instancePlatform(String instancePlatform) { + return instancePlatform(Output.of(instancePlatform)); + } + + /** + * @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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @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. + * + * @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(CapacityBlockReservationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public CapacityBlockReservationArgs build() { + if ($.capacityBlockOfferingId == null) { + throw new MissingRequiredPropertyException("CapacityBlockReservationArgs", "capacityBlockOfferingId"); + } + if ($.instancePlatform == null) { + throw new MissingRequiredPropertyException("CapacityBlockReservationArgs", "instancePlatform"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java index 8c1d9ec7147..1e935ae45c0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java @@ -8,6 +8,8 @@ import com.pulumi.aws.ec2.inputs.GetAmiIdsArgs; import com.pulumi.aws.ec2.inputs.GetAmiIdsPlainArgs; import com.pulumi.aws.ec2.inputs.GetAmiPlainArgs; +import com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs; +import com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingPlainArgs; import com.pulumi.aws.ec2.inputs.GetCoipPoolArgs; import com.pulumi.aws.ec2.inputs.GetCoipPoolPlainArgs; import com.pulumi.aws.ec2.inputs.GetCoipPoolsArgs; @@ -128,6 +130,7 @@ import com.pulumi.aws.ec2.inputs.GetVpnGatewayPlainArgs; import com.pulumi.aws.ec2.outputs.GetAmiIdsResult; import com.pulumi.aws.ec2.outputs.GetAmiResult; +import com.pulumi.aws.ec2.outputs.GetCapacityBlockOfferingResult; import com.pulumi.aws.ec2.outputs.GetCoipPoolResult; import com.pulumi.aws.ec2.outputs.GetCoipPoolsResult; import com.pulumi.aws.ec2.outputs.GetCustomerGatewayResult; @@ -734,6 +737,194 @@ public static Output getAmiIds(GetAmiIdsArgs args, InvokeOption public static CompletableFuture getAmiIdsPlain(GetAmiIdsPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:ec2/getAmiIds:getAmiIds", TypeShape.of(GetAmiIdsResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a single EC2 Capacity Block Offering. + * + * ## Example 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.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;
+     * 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 example = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()
+     *             .capacityDurationHours(24)
+     *             .endDateRange("2024-05-30T15:04:05Z")
+     *             .instanceCount(1)
+     *             .instancePlatform("Linux/UNIX")
+     *             .instanceType("p4d.24xlarge")
+     *             .startDateRange("2024-04-28T15:04:05Z")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCapacityBlockOffering(GetCapacityBlockOfferingArgs args) { + return getCapacityBlockOffering(args, InvokeOptions.Empty); + } + /** + * Information about a single EC2 Capacity Block Offering. + * + * ## Example 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.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;
+     * 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 example = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()
+     *             .capacityDurationHours(24)
+     *             .endDateRange("2024-05-30T15:04:05Z")
+     *             .instanceCount(1)
+     *             .instancePlatform("Linux/UNIX")
+     *             .instanceType("p4d.24xlarge")
+     *             .startDateRange("2024-04-28T15:04:05Z")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getCapacityBlockOfferingPlain(GetCapacityBlockOfferingPlainArgs args) { + return getCapacityBlockOfferingPlain(args, InvokeOptions.Empty); + } + /** + * Information about a single EC2 Capacity Block Offering. + * + * ## Example 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.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;
+     * 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 example = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()
+     *             .capacityDurationHours(24)
+     *             .endDateRange("2024-05-30T15:04:05Z")
+     *             .instanceCount(1)
+     *             .instancePlatform("Linux/UNIX")
+     *             .instanceType("p4d.24xlarge")
+     *             .startDateRange("2024-04-28T15:04:05Z")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCapacityBlockOffering(GetCapacityBlockOfferingArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", TypeShape.of(GetCapacityBlockOfferingResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about a single EC2 Capacity Block Offering. + * + * ## Example 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.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;
+     * 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 example = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()
+     *             .capacityDurationHours(24)
+     *             .endDateRange("2024-05-30T15:04:05Z")
+     *             .instanceCount(1)
+     *             .instancePlatform("Linux/UNIX")
+     *             .instanceType("p4d.24xlarge")
+     *             .startDateRange("2024-04-28T15:04:05Z")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getCapacityBlockOfferingPlain(GetCapacityBlockOfferingPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", TypeShape.of(GetCapacityBlockOfferingResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific EC2 Customer-Owned IP Pool. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplate.java index eeea65eea30..e381ef7b0c7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplate.java @@ -272,14 +272,14 @@ public Output> iamInstanceProfile() { return Codegen.optional(this.iamInstanceProfile); } /** - * The AMI from which to launch the instance. + * The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * */ @Export(name="imageId", refs={String.class}, tree="[0]") private Output imageId; /** - * @return The AMI from which to launch the instance. + * @return The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * */ public Output> imageId() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplateArgs.java index df1d88e6f80..f01c930cc12 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplateArgs.java @@ -259,14 +259,14 @@ public Optional> iamInstanceProfile } /** - * The AMI from which to launch the instance. + * The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * */ @Import(name="imageId") private @Nullable Output imageId; /** - * @return The AMI from which to launch the instance. + * @return The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * */ public Optional> imageId() { @@ -998,7 +998,7 @@ public Builder iamInstanceProfile(LaunchTemplateIamInstanceProfileArgs iamInstan } /** - * @param imageId The AMI from which to launch the instance. + * @param imageId The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * * @return builder * @@ -1009,7 +1009,7 @@ public Builder imageId(@Nullable Output imageId) { } /** - * @param imageId The AMI from which to launch the instance. + * @param imageId The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorSession.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorSession.java index 410ab2f781b..cb628685e57 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorSession.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/TrafficMirrorSession.java @@ -146,14 +146,14 @@ public Output ownerId() { * */ @Export(name="packetLength", refs={Integer.class}, tree="[0]") - private Output packetLength; + private Output packetLength; /** * @return The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. * */ - public Output> packetLength() { - return Codegen.optional(this.packetLength); + public Output packetLength() { + return this.packetLength; } /** * The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpoint.java index 3abf1648f9e..2a46523233c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpoint.java @@ -8,6 +8,7 @@ import com.pulumi.aws.ec2.inputs.VpcEndpointState; import com.pulumi.aws.ec2.outputs.VpcEndpointDnsEntry; import com.pulumi.aws.ec2.outputs.VpcEndpointDnsOptions; +import com.pulumi.aws.ec2.outputs.VpcEndpointSubnetConfiguration; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -144,6 +145,56 @@ * * <!--End PulumiCodeChooser --> * + * ### Interface Endpoint Type with User-Defined IP Address + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.ec2.VpcEndpoint;
+ * import com.pulumi.aws.ec2.VpcEndpointArgs;
+ * import com.pulumi.aws.ec2.inputs.VpcEndpointSubnetConfigurationArgs;
+ * 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 ec2 = new VpcEndpoint("ec2", VpcEndpointArgs.builder()
+ *             .vpcId(example.id())
+ *             .serviceName("com.amazonaws.us-west-2.ec2")
+ *             .vpcEndpointType("Interface")
+ *             .subnetConfigurations(            
+ *                 VpcEndpointSubnetConfigurationArgs.builder()
+ *                     .ipv4("10.0.1.10")
+ *                     .subnetId(example1.id())
+ *                     .build(),
+ *                 VpcEndpointSubnetConfigurationArgs.builder()
+ *                     .ipv4("10.0.2.10")
+ *                     .subnetId(example2.id())
+ *                     .build())
+ *             .subnetIds(            
+ *                 example1.id(),
+ *                 example2.id())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * * ### Gateway Load Balancer Endpoint Type * * <!--Start PulumiCodeChooser --> @@ -433,6 +484,20 @@ public Output serviceName() { public Output state() { return this.state; } + /** + * Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + */ + @Export(name="subnetConfigurations", refs={List.class,VpcEndpointSubnetConfiguration.class}, tree="[0,1]") + private Output> subnetConfigurations; + + /** + * @return Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + */ + public Output> subnetConfigurations() { + return this.subnetConfigurations; + } /** * The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointArgs.java index 686528a9fd6..01a10cd0283 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcEndpointArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.ec2; import com.pulumi.aws.ec2.inputs.VpcEndpointDnsOptionsArgs; +import com.pulumi.aws.ec2.inputs.VpcEndpointSubnetConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -144,6 +145,21 @@ public Output serviceName() { return this.serviceName; } + /** + * Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + */ + @Import(name="subnetConfigurations") + private @Nullable Output> subnetConfigurations; + + /** + * @return Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + */ + public Optional>> subnetConfigurations() { + return Optional.ofNullable(this.subnetConfigurations); + } + /** * The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. * @@ -215,6 +231,7 @@ private VpcEndpointArgs(VpcEndpointArgs $) { this.routeTableIds = $.routeTableIds; this.securityGroupIds = $.securityGroupIds; this.serviceName = $.serviceName; + this.subnetConfigurations = $.subnetConfigurations; this.subnetIds = $.subnetIds; this.tags = $.tags; this.vpcEndpointType = $.vpcEndpointType; @@ -432,6 +449,37 @@ public Builder serviceName(String serviceName) { return serviceName(Output.of(serviceName)); } + /** + * @param subnetConfigurations Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + * @return builder + * + */ + public Builder subnetConfigurations(@Nullable Output> subnetConfigurations) { + $.subnetConfigurations = subnetConfigurations; + return this; + } + + /** + * @param subnetConfigurations Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + * @return builder + * + */ + public Builder subnetConfigurations(List subnetConfigurations) { + return subnetConfigurations(Output.of(subnetConfigurations)); + } + + /** + * @param subnetConfigurations Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + * @return builder + * + */ + public Builder subnetConfigurations(VpcEndpointSubnetConfigurationArgs... subnetConfigurations) { + return subnetConfigurations(List.of(subnetConfigurations)); + } + /** * @param subnetIds The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/CapacityBlockReservationState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/CapacityBlockReservationState.java new file mode 100644 index 00000000000..fc7028d2398 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/CapacityBlockReservationState.java @@ -0,0 +1,712 @@ +// *** 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.CapacityBlockReservationTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CapacityBlockReservationState extends com.pulumi.resources.ResourceArgs { + + public static final CapacityBlockReservationState Empty = new CapacityBlockReservationState(); + + /** + * The ARN of the reservation. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The ARN of the reservation. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The Availability Zone in which to create the Capacity Block Reservation. + * + */ + @Import(name="availabilityZone") + private @Nullable Output availabilityZone; + + /** + * @return The Availability Zone in which to create the Capacity Block Reservation. + * + */ + public Optional> availabilityZone() { + return Optional.ofNullable(this.availabilityZone); + } + + /** + * The Capacity Block Reservation ID. + * + */ + @Import(name="capacityBlockOfferingId") + private @Nullable Output capacityBlockOfferingId; + + /** + * @return The Capacity Block Reservation ID. + * + */ + public Optional> capacityBlockOfferingId() { + return Optional.ofNullable(this.capacityBlockOfferingId); + } + + /** + * The date and time at which the Capacity Block Reservation was created. + * + */ + @Import(name="createdDate") + private @Nullable Output createdDate; + + /** + * @return The date and time at which the Capacity Block Reservation was created. + * + */ + public Optional> createdDate() { + return Optional.ofNullable(this.createdDate); + } + + /** + * Indicates whether the Capacity Reservation supports EBS-optimized instances. + * + */ + @Import(name="ebsOptimized") + private @Nullable Output ebsOptimized; + + /** + * @return Indicates whether the Capacity Reservation supports EBS-optimized instances. + * + */ + public Optional> ebsOptimized() { + return Optional.ofNullable(this.ebsOptimized); + } + + /** + * The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + @Import(name="endDate") + private @Nullable Output endDate; + + /** + * @return The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + public Optional> endDate() { + return Optional.ofNullable(this.endDate); + } + + /** + * Indicates the way in which the Capacity Reservation ends. + * + */ + @Import(name="endDateType") + private @Nullable Output endDateType; + + /** + * @return Indicates the way in which the Capacity Reservation ends. + * + */ + public Optional> endDateType() { + return Optional.ofNullable(this.endDateType); + } + + /** + * The number of instances for which to reserve capacity. + * + */ + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + /** + * @return The number of instances for which to reserve capacity. + * + */ + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + /** + * The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + */ + @Import(name="instancePlatform") + private @Nullable Output instancePlatform; + + /** + * @return The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + */ + public Optional> instancePlatform() { + return Optional.ofNullable(this.instancePlatform); + } + + /** + * The instance type for which to reserve capacity. + * + */ + @Import(name="instanceType") + private @Nullable Output instanceType; + + /** + * @return The instance type for which to reserve capacity. + * + */ + public Optional> instanceType() { + return Optional.ofNullable(this.instanceType); + } + + /** + * The ARN of the Outpost on which to create the Capacity Block Reservation. + * + */ + @Import(name="outpostArn") + private @Nullable Output outpostArn; + + /** + * @return The ARN of the Outpost on which to create the Capacity Block Reservation. + * + */ + public Optional> outpostArn() { + return Optional.ofNullable(this.outpostArn); + } + + /** + * The ARN of the placement group in which to create the Capacity Block Reservation. + * + */ + @Import(name="placementGroupArn") + private @Nullable Output placementGroupArn; + + /** + * @return The ARN of the placement group in which to create the Capacity Block Reservation. + * + */ + public Optional> placementGroupArn() { + return Optional.ofNullable(this.placementGroupArn); + } + + /** + * The type of Capacity Reservation. + * + */ + @Import(name="reservationType") + private @Nullable Output reservationType; + + /** + * @return The type of Capacity Reservation. + * + */ + public Optional> reservationType() { + return Optional.ofNullable(this.reservationType); + } + + /** + * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + @Import(name="startDate") + private @Nullable Output startDate; + + /** + * @return The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + public Optional> startDate() { + return Optional.ofNullable(this.startDate); + } + + /** + * 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return 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. + * + */ + 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); + } + + /** + * Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + * + */ + @Import(name="tenancy") + private @Nullable Output tenancy; + + /** + * @return Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + * + */ + public Optional> tenancy() { + return Optional.ofNullable(this.tenancy); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private CapacityBlockReservationState() {} + + private CapacityBlockReservationState(CapacityBlockReservationState $) { + this.arn = $.arn; + this.availabilityZone = $.availabilityZone; + this.capacityBlockOfferingId = $.capacityBlockOfferingId; + this.createdDate = $.createdDate; + this.ebsOptimized = $.ebsOptimized; + this.endDate = $.endDate; + this.endDateType = $.endDateType; + this.instanceCount = $.instanceCount; + this.instancePlatform = $.instancePlatform; + this.instanceType = $.instanceType; + this.outpostArn = $.outpostArn; + this.placementGroupArn = $.placementGroupArn; + this.reservationType = $.reservationType; + this.startDate = $.startDate; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.tenancy = $.tenancy; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CapacityBlockReservationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CapacityBlockReservationState $; + + public Builder() { + $ = new CapacityBlockReservationState(); + } + + public Builder(CapacityBlockReservationState defaults) { + $ = new CapacityBlockReservationState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The ARN of the reservation. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The ARN of the reservation. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param availabilityZone The Availability Zone in which to create the Capacity Block Reservation. + * + * @return builder + * + */ + public Builder availabilityZone(@Nullable Output availabilityZone) { + $.availabilityZone = availabilityZone; + return this; + } + + /** + * @param availabilityZone The Availability Zone in which to create the Capacity Block Reservation. + * + * @return builder + * + */ + public Builder availabilityZone(String availabilityZone) { + return availabilityZone(Output.of(availabilityZone)); + } + + /** + * @param capacityBlockOfferingId The Capacity Block Reservation ID. + * + * @return builder + * + */ + public Builder capacityBlockOfferingId(@Nullable Output capacityBlockOfferingId) { + $.capacityBlockOfferingId = capacityBlockOfferingId; + return this; + } + + /** + * @param capacityBlockOfferingId The Capacity Block Reservation ID. + * + * @return builder + * + */ + public Builder capacityBlockOfferingId(String capacityBlockOfferingId) { + return capacityBlockOfferingId(Output.of(capacityBlockOfferingId)); + } + + /** + * @param createdDate The date and time at which the Capacity Block Reservation was created. + * + * @return builder + * + */ + public Builder createdDate(@Nullable Output createdDate) { + $.createdDate = createdDate; + return this; + } + + /** + * @param createdDate The date and time at which the Capacity Block Reservation was created. + * + * @return builder + * + */ + public Builder createdDate(String createdDate) { + return createdDate(Output.of(createdDate)); + } + + /** + * @param ebsOptimized Indicates whether the Capacity Reservation supports EBS-optimized instances. + * + * @return builder + * + */ + public Builder ebsOptimized(@Nullable Output ebsOptimized) { + $.ebsOptimized = ebsOptimized; + return this; + } + + /** + * @param ebsOptimized Indicates whether the Capacity Reservation supports EBS-optimized instances. + * + * @return builder + * + */ + public Builder ebsOptimized(Boolean ebsOptimized) { + return ebsOptimized(Output.of(ebsOptimized)); + } + + /** + * @param endDate The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder endDate(@Nullable Output endDate) { + $.endDate = endDate; + return this; + } + + /** + * @param endDate The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder endDate(String endDate) { + return endDate(Output.of(endDate)); + } + + /** + * @param endDateType Indicates the way in which the Capacity Reservation ends. + * + * @return builder + * + */ + public Builder endDateType(@Nullable Output endDateType) { + $.endDateType = endDateType; + return this; + } + + /** + * @param endDateType Indicates the way in which the Capacity Reservation ends. + * + * @return builder + * + */ + public Builder endDateType(String endDateType) { + return endDateType(Output.of(endDateType)); + } + + /** + * @param instanceCount The number of instances for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + /** + * @param instanceCount The number of instances for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + /** + * @param instancePlatform The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + * @return builder + * + */ + public Builder instancePlatform(@Nullable Output instancePlatform) { + $.instancePlatform = instancePlatform; + return this; + } + + /** + * @param instancePlatform The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + * + * @return builder + * + */ + public Builder instancePlatform(String instancePlatform) { + return instancePlatform(Output.of(instancePlatform)); + } + + /** + * @param instanceType The instance type for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceType(@Nullable Output instanceType) { + $.instanceType = instanceType; + return this; + } + + /** + * @param instanceType The instance type for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceType(String instanceType) { + return instanceType(Output.of(instanceType)); + } + + /** + * @param outpostArn The ARN of the Outpost on which to create the Capacity Block Reservation. + * + * @return builder + * + */ + public Builder outpostArn(@Nullable Output outpostArn) { + $.outpostArn = outpostArn; + return this; + } + + /** + * @param outpostArn The ARN of the Outpost on which to create the Capacity Block Reservation. + * + * @return builder + * + */ + public Builder outpostArn(String outpostArn) { + return outpostArn(Output.of(outpostArn)); + } + + /** + * @param placementGroupArn The ARN of the placement group in which to create the Capacity Block Reservation. + * + * @return builder + * + */ + public Builder placementGroupArn(@Nullable Output placementGroupArn) { + $.placementGroupArn = placementGroupArn; + return this; + } + + /** + * @param placementGroupArn The ARN of the placement group in which to create the Capacity Block Reservation. + * + * @return builder + * + */ + public Builder placementGroupArn(String placementGroupArn) { + return placementGroupArn(Output.of(placementGroupArn)); + } + + /** + * @param reservationType The type of Capacity Reservation. + * + * @return builder + * + */ + public Builder reservationType(@Nullable Output reservationType) { + $.reservationType = reservationType; + return this; + } + + /** + * @param reservationType The type of Capacity Reservation. + * + * @return builder + * + */ + public Builder reservationType(String reservationType) { + return reservationType(Output.of(reservationType)); + } + + /** + * @param startDate The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder startDate(@Nullable Output startDate) { + $.startDate = startDate; + return this; + } + + /** + * @param startDate The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder startDate(String startDate) { + return startDate(Output.of(startDate)); + } + + /** + * @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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @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. + * + * @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)); + } + + /** + * @param tenancy Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + * + * @return builder + * + */ + public Builder tenancy(@Nullable Output tenancy) { + $.tenancy = tenancy; + return this; + } + + /** + * @param tenancy Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + * + * @return builder + * + */ + public Builder tenancy(String tenancy) { + return tenancy(Output.of(tenancy)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(CapacityBlockReservationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public CapacityBlockReservationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/CapacityBlockReservationTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/CapacityBlockReservationTimeoutsArgs.java new file mode 100644 index 00000000000..88de9b5c32d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/CapacityBlockReservationTimeoutsArgs.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.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 CapacityBlockReservationTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CapacityBlockReservationTimeoutsArgs Empty = new CapacityBlockReservationTimeoutsArgs(); + + /** + * 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); + } + + private CapacityBlockReservationTimeoutsArgs() {} + + private CapacityBlockReservationTimeoutsArgs(CapacityBlockReservationTimeoutsArgs $) { + this.create = $.create; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CapacityBlockReservationTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CapacityBlockReservationTimeoutsArgs $; + + public Builder() { + $ = new CapacityBlockReservationTimeoutsArgs(); + } + + public Builder(CapacityBlockReservationTimeoutsArgs defaults) { + $ = new CapacityBlockReservationTimeoutsArgs(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)); + } + + public CapacityBlockReservationTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FleetOnDemandOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FleetOnDemandOptionsArgs.java index 5dac1c8edb7..1dde12b30f3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FleetOnDemandOptionsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FleetOnDemandOptionsArgs.java @@ -3,6 +3,7 @@ package com.pulumi.aws.ec2.inputs; +import com.pulumi.aws.ec2.inputs.FleetOnDemandOptionsCapacityReservationOptionsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -32,6 +33,21 @@ public Optional> allocationStrategy() { return Optional.ofNullable(this.allocationStrategy); } + /** + * The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + * + */ + @Import(name="capacityReservationOptions") + private @Nullable Output capacityReservationOptions; + + /** + * @return The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + * + */ + public Optional> capacityReservationOptions() { + return Optional.ofNullable(this.capacityReservationOptions); + } + /** * The maximum amount per hour for On-Demand Instances that you're willing to pay. * @@ -98,6 +114,7 @@ private FleetOnDemandOptionsArgs() {} private FleetOnDemandOptionsArgs(FleetOnDemandOptionsArgs $) { this.allocationStrategy = $.allocationStrategy; + this.capacityReservationOptions = $.capacityReservationOptions; this.maxTotalPrice = $.maxTotalPrice; this.minTargetCapacity = $.minTargetCapacity; this.singleAvailabilityZone = $.singleAvailabilityZone; @@ -143,6 +160,27 @@ public Builder allocationStrategy(String allocationStrategy) { return allocationStrategy(Output.of(allocationStrategy)); } + /** + * @param capacityReservationOptions The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + * + * @return builder + * + */ + public Builder capacityReservationOptions(@Nullable Output capacityReservationOptions) { + $.capacityReservationOptions = capacityReservationOptions; + return this; + } + + /** + * @param capacityReservationOptions The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + * + * @return builder + * + */ + public Builder capacityReservationOptions(FleetOnDemandOptionsCapacityReservationOptionsArgs capacityReservationOptions) { + return capacityReservationOptions(Output.of(capacityReservationOptions)); + } + /** * @param maxTotalPrice The maximum amount per hour for On-Demand Instances that you're willing to pay. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FleetOnDemandOptionsCapacityReservationOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FleetOnDemandOptionsCapacityReservationOptionsArgs.java new file mode 100644 index 00000000000..6083b9990b5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/FleetOnDemandOptionsCapacityReservationOptionsArgs.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.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 FleetOnDemandOptionsCapacityReservationOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final FleetOnDemandOptionsCapacityReservationOptionsArgs Empty = new FleetOnDemandOptionsCapacityReservationOptionsArgs(); + + /** + * Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + * + */ + @Import(name="usageStrategy") + private @Nullable Output usageStrategy; + + /** + * @return Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + * + */ + public Optional> usageStrategy() { + return Optional.ofNullable(this.usageStrategy); + } + + private FleetOnDemandOptionsCapacityReservationOptionsArgs() {} + + private FleetOnDemandOptionsCapacityReservationOptionsArgs(FleetOnDemandOptionsCapacityReservationOptionsArgs $) { + this.usageStrategy = $.usageStrategy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FleetOnDemandOptionsCapacityReservationOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FleetOnDemandOptionsCapacityReservationOptionsArgs $; + + public Builder() { + $ = new FleetOnDemandOptionsCapacityReservationOptionsArgs(); + } + + public Builder(FleetOnDemandOptionsCapacityReservationOptionsArgs defaults) { + $ = new FleetOnDemandOptionsCapacityReservationOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param usageStrategy Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + * + * @return builder + * + */ + public Builder usageStrategy(@Nullable Output usageStrategy) { + $.usageStrategy = usageStrategy; + return this; + } + + /** + * @param usageStrategy Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + * + * @return builder + * + */ + public Builder usageStrategy(String usageStrategy) { + return usageStrategy(Output.of(usageStrategy)); + } + + public FleetOnDemandOptionsCapacityReservationOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetCapacityBlockOfferingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetCapacityBlockOfferingArgs.java new file mode 100644 index 00000000000..9636685543b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetCapacityBlockOfferingArgs.java @@ -0,0 +1,242 @@ +// *** 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 com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetCapacityBlockOfferingArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetCapacityBlockOfferingArgs Empty = new GetCapacityBlockOfferingArgs(); + + /** + * The amount of time of the Capacity Block reservation in hours. + * + */ + @Import(name="capacityDurationHours", required=true) + private Output capacityDurationHours; + + /** + * @return The amount of time of the Capacity Block reservation in hours. + * + */ + public Output capacityDurationHours() { + return this.capacityDurationHours; + } + + /** + * The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + @Import(name="endDateRange") + private @Nullable Output endDateRange; + + /** + * @return The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + public Optional> endDateRange() { + return Optional.ofNullable(this.endDateRange); + } + + /** + * The number of instances for which to reserve capacity. + * + */ + @Import(name="instanceCount", required=true) + private Output instanceCount; + + /** + * @return The number of instances for which to reserve capacity. + * + */ + public Output instanceCount() { + return this.instanceCount; + } + + /** + * The instance type for which to reserve capacity. + * + */ + @Import(name="instanceType", required=true) + private Output instanceType; + + /** + * @return The instance type for which to reserve capacity. + * + */ + public Output instanceType() { + return this.instanceType; + } + + /** + * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + @Import(name="startDateRange") + private @Nullable Output startDateRange; + + /** + * @return The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + public Optional> startDateRange() { + return Optional.ofNullable(this.startDateRange); + } + + private GetCapacityBlockOfferingArgs() {} + + private GetCapacityBlockOfferingArgs(GetCapacityBlockOfferingArgs $) { + this.capacityDurationHours = $.capacityDurationHours; + this.endDateRange = $.endDateRange; + this.instanceCount = $.instanceCount; + this.instanceType = $.instanceType; + this.startDateRange = $.startDateRange; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetCapacityBlockOfferingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetCapacityBlockOfferingArgs $; + + public Builder() { + $ = new GetCapacityBlockOfferingArgs(); + } + + public Builder(GetCapacityBlockOfferingArgs defaults) { + $ = new GetCapacityBlockOfferingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param capacityDurationHours The amount of time of the Capacity Block reservation in hours. + * + * @return builder + * + */ + public Builder capacityDurationHours(Output capacityDurationHours) { + $.capacityDurationHours = capacityDurationHours; + return this; + } + + /** + * @param capacityDurationHours The amount of time of the Capacity Block reservation in hours. + * + * @return builder + * + */ + public Builder capacityDurationHours(Integer capacityDurationHours) { + return capacityDurationHours(Output.of(capacityDurationHours)); + } + + /** + * @param endDateRange The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder endDateRange(@Nullable Output endDateRange) { + $.endDateRange = endDateRange; + return this; + } + + /** + * @param endDateRange The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder endDateRange(String endDateRange) { + return endDateRange(Output.of(endDateRange)); + } + + /** + * @param instanceCount The number of instances for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceCount(Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + /** + * @param instanceCount The number of instances for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + /** + * @param instanceType The instance type for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceType(Output instanceType) { + $.instanceType = instanceType; + return this; + } + + /** + * @param instanceType The instance type for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceType(String instanceType) { + return instanceType(Output.of(instanceType)); + } + + /** + * @param startDateRange The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder startDateRange(@Nullable Output startDateRange) { + $.startDateRange = startDateRange; + return this; + } + + /** + * @param startDateRange The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder startDateRange(String startDateRange) { + return startDateRange(Output.of(startDateRange)); + } + + public GetCapacityBlockOfferingArgs build() { + if ($.capacityDurationHours == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingArgs", "capacityDurationHours"); + } + if ($.instanceCount == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingArgs", "instanceCount"); + } + if ($.instanceType == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingArgs", "instanceType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetCapacityBlockOfferingPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetCapacityBlockOfferingPlainArgs.java new file mode 100644 index 00000000000..f7ed9b7db78 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetCapacityBlockOfferingPlainArgs.java @@ -0,0 +1,191 @@ +// *** 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.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetCapacityBlockOfferingPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetCapacityBlockOfferingPlainArgs Empty = new GetCapacityBlockOfferingPlainArgs(); + + /** + * The amount of time of the Capacity Block reservation in hours. + * + */ + @Import(name="capacityDurationHours", required=true) + private Integer capacityDurationHours; + + /** + * @return The amount of time of the Capacity Block reservation in hours. + * + */ + public Integer capacityDurationHours() { + return this.capacityDurationHours; + } + + /** + * The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + @Import(name="endDateRange") + private @Nullable String endDateRange; + + /** + * @return The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + public Optional endDateRange() { + return Optional.ofNullable(this.endDateRange); + } + + /** + * The number of instances for which to reserve capacity. + * + */ + @Import(name="instanceCount", required=true) + private Integer instanceCount; + + /** + * @return The number of instances for which to reserve capacity. + * + */ + public Integer instanceCount() { + return this.instanceCount; + } + + /** + * The instance type for which to reserve capacity. + * + */ + @Import(name="instanceType", required=true) + private String instanceType; + + /** + * @return The instance type for which to reserve capacity. + * + */ + public String instanceType() { + return this.instanceType; + } + + /** + * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + @Import(name="startDateRange") + private @Nullable String startDateRange; + + /** + * @return The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + */ + public Optional startDateRange() { + return Optional.ofNullable(this.startDateRange); + } + + private GetCapacityBlockOfferingPlainArgs() {} + + private GetCapacityBlockOfferingPlainArgs(GetCapacityBlockOfferingPlainArgs $) { + this.capacityDurationHours = $.capacityDurationHours; + this.endDateRange = $.endDateRange; + this.instanceCount = $.instanceCount; + this.instanceType = $.instanceType; + this.startDateRange = $.startDateRange; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetCapacityBlockOfferingPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetCapacityBlockOfferingPlainArgs $; + + public Builder() { + $ = new GetCapacityBlockOfferingPlainArgs(); + } + + public Builder(GetCapacityBlockOfferingPlainArgs defaults) { + $ = new GetCapacityBlockOfferingPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param capacityDurationHours The amount of time of the Capacity Block reservation in hours. + * + * @return builder + * + */ + public Builder capacityDurationHours(Integer capacityDurationHours) { + $.capacityDurationHours = capacityDurationHours; + return this; + } + + /** + * @param endDateRange The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder endDateRange(@Nullable String endDateRange) { + $.endDateRange = endDateRange; + return this; + } + + /** + * @param instanceCount The number of instances for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceCount(Integer instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + /** + * @param instanceType The instance type for which to reserve capacity. + * + * @return builder + * + */ + public Builder instanceType(String instanceType) { + $.instanceType = instanceType; + return this; + } + + /** + * @param startDateRange The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + * + * @return builder + * + */ + public Builder startDateRange(@Nullable String startDateRange) { + $.startDateRange = startDateRange; + return this; + } + + public GetCapacityBlockOfferingPlainArgs build() { + if ($.capacityDurationHours == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingPlainArgs", "capacityDurationHours"); + } + if ($.instanceCount == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingPlainArgs", "instanceCount"); + } + if ($.instanceType == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingPlainArgs", "instanceType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateElasticGpuSpecificationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateElasticGpuSpecificationArgs.java index da98ee4ae93..dd57178d981 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateElasticGpuSpecificationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateElasticGpuSpecificationArgs.java @@ -15,14 +15,14 @@ public final class LaunchTemplateElasticGpuSpecificationArgs extends com.pulumi. public static final LaunchTemplateElasticGpuSpecificationArgs Empty = new LaunchTemplateElasticGpuSpecificationArgs(); /** - * The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + * The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) * */ @Import(name="type", required=true) private Output type; /** - * @return The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + * @return The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) * */ public Output type() { @@ -54,7 +54,7 @@ public Builder(LaunchTemplateElasticGpuSpecificationArgs defaults) { } /** - * @param type The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + * @param type The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) * * @return builder * @@ -65,7 +65,7 @@ public Builder type(Output type) { } /** - * @param type The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + * @param type The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateState.java index 629656b320a..27802d36f77 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateState.java @@ -274,14 +274,14 @@ public Optional> iamInstanceProfile } /** - * The AMI from which to launch the instance. + * The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * */ @Import(name="imageId") private @Nullable Output imageId; /** - * @return The AMI from which to launch the instance. + * @return The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * */ public Optional> imageId() { @@ -1075,7 +1075,7 @@ public Builder iamInstanceProfile(LaunchTemplateIamInstanceProfileArgs iamInstan } /** - * @param imageId The AMI from which to launch the instance. + * @param imageId The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * * @return builder * @@ -1086,7 +1086,7 @@ public Builder imageId(@Nullable Output imageId) { } /** - * @param imageId The AMI from which to launch the instance. + * @param imageId The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointState.java index d62933eee0a..48d827242bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.ec2.inputs.VpcEndpointDnsEntryArgs; import com.pulumi.aws.ec2.inputs.VpcEndpointDnsOptionsArgs; +import com.pulumi.aws.ec2.inputs.VpcEndpointSubnetConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -264,6 +265,21 @@ public Optional> state() { return Optional.ofNullable(this.state); } + /** + * Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + */ + @Import(name="subnetConfigurations") + private @Nullable Output> subnetConfigurations; + + /** + * @return Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + */ + public Optional>> subnetConfigurations() { + return Optional.ofNullable(this.subnetConfigurations); + } + /** * The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. * @@ -366,6 +382,7 @@ private VpcEndpointState(VpcEndpointState $) { this.securityGroupIds = $.securityGroupIds; this.serviceName = $.serviceName; this.state = $.state; + this.subnetConfigurations = $.subnetConfigurations; this.subnetIds = $.subnetIds; this.tags = $.tags; this.tagsAll = $.tagsAll; @@ -782,6 +799,37 @@ public Builder state(String state) { return state(Output.of(state)); } + /** + * @param subnetConfigurations Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + * @return builder + * + */ + public Builder subnetConfigurations(@Nullable Output> subnetConfigurations) { + $.subnetConfigurations = subnetConfigurations; + return this; + } + + /** + * @param subnetConfigurations Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + * @return builder + * + */ + public Builder subnetConfigurations(List subnetConfigurations) { + return subnetConfigurations(Output.of(subnetConfigurations)); + } + + /** + * @param subnetConfigurations Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + * + * @return builder + * + */ + public Builder subnetConfigurations(VpcEndpointSubnetConfigurationArgs... subnetConfigurations) { + return subnetConfigurations(List.of(subnetConfigurations)); + } + /** * @param subnetIds The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointSubnetConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointSubnetConfigurationArgs.java new file mode 100644 index 00000000000..e62c2e5ded7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcEndpointSubnetConfigurationArgs.java @@ -0,0 +1,137 @@ +// *** 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 VpcEndpointSubnetConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final VpcEndpointSubnetConfigurationArgs Empty = new VpcEndpointSubnetConfigurationArgs(); + + /** + * The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + * + */ + @Import(name="ipv4") + private @Nullable Output ipv4; + + /** + * @return The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + * + */ + public Optional> ipv4() { + return Optional.ofNullable(this.ipv4); + } + + /** + * The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + * + */ + @Import(name="ipv6") + private @Nullable Output ipv6; + + /** + * @return The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + * + */ + public Optional> ipv6() { + return Optional.ofNullable(this.ipv6); + } + + @Import(name="subnetId") + private @Nullable Output subnetId; + + public Optional> subnetId() { + return Optional.ofNullable(this.subnetId); + } + + private VpcEndpointSubnetConfigurationArgs() {} + + private VpcEndpointSubnetConfigurationArgs(VpcEndpointSubnetConfigurationArgs $) { + this.ipv4 = $.ipv4; + this.ipv6 = $.ipv6; + this.subnetId = $.subnetId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcEndpointSubnetConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcEndpointSubnetConfigurationArgs $; + + public Builder() { + $ = new VpcEndpointSubnetConfigurationArgs(); + } + + public Builder(VpcEndpointSubnetConfigurationArgs defaults) { + $ = new VpcEndpointSubnetConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param ipv4 The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + * + * @return builder + * + */ + public Builder ipv4(@Nullable Output ipv4) { + $.ipv4 = ipv4; + return this; + } + + /** + * @param ipv4 The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + * + * @return builder + * + */ + public Builder ipv4(String ipv4) { + return ipv4(Output.of(ipv4)); + } + + /** + * @param ipv6 The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + * + * @return builder + * + */ + public Builder ipv6(@Nullable Output ipv6) { + $.ipv6 = ipv6; + return this; + } + + /** + * @param ipv6 The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + * + * @return builder + * + */ + public Builder ipv6(String ipv6) { + return ipv6(Output.of(ipv6)); + } + + public Builder subnetId(@Nullable Output subnetId) { + $.subnetId = subnetId; + return this; + } + + public Builder subnetId(String subnetId) { + return subnetId(Output.of(subnetId)); + } + + public VpcEndpointSubnetConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/CapacityBlockReservationTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/CapacityBlockReservationTimeouts.java new file mode 100644 index 00000000000..9aefa1282b8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/CapacityBlockReservationTimeouts.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.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 CapacityBlockReservationTimeouts { + /** + * @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; + + private CapacityBlockReservationTimeouts() {} + /** + * @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); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CapacityBlockReservationTimeouts defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String create; + public Builder() {} + public Builder(CapacityBlockReservationTimeouts defaults) { + Objects.requireNonNull(defaults); + this.create = defaults.create; + } + + @CustomType.Setter + public Builder create(@Nullable String create) { + + this.create = create; + return this; + } + public CapacityBlockReservationTimeouts build() { + final var _resultValue = new CapacityBlockReservationTimeouts(); + _resultValue.create = create; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/FleetOnDemandOptions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/FleetOnDemandOptions.java index bde3c451d07..6598099b121 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/FleetOnDemandOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/FleetOnDemandOptions.java @@ -3,6 +3,7 @@ package com.pulumi.aws.ec2.outputs; +import com.pulumi.aws.ec2.outputs.FleetOnDemandOptionsCapacityReservationOptions; import com.pulumi.core.annotations.CustomType; import java.lang.Boolean; import java.lang.Integer; @@ -18,6 +19,11 @@ public final class FleetOnDemandOptions { * */ private @Nullable String allocationStrategy; + /** + * @return The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + * + */ + private @Nullable FleetOnDemandOptionsCapacityReservationOptions capacityReservationOptions; /** * @return The maximum amount per hour for On-Demand Instances that you're willing to pay. * @@ -48,6 +54,13 @@ private FleetOnDemandOptions() {} public Optional allocationStrategy() { return Optional.ofNullable(this.allocationStrategy); } + /** + * @return The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + * + */ + public Optional capacityReservationOptions() { + return Optional.ofNullable(this.capacityReservationOptions); + } /** * @return The maximum amount per hour for On-Demand Instances that you're willing to pay. * @@ -88,6 +101,7 @@ public static Builder builder(FleetOnDemandOptions defaults) { @CustomType.Builder public static final class Builder { private @Nullable String allocationStrategy; + private @Nullable FleetOnDemandOptionsCapacityReservationOptions capacityReservationOptions; private @Nullable String maxTotalPrice; private @Nullable Integer minTargetCapacity; private @Nullable Boolean singleAvailabilityZone; @@ -96,6 +110,7 @@ public Builder() {} public Builder(FleetOnDemandOptions defaults) { Objects.requireNonNull(defaults); this.allocationStrategy = defaults.allocationStrategy; + this.capacityReservationOptions = defaults.capacityReservationOptions; this.maxTotalPrice = defaults.maxTotalPrice; this.minTargetCapacity = defaults.minTargetCapacity; this.singleAvailabilityZone = defaults.singleAvailabilityZone; @@ -109,6 +124,12 @@ public Builder allocationStrategy(@Nullable String allocationStrategy) { return this; } @CustomType.Setter + public Builder capacityReservationOptions(@Nullable FleetOnDemandOptionsCapacityReservationOptions capacityReservationOptions) { + + this.capacityReservationOptions = capacityReservationOptions; + return this; + } + @CustomType.Setter public Builder maxTotalPrice(@Nullable String maxTotalPrice) { this.maxTotalPrice = maxTotalPrice; @@ -135,6 +156,7 @@ public Builder singleInstanceType(@Nullable Boolean singleInstanceType) { public FleetOnDemandOptions build() { final var _resultValue = new FleetOnDemandOptions(); _resultValue.allocationStrategy = allocationStrategy; + _resultValue.capacityReservationOptions = capacityReservationOptions; _resultValue.maxTotalPrice = maxTotalPrice; _resultValue.minTargetCapacity = minTargetCapacity; _resultValue.singleAvailabilityZone = singleAvailabilityZone; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/FleetOnDemandOptionsCapacityReservationOptions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/FleetOnDemandOptionsCapacityReservationOptions.java new file mode 100644 index 00000000000..4be31de5f67 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/FleetOnDemandOptionsCapacityReservationOptions.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.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 FleetOnDemandOptionsCapacityReservationOptions { + /** + * @return Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + * + */ + private @Nullable String usageStrategy; + + private FleetOnDemandOptionsCapacityReservationOptions() {} + /** + * @return Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + * + */ + public Optional usageStrategy() { + return Optional.ofNullable(this.usageStrategy); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FleetOnDemandOptionsCapacityReservationOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String usageStrategy; + public Builder() {} + public Builder(FleetOnDemandOptionsCapacityReservationOptions defaults) { + Objects.requireNonNull(defaults); + this.usageStrategy = defaults.usageStrategy; + } + + @CustomType.Setter + public Builder usageStrategy(@Nullable String usageStrategy) { + + this.usageStrategy = usageStrategy; + return this; + } + public FleetOnDemandOptionsCapacityReservationOptions build() { + final var _resultValue = new FleetOnDemandOptionsCapacityReservationOptions(); + _resultValue.usageStrategy = usageStrategy; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetCapacityBlockOfferingResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetCapacityBlockOfferingResult.java new file mode 100644 index 00000000000..ca0fef508e4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetCapacityBlockOfferingResult.java @@ -0,0 +1,249 @@ +// *** 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 com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetCapacityBlockOfferingResult { + /** + * @return The Availability Zone in which to create the Capacity Reservation. + * + */ + private String availabilityZone; + /** + * @return The Capacity Block Reservation ID. + * + */ + private String capacityBlockOfferingId; + private Integer capacityDurationHours; + /** + * @return The currency of the payment for the Capacity Block. + * + */ + private String currencyCode; + private String endDateRange; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + private Integer instanceCount; + private String instanceType; + private String startDateRange; + /** + * @return Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. + * + */ + private String tenancy; + /** + * @return The total price to be paid up front. + * + */ + private String upfrontFee; + + private GetCapacityBlockOfferingResult() {} + /** + * @return The Availability Zone in which to create the Capacity Reservation. + * + */ + public String availabilityZone() { + return this.availabilityZone; + } + /** + * @return The Capacity Block Reservation ID. + * + */ + public String capacityBlockOfferingId() { + return this.capacityBlockOfferingId; + } + public Integer capacityDurationHours() { + return this.capacityDurationHours; + } + /** + * @return The currency of the payment for the Capacity Block. + * + */ + public String currencyCode() { + return this.currencyCode; + } + public String endDateRange() { + return this.endDateRange; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + public Integer instanceCount() { + return this.instanceCount; + } + public String instanceType() { + return this.instanceType; + } + public String startDateRange() { + return this.startDateRange; + } + /** + * @return Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. + * + */ + public String tenancy() { + return this.tenancy; + } + /** + * @return The total price to be paid up front. + * + */ + public String upfrontFee() { + return this.upfrontFee; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCapacityBlockOfferingResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String availabilityZone; + private String capacityBlockOfferingId; + private Integer capacityDurationHours; + private String currencyCode; + private String endDateRange; + private String id; + private Integer instanceCount; + private String instanceType; + private String startDateRange; + private String tenancy; + private String upfrontFee; + public Builder() {} + public Builder(GetCapacityBlockOfferingResult defaults) { + Objects.requireNonNull(defaults); + this.availabilityZone = defaults.availabilityZone; + this.capacityBlockOfferingId = defaults.capacityBlockOfferingId; + this.capacityDurationHours = defaults.capacityDurationHours; + this.currencyCode = defaults.currencyCode; + this.endDateRange = defaults.endDateRange; + this.id = defaults.id; + this.instanceCount = defaults.instanceCount; + this.instanceType = defaults.instanceType; + this.startDateRange = defaults.startDateRange; + this.tenancy = defaults.tenancy; + this.upfrontFee = defaults.upfrontFee; + } + + @CustomType.Setter + public Builder availabilityZone(String availabilityZone) { + if (availabilityZone == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "availabilityZone"); + } + this.availabilityZone = availabilityZone; + return this; + } + @CustomType.Setter + public Builder capacityBlockOfferingId(String capacityBlockOfferingId) { + if (capacityBlockOfferingId == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "capacityBlockOfferingId"); + } + this.capacityBlockOfferingId = capacityBlockOfferingId; + return this; + } + @CustomType.Setter + public Builder capacityDurationHours(Integer capacityDurationHours) { + if (capacityDurationHours == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "capacityDurationHours"); + } + this.capacityDurationHours = capacityDurationHours; + return this; + } + @CustomType.Setter + public Builder currencyCode(String currencyCode) { + if (currencyCode == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "currencyCode"); + } + this.currencyCode = currencyCode; + return this; + } + @CustomType.Setter + public Builder endDateRange(String endDateRange) { + if (endDateRange == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "endDateRange"); + } + this.endDateRange = endDateRange; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder instanceCount(Integer instanceCount) { + if (instanceCount == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "instanceCount"); + } + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder instanceType(String instanceType) { + if (instanceType == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "instanceType"); + } + this.instanceType = instanceType; + return this; + } + @CustomType.Setter + public Builder startDateRange(String startDateRange) { + if (startDateRange == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "startDateRange"); + } + this.startDateRange = startDateRange; + return this; + } + @CustomType.Setter + public Builder tenancy(String tenancy) { + if (tenancy == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "tenancy"); + } + this.tenancy = tenancy; + return this; + } + @CustomType.Setter + public Builder upfrontFee(String upfrontFee) { + if (upfrontFee == null) { + throw new MissingRequiredPropertyException("GetCapacityBlockOfferingResult", "upfrontFee"); + } + this.upfrontFee = upfrontFee; + return this; + } + public GetCapacityBlockOfferingResult build() { + final var _resultValue = new GetCapacityBlockOfferingResult(); + _resultValue.availabilityZone = availabilityZone; + _resultValue.capacityBlockOfferingId = capacityBlockOfferingId; + _resultValue.capacityDurationHours = capacityDurationHours; + _resultValue.currencyCode = currencyCode; + _resultValue.endDateRange = endDateRange; + _resultValue.id = id; + _resultValue.instanceCount = instanceCount; + _resultValue.instanceType = instanceType; + _resultValue.startDateRange = startDateRange; + _resultValue.tenancy = tenancy; + _resultValue.upfrontFee = upfrontFee; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/LaunchTemplateElasticGpuSpecification.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/LaunchTemplateElasticGpuSpecification.java index 9171b010d4e..2e1c9a28524 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/LaunchTemplateElasticGpuSpecification.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/LaunchTemplateElasticGpuSpecification.java @@ -11,14 +11,14 @@ @CustomType public final class LaunchTemplateElasticGpuSpecification { /** - * @return The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + * @return The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) * */ private String type; private LaunchTemplateElasticGpuSpecification() {} /** - * @return The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + * @return The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) * */ public String type() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcEndpointSubnetConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcEndpointSubnetConfiguration.java new file mode 100644 index 00000000000..1b8757c5a11 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/VpcEndpointSubnetConfiguration.java @@ -0,0 +1,91 @@ +// *** 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 VpcEndpointSubnetConfiguration { + /** + * @return The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + * + */ + private @Nullable String ipv4; + /** + * @return The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + * + */ + private @Nullable String ipv6; + private @Nullable String subnetId; + + private VpcEndpointSubnetConfiguration() {} + /** + * @return The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + * + */ + public Optional ipv4() { + return Optional.ofNullable(this.ipv4); + } + /** + * @return The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + * + */ + public Optional ipv6() { + return Optional.ofNullable(this.ipv6); + } + public Optional subnetId() { + return Optional.ofNullable(this.subnetId); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VpcEndpointSubnetConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String ipv4; + private @Nullable String ipv6; + private @Nullable String subnetId; + public Builder() {} + public Builder(VpcEndpointSubnetConfiguration defaults) { + Objects.requireNonNull(defaults); + this.ipv4 = defaults.ipv4; + this.ipv6 = defaults.ipv6; + this.subnetId = defaults.subnetId; + } + + @CustomType.Setter + public Builder ipv4(@Nullable String ipv4) { + + this.ipv4 = ipv4; + return this; + } + @CustomType.Setter + public Builder ipv6(@Nullable String ipv6) { + + this.ipv6 = ipv6; + return this; + } + @CustomType.Setter + public Builder subnetId(@Nullable String subnetId) { + + this.subnetId = subnetId; + return this; + } + public VpcEndpointSubnetConfiguration build() { + final var _resultValue = new VpcEndpointSubnetConfiguration(); + _resultValue.ipv4 = ipv4; + _resultValue.ipv6 = ipv6; + _resultValue.subnetId = subnetId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/fms/ResourceSet.java b/sdk/java/src/main/java/com/pulumi/aws/fms/ResourceSet.java new file mode 100644 index 00000000000..cfb6024a2e7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/fms/ResourceSet.java @@ -0,0 +1,177 @@ +// *** 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.fms; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.fms.ResourceSetArgs; +import com.pulumi.aws.fms.inputs.ResourceSetState; +import com.pulumi.aws.fms.outputs.ResourceSetResourceSet; +import com.pulumi.aws.fms.outputs.ResourceSetTimeouts; +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.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS FMS (Firewall Manager) Resource Set. + * + * ## 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.fms.ResourceSet;
+ * import com.pulumi.aws.fms.ResourceSetArgs;
+ * import com.pulumi.aws.fms.inputs.ResourceSetResourceSetArgs;
+ * 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 ResourceSet("example", ResourceSetArgs.builder()
+ *             .resourceSets(ResourceSetResourceSetArgs.builder()
+ *                 .name("testing")
+ *                 .resourceTypeLists("AWS::NetworkFirewall::Firewall")
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import FMS (Firewall Manager) Resource Set using the `id`. For example: + * + * ```sh + * $ pulumi import aws:fms/resourceSet:ResourceSet example resource_set-id-12345678 + * ``` + * + */ +@ResourceType(type="aws:fms/resourceSet:ResourceSet") +public class ResourceSet extends com.pulumi.resources.CustomResource { + /** + * ARN of the Resource Set. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the Resource Set. + * + */ + public Output arn() { + return this.arn; + } + /** + * Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + */ + @Export(name="resourceSets", refs={List.class,ResourceSetResourceSet.class}, tree="[0,1]") + private Output> resourceSets; + + /** + * @return Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + */ + public Output>> resourceSets() { + return Codegen.optional(this.resourceSets); + } + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @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; + + public Output> tagsAll() { + return this.tagsAll; + } + @Export(name="timeouts", refs={ResourceSetTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ResourceSet(String name) { + this(name, ResourceSetArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ResourceSet(String name, @Nullable ResourceSetArgs 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 ResourceSet(String name, @Nullable ResourceSetArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:fms/resourceSet:ResourceSet", name, args == null ? ResourceSetArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private ResourceSet(String name, Output id, @Nullable ResourceSetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:fms/resourceSet:ResourceSet", name, state, makeResourceOptions(options, id)); + } + + 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 ResourceSet get(String name, Output id, @Nullable ResourceSetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ResourceSet(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/fms/ResourceSetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/fms/ResourceSetArgs.java new file mode 100644 index 00000000000..a0a147b1b09 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/fms/ResourceSetArgs.java @@ -0,0 +1,131 @@ +// *** 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.fms; + +import com.pulumi.aws.fms.inputs.ResourceSetResourceSetArgs; +import com.pulumi.aws.fms.inputs.ResourceSetTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ResourceSetArgs extends com.pulumi.resources.ResourceArgs { + + public static final ResourceSetArgs Empty = new ResourceSetArgs(); + + /** + * Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + */ + @Import(name="resourceSets") + private @Nullable Output> resourceSets; + + /** + * @return Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + */ + public Optional>> resourceSets() { + return Optional.ofNullable(this.resourceSets); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private ResourceSetArgs() {} + + private ResourceSetArgs(ResourceSetArgs $) { + this.resourceSets = $.resourceSets; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ResourceSetArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ResourceSetArgs $; + + public Builder() { + $ = new ResourceSetArgs(); + } + + public Builder(ResourceSetArgs defaults) { + $ = new ResourceSetArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param resourceSets Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + * @return builder + * + */ + public Builder resourceSets(@Nullable Output> resourceSets) { + $.resourceSets = resourceSets; + return this; + } + + /** + * @param resourceSets Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + * @return builder + * + */ + public Builder resourceSets(List resourceSets) { + return resourceSets(Output.of(resourceSets)); + } + + /** + * @param resourceSets Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + * @return builder + * + */ + public Builder resourceSets(ResourceSetResourceSetArgs... resourceSets) { + return resourceSets(List.of(resourceSets)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(ResourceSetTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public ResourceSetArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetResourceSetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetResourceSetArgs.java new file mode 100644 index 00000000000..4dd9192b41f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetResourceSetArgs.java @@ -0,0 +1,300 @@ +// *** 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.fms.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ResourceSetResourceSetArgs extends com.pulumi.resources.ResourceArgs { + + public static final ResourceSetResourceSetArgs Empty = new ResourceSetResourceSetArgs(); + + /** + * Description of the resource set. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the resource set. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + * + */ + @Import(name="id") + private @Nullable Output id; + + /** + * @return Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + * + */ + public Optional> id() { + return Optional.ofNullable(this.id); + } + + /** + * Last time that the reosurce set was changed. + * + */ + @Import(name="lastUpdateTime") + private @Nullable Output lastUpdateTime; + + /** + * @return Last time that the reosurce set was changed. + * + */ + public Optional> lastUpdateTime() { + return Optional.ofNullable(this.lastUpdateTime); + } + + /** + * Descriptive name of the resource set. You can't change the name of a resource set after you create it. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Descriptive name of the resource set. You can't change the name of a resource set after you create it. + * + */ + public Output name() { + return this.name; + } + + /** + * Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + * + */ + @Import(name="resourceSetStatus") + private @Nullable Output resourceSetStatus; + + /** + * @return Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + * + */ + public Optional> resourceSetStatus() { + return Optional.ofNullable(this.resourceSetStatus); + } + + /** + * Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + * + */ + @Import(name="resourceTypeLists") + private @Nullable Output> resourceTypeLists; + + /** + * @return Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + * + */ + public Optional>> resourceTypeLists() { + return Optional.ofNullable(this.resourceTypeLists); + } + + @Import(name="updateToken") + private @Nullable Output updateToken; + + public Optional> updateToken() { + return Optional.ofNullable(this.updateToken); + } + + private ResourceSetResourceSetArgs() {} + + private ResourceSetResourceSetArgs(ResourceSetResourceSetArgs $) { + this.description = $.description; + this.id = $.id; + this.lastUpdateTime = $.lastUpdateTime; + this.name = $.name; + this.resourceSetStatus = $.resourceSetStatus; + this.resourceTypeLists = $.resourceTypeLists; + this.updateToken = $.updateToken; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ResourceSetResourceSetArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ResourceSetResourceSetArgs $; + + public Builder() { + $ = new ResourceSetResourceSetArgs(); + } + + public Builder(ResourceSetResourceSetArgs defaults) { + $ = new ResourceSetResourceSetArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description Description of the resource set. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the resource set. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param id Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + * + * @return builder + * + */ + public Builder id(@Nullable Output id) { + $.id = id; + return this; + } + + /** + * @param id Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + /** + * @param lastUpdateTime Last time that the reosurce set was changed. + * + * @return builder + * + */ + public Builder lastUpdateTime(@Nullable Output lastUpdateTime) { + $.lastUpdateTime = lastUpdateTime; + return this; + } + + /** + * @param lastUpdateTime Last time that the reosurce set was changed. + * + * @return builder + * + */ + public Builder lastUpdateTime(String lastUpdateTime) { + return lastUpdateTime(Output.of(lastUpdateTime)); + } + + /** + * @param name Descriptive name of the resource set. You can't change the name of a resource set after you create it. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Descriptive name of the resource set. You can't change the name of a resource set after you create it. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param resourceSetStatus Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + * + * @return builder + * + */ + public Builder resourceSetStatus(@Nullable Output resourceSetStatus) { + $.resourceSetStatus = resourceSetStatus; + return this; + } + + /** + * @param resourceSetStatus Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + * + * @return builder + * + */ + public Builder resourceSetStatus(String resourceSetStatus) { + return resourceSetStatus(Output.of(resourceSetStatus)); + } + + /** + * @param resourceTypeLists Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + * + * @return builder + * + */ + public Builder resourceTypeLists(@Nullable Output> resourceTypeLists) { + $.resourceTypeLists = resourceTypeLists; + return this; + } + + /** + * @param resourceTypeLists Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + * + * @return builder + * + */ + public Builder resourceTypeLists(List resourceTypeLists) { + return resourceTypeLists(Output.of(resourceTypeLists)); + } + + /** + * @param resourceTypeLists Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + * + * @return builder + * + */ + public Builder resourceTypeLists(String... resourceTypeLists) { + return resourceTypeLists(List.of(resourceTypeLists)); + } + + public Builder updateToken(@Nullable Output updateToken) { + $.updateToken = updateToken; + return this; + } + + public Builder updateToken(String updateToken) { + return updateToken(Output.of(updateToken)); + } + + public ResourceSetResourceSetArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("ResourceSetResourceSetArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetState.java b/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetState.java new file mode 100644 index 00000000000..8fc6d773116 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetState.java @@ -0,0 +1,213 @@ +// *** 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.fms.inputs; + +import com.pulumi.aws.fms.inputs.ResourceSetResourceSetArgs; +import com.pulumi.aws.fms.inputs.ResourceSetTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ResourceSetState extends com.pulumi.resources.ResourceArgs { + + public static final ResourceSetState Empty = new ResourceSetState(); + + /** + * ARN of the Resource Set. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the Resource Set. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + */ + @Import(name="resourceSets") + private @Nullable Output> resourceSets; + + /** + * @return Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + */ + public Optional>> resourceSets() { + return Optional.ofNullable(this.resourceSets); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @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); + } + + private ResourceSetState() {} + + private ResourceSetState(ResourceSetState $) { + this.arn = $.arn; + this.resourceSets = $.resourceSets; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ResourceSetState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ResourceSetState $; + + public Builder() { + $ = new ResourceSetState(); + } + + public Builder(ResourceSetState defaults) { + $ = new ResourceSetState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Resource Set. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the Resource Set. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param resourceSets Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + * @return builder + * + */ + public Builder resourceSets(@Nullable Output> resourceSets) { + $.resourceSets = resourceSets; + return this; + } + + /** + * @param resourceSets Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + * @return builder + * + */ + public Builder resourceSets(List resourceSets) { + return resourceSets(Output.of(resourceSets)); + } + + /** + * @param resourceSets Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + * + * @return builder + * + */ + public Builder resourceSets(ResourceSetResourceSetArgs... resourceSets) { + return resourceSets(List.of(resourceSets)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @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(ResourceSetTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public ResourceSetState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetTimeoutsArgs.java new file mode 100644 index 00000000000..f7b1c7d9fd1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/fms/inputs/ResourceSetTimeoutsArgs.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.fms.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 ResourceSetTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ResourceSetTimeoutsArgs Empty = new ResourceSetTimeoutsArgs(); + + /** + * 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 ResourceSetTimeoutsArgs() {} + + private ResourceSetTimeoutsArgs(ResourceSetTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ResourceSetTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ResourceSetTimeoutsArgs $; + + public Builder() { + $ = new ResourceSetTimeoutsArgs(); + } + + public Builder(ResourceSetTimeoutsArgs defaults) { + $ = new ResourceSetTimeoutsArgs(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 ResourceSetTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/fms/outputs/ResourceSetResourceSet.java b/sdk/java/src/main/java/com/pulumi/aws/fms/outputs/ResourceSetResourceSet.java new file mode 100644 index 00000000000..33ba298dcde --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/fms/outputs/ResourceSetResourceSet.java @@ -0,0 +1,182 @@ +// *** 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.fms.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ResourceSetResourceSet { + /** + * @return Description of the resource set. + * + */ + private @Nullable String description; + /** + * @return Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + * + */ + private @Nullable String id; + /** + * @return Last time that the reosurce set was changed. + * + */ + private @Nullable String lastUpdateTime; + /** + * @return Descriptive name of the resource set. You can't change the name of a resource set after you create it. + * + */ + private String name; + /** + * @return Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + * + */ + private @Nullable String resourceSetStatus; + /** + * @return Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + * + */ + private @Nullable List resourceTypeLists; + private @Nullable String updateToken; + + private ResourceSetResourceSet() {} + /** + * @return Description of the resource set. + * + */ + public Optional description() { + return Optional.ofNullable(this.description); + } + /** + * @return Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + * + */ + public Optional id() { + return Optional.ofNullable(this.id); + } + /** + * @return Last time that the reosurce set was changed. + * + */ + public Optional lastUpdateTime() { + return Optional.ofNullable(this.lastUpdateTime); + } + /** + * @return Descriptive name of the resource set. You can't change the name of a resource set after you create it. + * + */ + public String name() { + return this.name; + } + /** + * @return Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + * + */ + public Optional resourceSetStatus() { + return Optional.ofNullable(this.resourceSetStatus); + } + /** + * @return Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + * + */ + public List resourceTypeLists() { + return this.resourceTypeLists == null ? List.of() : this.resourceTypeLists; + } + public Optional updateToken() { + return Optional.ofNullable(this.updateToken); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ResourceSetResourceSet defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String description; + private @Nullable String id; + private @Nullable String lastUpdateTime; + private String name; + private @Nullable String resourceSetStatus; + private @Nullable List resourceTypeLists; + private @Nullable String updateToken; + public Builder() {} + public Builder(ResourceSetResourceSet defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.id = defaults.id; + this.lastUpdateTime = defaults.lastUpdateTime; + this.name = defaults.name; + this.resourceSetStatus = defaults.resourceSetStatus; + this.resourceTypeLists = defaults.resourceTypeLists; + this.updateToken = defaults.updateToken; + } + + @CustomType.Setter + public Builder description(@Nullable String description) { + + this.description = description; + return this; + } + @CustomType.Setter + public Builder id(@Nullable String id) { + + this.id = id; + return this; + } + @CustomType.Setter + public Builder lastUpdateTime(@Nullable String lastUpdateTime) { + + this.lastUpdateTime = lastUpdateTime; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("ResourceSetResourceSet", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder resourceSetStatus(@Nullable String resourceSetStatus) { + + this.resourceSetStatus = resourceSetStatus; + return this; + } + @CustomType.Setter + public Builder resourceTypeLists(@Nullable List resourceTypeLists) { + + this.resourceTypeLists = resourceTypeLists; + return this; + } + public Builder resourceTypeLists(String... resourceTypeLists) { + return resourceTypeLists(List.of(resourceTypeLists)); + } + @CustomType.Setter + public Builder updateToken(@Nullable String updateToken) { + + this.updateToken = updateToken; + return this; + } + public ResourceSetResourceSet build() { + final var _resultValue = new ResourceSetResourceSet(); + _resultValue.description = description; + _resultValue.id = id; + _resultValue.lastUpdateTime = lastUpdateTime; + _resultValue.name = name; + _resultValue.resourceSetStatus = resourceSetStatus; + _resultValue.resourceTypeLists = resourceTypeLists; + _resultValue.updateToken = updateToken; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/fms/outputs/ResourceSetTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/fms/outputs/ResourceSetTimeouts.java new file mode 100644 index 00000000000..92cb2f00fb9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/fms/outputs/ResourceSetTimeouts.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.fms.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 ResourceSetTimeouts { + /** + * @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 ResourceSetTimeouts() {} + /** + * @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(ResourceSetTimeouts 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(ResourceSetTimeouts 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 ResourceSetTimeouts build() { + final var _resultValue = new ResourceSetTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeature.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeature.java index 6b5b405cf1a..7aaf46c1d51 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeature.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeature.java @@ -73,14 +73,14 @@ @ResourceType(type="aws:guardduty/detectorFeature:DetectorFeature") public class DetectorFeature extends com.pulumi.resources.CustomResource { /** - * Additional feature configuration block. See below. + * Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ @Export(name="additionalConfigurations", refs={List.class,DetectorFeatureAdditionalConfiguration.class}, tree="[0,1]") private Output> additionalConfigurations; /** - * @return Additional feature configuration block. See below. + * @return Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ public Output>> additionalConfigurations() { @@ -101,14 +101,14 @@ public Output detectorId() { return this.detectorId; } /** - * The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** - * @return The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * @return The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ public Output name() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeatureArgs.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeatureArgs.java index b8b024c0177..74ab6a73b6a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeatureArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/DetectorFeatureArgs.java @@ -19,14 +19,14 @@ public final class DetectorFeatureArgs extends com.pulumi.resources.ResourceArgs public static final DetectorFeatureArgs Empty = new DetectorFeatureArgs(); /** - * Additional feature configuration block. See below. + * Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ @Import(name="additionalConfigurations") private @Nullable Output> additionalConfigurations; /** - * @return Additional feature configuration block. See below. + * @return Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ public Optional>> additionalConfigurations() { @@ -49,14 +49,14 @@ public Output detectorId() { } /** - * The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ @Import(name="name") private @Nullable Output name; /** - * @return The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * @return The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ public Optional> name() { @@ -106,7 +106,7 @@ public Builder(DetectorFeatureArgs defaults) { } /** - * @param additionalConfigurations Additional feature configuration block. See below. + * @param additionalConfigurations Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * * @return builder * @@ -117,7 +117,7 @@ public Builder additionalConfigurations(@Nullable Output name) { } /** - * @param name The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * @param name The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/MalwareProtectionPlan.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/MalwareProtectionPlan.java new file mode 100644 index 00000000000..41a7740f4ea --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/MalwareProtectionPlan.java @@ -0,0 +1,244 @@ +// *** 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.guardduty; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.guardduty.MalwareProtectionPlanArgs; +import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanState; +import com.pulumi.aws.guardduty.outputs.MalwareProtectionPlanAction; +import com.pulumi.aws.guardduty.outputs.MalwareProtectionPlanProtectedResource; +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.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a resource to manage a GuardDuty malware protection plan. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.guardduty.MalwareProtectionPlan;
+ * import com.pulumi.aws.guardduty.MalwareProtectionPlanArgs;
+ * import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanProtectedResourceArgs;
+ * import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanProtectedResourceS3BucketArgs;
+ * import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanActionArgs;
+ * 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 MalwareProtectionPlan("example", MalwareProtectionPlanArgs.builder()
+ *             .role(exampleAwsIamRole.arn())
+ *             .protectedResource(MalwareProtectionPlanProtectedResourceArgs.builder()
+ *                 .s3Bucket(MalwareProtectionPlanProtectedResourceS3BucketArgs.builder()
+ *                     .bucketName(exampleAwsS3Bucket.id())
+ *                     .objectPrefixes(                    
+ *                         "example1",
+ *                         "example2")
+ *                     .build())
+ *                 .build())
+ *             .actions(MalwareProtectionPlanActionArgs.builder()
+ *                 .tagging(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
+ *                 .build())
+ *             .tags(Map.of("Name", "example"))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import GuardDuty malware protection plans using their IDs. For example: + * + * ```sh + * $ pulumi import aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan example 1234567890abcdef0123 + * ``` + * + */ +@ResourceType(type="aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan") +public class MalwareProtectionPlan extends com.pulumi.resources.CustomResource { + /** + * Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + */ + @Export(name="actions", refs={List.class,MalwareProtectionPlanAction.class}, tree="[0,1]") + private Output> actions; + + /** + * @return Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + */ + public Output> actions() { + return this.actions; + } + /** + * The ARN of the GuardDuty malware protection plan + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The ARN of the GuardDuty malware protection plan + * + */ + public Output arn() { + return this.arn; + } + /** + * The timestamp when the Malware Protection plan resource was created. + * + */ + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + /** + * @return The timestamp when the Malware Protection plan resource was created. + * + */ + public Output createdAt() { + return this.createdAt; + } + /** + * Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + */ + @Export(name="protectedResource", refs={MalwareProtectionPlanProtectedResource.class}, tree="[0]") + private Output protectedResource; + + /** + * @return Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + */ + public Output> protectedResource() { + return Codegen.optional(this.protectedResource); + } + /** + * The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + */ + @Export(name="role", refs={String.class}, tree="[0]") + private Output role; + + /** + * @return The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + */ + public Output role() { + return this.role; + } + /** + * The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + * + */ + public Output status() { + return this.status; + } + /** + * Key-value mapping 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. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Key-value mapping 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. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @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; + + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public MalwareProtectionPlan(String name) { + this(name, MalwareProtectionPlanArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public MalwareProtectionPlan(String name, MalwareProtectionPlanArgs 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 MalwareProtectionPlan(String name, MalwareProtectionPlanArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan", name, args == null ? MalwareProtectionPlanArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private MalwareProtectionPlan(String name, Output id, @Nullable MalwareProtectionPlanState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan", name, state, makeResourceOptions(options, id)); + } + + 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 MalwareProtectionPlan get(String name, Output id, @Nullable MalwareProtectionPlanState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new MalwareProtectionPlan(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/MalwareProtectionPlanArgs.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/MalwareProtectionPlanArgs.java new file mode 100644 index 00000000000..027cdeacb06 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/MalwareProtectionPlanArgs.java @@ -0,0 +1,212 @@ +// *** 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.guardduty; + +import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanActionArgs; +import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanProtectedResourceArgs; +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.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MalwareProtectionPlanArgs extends com.pulumi.resources.ResourceArgs { + + public static final MalwareProtectionPlanArgs Empty = new MalwareProtectionPlanArgs(); + + /** + * Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + */ + @Import(name="actions") + private @Nullable Output> actions; + + /** + * @return Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + */ + public Optional>> actions() { + return Optional.ofNullable(this.actions); + } + + /** + * Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + */ + @Import(name="protectedResource") + private @Nullable Output protectedResource; + + /** + * @return Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + */ + public Optional> protectedResource() { + return Optional.ofNullable(this.protectedResource); + } + + /** + * The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + */ + @Import(name="role", required=true) + private Output role; + + /** + * @return The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + */ + public Output role() { + return this.role; + } + + /** + * Key-value mapping 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value mapping 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. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private MalwareProtectionPlanArgs() {} + + private MalwareProtectionPlanArgs(MalwareProtectionPlanArgs $) { + this.actions = $.actions; + this.protectedResource = $.protectedResource; + this.role = $.role; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MalwareProtectionPlanArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MalwareProtectionPlanArgs $; + + public Builder() { + $ = new MalwareProtectionPlanArgs(); + } + + public Builder(MalwareProtectionPlanArgs defaults) { + $ = new MalwareProtectionPlanArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param actions Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + * @return builder + * + */ + public Builder actions(@Nullable Output> actions) { + $.actions = actions; + return this; + } + + /** + * @param actions Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + * @return builder + * + */ + public Builder actions(List actions) { + return actions(Output.of(actions)); + } + + /** + * @param actions Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + * @return builder + * + */ + public Builder actions(MalwareProtectionPlanActionArgs... actions) { + return actions(List.of(actions)); + } + + /** + * @param protectedResource Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + * @return builder + * + */ + public Builder protectedResource(@Nullable Output protectedResource) { + $.protectedResource = protectedResource; + return this; + } + + /** + * @param protectedResource Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + * @return builder + * + */ + public Builder protectedResource(MalwareProtectionPlanProtectedResourceArgs protectedResource) { + return protectedResource(Output.of(protectedResource)); + } + + /** + * @param role The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + * @return builder + * + */ + public Builder role(Output role) { + $.role = role; + return this; + } + + /** + * @param role The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + * @return builder + * + */ + public Builder role(String role) { + return role(Output.of(role)); + } + + /** + * @param tags Key-value mapping 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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping 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. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public MalwareProtectionPlanArgs build() { + if ($.role == null) { + throw new MissingRequiredPropertyException("MalwareProtectionPlanArgs", "role"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeature.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeature.java index 3b3c676f8b3..4a2122ae2c1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeature.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeature.java @@ -73,14 +73,14 @@ @ResourceType(type="aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature") public class OrganizationConfigurationFeature extends com.pulumi.resources.CustomResource { /** - * The additional information that will be configured for the organization See below. + * Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ @Export(name="additionalConfigurations", refs={List.class,OrganizationConfigurationFeatureAdditionalConfiguration.class}, tree="[0,1]") private Output> additionalConfigurations; /** - * @return The additional information that will be configured for the organization See below. + * @return Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ public Output>> additionalConfigurations() { @@ -115,14 +115,14 @@ public Output detectorId() { return this.detectorId; } /** - * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** - * @return The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * @return The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ public Output name() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeatureArgs.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeatureArgs.java index 59d7193275a..d7c2bf6e661 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeatureArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/OrganizationConfigurationFeatureArgs.java @@ -19,14 +19,14 @@ public final class OrganizationConfigurationFeatureArgs extends com.pulumi.resou public static final OrganizationConfigurationFeatureArgs Empty = new OrganizationConfigurationFeatureArgs(); /** - * The additional information that will be configured for the organization See below. + * Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ @Import(name="additionalConfigurations") private @Nullable Output> additionalConfigurations; /** - * @return The additional information that will be configured for the organization See below. + * @return Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ public Optional>> additionalConfigurations() { @@ -64,14 +64,14 @@ public Output detectorId() { } /** - * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ @Import(name="name") private @Nullable Output name; /** - * @return The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * @return The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ public Optional> name() { @@ -106,7 +106,7 @@ public Builder(OrganizationConfigurationFeatureArgs defaults) { } /** - * @param additionalConfigurations The additional information that will be configured for the organization See below. + * @param additionalConfigurations Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * * @return builder * @@ -117,7 +117,7 @@ public Builder additionalConfigurations(@Nullable Output name) { } /** - * @param name The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * @param name The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/DetectorFeatureAdditionalConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/DetectorFeatureAdditionalConfigurationArgs.java index 80335d3b441..e8615d6db9f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/DetectorFeatureAdditionalConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/DetectorFeatureAdditionalConfigurationArgs.java @@ -15,14 +15,14 @@ public final class DetectorFeatureAdditionalConfigurationArgs extends com.pulumi public static final DetectorFeatureAdditionalConfigurationArgs Empty = new DetectorFeatureAdditionalConfigurationArgs(); /** - * The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + * The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * */ @Import(name="name", required=true) private Output name; /** - * @return The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + * @return The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * */ public Output name() { @@ -70,7 +70,7 @@ public Builder(DetectorFeatureAdditionalConfigurationArgs defaults) { } /** - * @param name The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + * @param name The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * * @return builder * @@ -81,7 +81,7 @@ public Builder name(Output name) { } /** - * @param name The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + * @param name The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/DetectorFeatureState.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/DetectorFeatureState.java index c72e21e4904..2b2df6a6019 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/DetectorFeatureState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/DetectorFeatureState.java @@ -18,14 +18,14 @@ public final class DetectorFeatureState extends com.pulumi.resources.ResourceArg public static final DetectorFeatureState Empty = new DetectorFeatureState(); /** - * Additional feature configuration block. See below. + * Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ @Import(name="additionalConfigurations") private @Nullable Output> additionalConfigurations; /** - * @return Additional feature configuration block. See below. + * @return Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ public Optional>> additionalConfigurations() { @@ -48,14 +48,14 @@ public Optional> detectorId() { } /** - * The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ @Import(name="name") private @Nullable Output name; /** - * @return The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * @return The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ public Optional> name() { @@ -105,7 +105,7 @@ public Builder(DetectorFeatureState defaults) { } /** - * @param additionalConfigurations Additional feature configuration block. See below. + * @param additionalConfigurations Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * * @return builder * @@ -116,7 +116,7 @@ public Builder additionalConfigurations(@Nullable Output name) { } /** - * @param name The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * @param name The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanActionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanActionArgs.java new file mode 100644 index 00000000000..703654893d6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanActionArgs.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.guardduty.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Object; +import java.util.List; +import java.util.Objects; + + +public final class MalwareProtectionPlanActionArgs extends com.pulumi.resources.ResourceArgs { + + public static final MalwareProtectionPlanActionArgs Empty = new MalwareProtectionPlanActionArgs(); + + /** + * Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + * + */ + @Import(name="taggings", required=true) + private Output> taggings; + + /** + * @return Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + * + */ + public Output> taggings() { + return this.taggings; + } + + private MalwareProtectionPlanActionArgs() {} + + private MalwareProtectionPlanActionArgs(MalwareProtectionPlanActionArgs $) { + this.taggings = $.taggings; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MalwareProtectionPlanActionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MalwareProtectionPlanActionArgs $; + + public Builder() { + $ = new MalwareProtectionPlanActionArgs(); + } + + public Builder(MalwareProtectionPlanActionArgs defaults) { + $ = new MalwareProtectionPlanActionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param taggings Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + * + * @return builder + * + */ + public Builder taggings(Output> taggings) { + $.taggings = taggings; + return this; + } + + /** + * @param taggings Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + * + * @return builder + * + */ + public Builder taggings(List taggings) { + return taggings(Output.of(taggings)); + } + + /** + * @param taggings Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + * + * @return builder + * + */ + public Builder taggings(Object... taggings) { + return taggings(List.of(taggings)); + } + + public MalwareProtectionPlanActionArgs build() { + if ($.taggings == null) { + throw new MissingRequiredPropertyException("MalwareProtectionPlanActionArgs", "taggings"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanProtectedResourceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanProtectedResourceArgs.java new file mode 100644 index 00000000000..4494f77de75 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanProtectedResourceArgs.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.guardduty.inputs; + +import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanProtectedResourceS3BucketArgs; +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 MalwareProtectionPlanProtectedResourceArgs extends com.pulumi.resources.ResourceArgs { + + public static final MalwareProtectionPlanProtectedResourceArgs Empty = new MalwareProtectionPlanProtectedResourceArgs(); + + /** + * Information about the protected S3 bucket resource. See `s3_bucket` below. + * + */ + @Import(name="s3Bucket") + private @Nullable Output s3Bucket; + + /** + * @return Information about the protected S3 bucket resource. See `s3_bucket` below. + * + */ + public Optional> s3Bucket() { + return Optional.ofNullable(this.s3Bucket); + } + + private MalwareProtectionPlanProtectedResourceArgs() {} + + private MalwareProtectionPlanProtectedResourceArgs(MalwareProtectionPlanProtectedResourceArgs $) { + this.s3Bucket = $.s3Bucket; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MalwareProtectionPlanProtectedResourceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MalwareProtectionPlanProtectedResourceArgs $; + + public Builder() { + $ = new MalwareProtectionPlanProtectedResourceArgs(); + } + + public Builder(MalwareProtectionPlanProtectedResourceArgs defaults) { + $ = new MalwareProtectionPlanProtectedResourceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param s3Bucket Information about the protected S3 bucket resource. See `s3_bucket` below. + * + * @return builder + * + */ + public Builder s3Bucket(@Nullable Output s3Bucket) { + $.s3Bucket = s3Bucket; + return this; + } + + /** + * @param s3Bucket Information about the protected S3 bucket resource. See `s3_bucket` below. + * + * @return builder + * + */ + public Builder s3Bucket(MalwareProtectionPlanProtectedResourceS3BucketArgs s3Bucket) { + return s3Bucket(Output.of(s3Bucket)); + } + + public MalwareProtectionPlanProtectedResourceArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanProtectedResourceS3BucketArgs.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanProtectedResourceS3BucketArgs.java new file mode 100644 index 00000000000..0e6aca77aa2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanProtectedResourceS3BucketArgs.java @@ -0,0 +1,135 @@ +// *** 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.guardduty.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MalwareProtectionPlanProtectedResourceS3BucketArgs extends com.pulumi.resources.ResourceArgs { + + public static final MalwareProtectionPlanProtectedResourceS3BucketArgs Empty = new MalwareProtectionPlanProtectedResourceS3BucketArgs(); + + /** + * Name of the S3 bucket. + * + */ + @Import(name="bucketName", required=true) + private Output bucketName; + + /** + * @return Name of the S3 bucket. + * + */ + public Output bucketName() { + return this.bucketName; + } + + /** + * The list of object prefixes that specify the S3 objects that will be scanned. + * + */ + @Import(name="objectPrefixes") + private @Nullable Output> objectPrefixes; + + /** + * @return The list of object prefixes that specify the S3 objects that will be scanned. + * + */ + public Optional>> objectPrefixes() { + return Optional.ofNullable(this.objectPrefixes); + } + + private MalwareProtectionPlanProtectedResourceS3BucketArgs() {} + + private MalwareProtectionPlanProtectedResourceS3BucketArgs(MalwareProtectionPlanProtectedResourceS3BucketArgs $) { + this.bucketName = $.bucketName; + this.objectPrefixes = $.objectPrefixes; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MalwareProtectionPlanProtectedResourceS3BucketArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MalwareProtectionPlanProtectedResourceS3BucketArgs $; + + public Builder() { + $ = new MalwareProtectionPlanProtectedResourceS3BucketArgs(); + } + + public Builder(MalwareProtectionPlanProtectedResourceS3BucketArgs defaults) { + $ = new MalwareProtectionPlanProtectedResourceS3BucketArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bucketName Name of the S3 bucket. + * + * @return builder + * + */ + public Builder bucketName(Output bucketName) { + $.bucketName = bucketName; + return this; + } + + /** + * @param bucketName Name of the S3 bucket. + * + * @return builder + * + */ + public Builder bucketName(String bucketName) { + return bucketName(Output.of(bucketName)); + } + + /** + * @param objectPrefixes The list of object prefixes that specify the S3 objects that will be scanned. + * + * @return builder + * + */ + public Builder objectPrefixes(@Nullable Output> objectPrefixes) { + $.objectPrefixes = objectPrefixes; + return this; + } + + /** + * @param objectPrefixes The list of object prefixes that specify the S3 objects that will be scanned. + * + * @return builder + * + */ + public Builder objectPrefixes(List objectPrefixes) { + return objectPrefixes(Output.of(objectPrefixes)); + } + + /** + * @param objectPrefixes The list of object prefixes that specify the S3 objects that will be scanned. + * + * @return builder + * + */ + public Builder objectPrefixes(String... objectPrefixes) { + return objectPrefixes(List.of(objectPrefixes)); + } + + public MalwareProtectionPlanProtectedResourceS3BucketArgs build() { + if ($.bucketName == null) { + throw new MissingRequiredPropertyException("MalwareProtectionPlanProtectedResourceS3BucketArgs", "bucketName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanState.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanState.java new file mode 100644 index 00000000000..9157507d69e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/MalwareProtectionPlanState.java @@ -0,0 +1,364 @@ +// *** 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.guardduty.inputs; + +import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanActionArgs; +import com.pulumi.aws.guardduty.inputs.MalwareProtectionPlanProtectedResourceArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MalwareProtectionPlanState extends com.pulumi.resources.ResourceArgs { + + public static final MalwareProtectionPlanState Empty = new MalwareProtectionPlanState(); + + /** + * Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + */ + @Import(name="actions") + private @Nullable Output> actions; + + /** + * @return Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + */ + public Optional>> actions() { + return Optional.ofNullable(this.actions); + } + + /** + * The ARN of the GuardDuty malware protection plan + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The ARN of the GuardDuty malware protection plan + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The timestamp when the Malware Protection plan resource was created. + * + */ + @Import(name="createdAt") + private @Nullable Output createdAt; + + /** + * @return The timestamp when the Malware Protection plan resource was created. + * + */ + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + */ + @Import(name="protectedResource") + private @Nullable Output protectedResource; + + /** + * @return Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + */ + public Optional> protectedResource() { + return Optional.ofNullable(this.protectedResource); + } + + /** + * The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + */ + @Import(name="role") + private @Nullable Output role; + + /** + * @return The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + */ + public Optional> role() { + return Optional.ofNullable(this.role); + } + + /** + * The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * Key-value mapping 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. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value mapping 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. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private MalwareProtectionPlanState() {} + + private MalwareProtectionPlanState(MalwareProtectionPlanState $) { + this.actions = $.actions; + this.arn = $.arn; + this.createdAt = $.createdAt; + this.protectedResource = $.protectedResource; + this.role = $.role; + this.status = $.status; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MalwareProtectionPlanState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MalwareProtectionPlanState $; + + public Builder() { + $ = new MalwareProtectionPlanState(); + } + + public Builder(MalwareProtectionPlanState defaults) { + $ = new MalwareProtectionPlanState(Objects.requireNonNull(defaults)); + } + + /** + * @param actions Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + * @return builder + * + */ + public Builder actions(@Nullable Output> actions) { + $.actions = actions; + return this; + } + + /** + * @param actions Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + * @return builder + * + */ + public Builder actions(List actions) { + return actions(Output.of(actions)); + } + + /** + * @param actions Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + * + * @return builder + * + */ + public Builder actions(MalwareProtectionPlanActionArgs... actions) { + return actions(List.of(actions)); + } + + /** + * @param arn The ARN of the GuardDuty malware protection plan + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The ARN of the GuardDuty malware protection plan + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param createdAt The timestamp when the Malware Protection plan resource was created. + * + * @return builder + * + */ + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + /** + * @param createdAt The timestamp when the Malware Protection plan resource was created. + * + * @return builder + * + */ + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param protectedResource Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + * @return builder + * + */ + public Builder protectedResource(@Nullable Output protectedResource) { + $.protectedResource = protectedResource; + return this; + } + + /** + * @param protectedResource Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + * + * @return builder + * + */ + public Builder protectedResource(MalwareProtectionPlanProtectedResourceArgs protectedResource) { + return protectedResource(Output.of(protectedResource)); + } + + /** + * @param role The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + * @return builder + * + */ + public Builder role(@Nullable Output role) { + $.role = role; + return this; + } + + /** + * @param role The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + * + * @return builder + * + */ + public Builder role(String role) { + return role(Output.of(role)); + } + + /** + * @param status The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param tags Key-value mapping 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. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping 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. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public MalwareProtectionPlanState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/OrganizationConfigurationFeatureAdditionalConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/OrganizationConfigurationFeatureAdditionalConfigurationArgs.java index eab8bdde30e..d1523ff3f8d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/OrganizationConfigurationFeatureAdditionalConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/OrganizationConfigurationFeatureAdditionalConfigurationArgs.java @@ -30,14 +30,14 @@ public Output autoEnable() { } /** - * The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + * The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * */ @Import(name="name", required=true) private Output name; /** - * @return The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + * @return The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * */ public Output name() { @@ -91,7 +91,7 @@ public Builder autoEnable(String autoEnable) { } /** - * @param name The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + * @param name The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * * @return builder * @@ -102,7 +102,7 @@ public Builder name(Output name) { } /** - * @param name The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + * @param name The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/OrganizationConfigurationFeatureState.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/OrganizationConfigurationFeatureState.java index bece23cbadd..58416751849 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/OrganizationConfigurationFeatureState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/inputs/OrganizationConfigurationFeatureState.java @@ -18,14 +18,14 @@ public final class OrganizationConfigurationFeatureState extends com.pulumi.reso public static final OrganizationConfigurationFeatureState Empty = new OrganizationConfigurationFeatureState(); /** - * The additional information that will be configured for the organization See below. + * Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ @Import(name="additionalConfigurations") private @Nullable Output> additionalConfigurations; /** - * @return The additional information that will be configured for the organization See below. + * @return Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * */ public Optional>> additionalConfigurations() { @@ -63,14 +63,14 @@ public Optional> detectorId() { } /** - * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ @Import(name="name") private @Nullable Output name; /** - * @return The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * @return The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * */ public Optional> name() { @@ -105,7 +105,7 @@ public Builder(OrganizationConfigurationFeatureState defaults) { } /** - * @param additionalConfigurations The additional information that will be configured for the organization See below. + * @param additionalConfigurations Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. * * @return builder * @@ -116,7 +116,7 @@ public Builder additionalConfigurations(@Nullable Output name) { } /** - * @param name The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * @param name The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/DetectorFeatureAdditionalConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/DetectorFeatureAdditionalConfiguration.java index ff966bd8c1e..4cf9119fa28 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/DetectorFeatureAdditionalConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/DetectorFeatureAdditionalConfiguration.java @@ -11,7 +11,7 @@ @CustomType public final class DetectorFeatureAdditionalConfiguration { /** - * @return The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + * @return The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * */ private String name; @@ -23,7 +23,7 @@ public final class DetectorFeatureAdditionalConfiguration { private DetectorFeatureAdditionalConfiguration() {} /** - * @return The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + * @return The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * */ public String name() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanAction.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanAction.java new file mode 100644 index 00000000000..725aaca38a4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanAction.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.guardduty.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Object; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class MalwareProtectionPlanAction { + /** + * @return Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + * + */ + private List taggings; + + private MalwareProtectionPlanAction() {} + /** + * @return Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + * + */ + public List taggings() { + return this.taggings; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MalwareProtectionPlanAction defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List taggings; + public Builder() {} + public Builder(MalwareProtectionPlanAction defaults) { + Objects.requireNonNull(defaults); + this.taggings = defaults.taggings; + } + + @CustomType.Setter + public Builder taggings(List taggings) { + if (taggings == null) { + throw new MissingRequiredPropertyException("MalwareProtectionPlanAction", "taggings"); + } + this.taggings = taggings; + return this; + } + public Builder taggings(Object... taggings) { + return taggings(List.of(taggings)); + } + public MalwareProtectionPlanAction build() { + final var _resultValue = new MalwareProtectionPlanAction(); + _resultValue.taggings = taggings; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanProtectedResource.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanProtectedResource.java new file mode 100644 index 00000000000..472f4c36f2b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanProtectedResource.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.guardduty.outputs; + +import com.pulumi.aws.guardduty.outputs.MalwareProtectionPlanProtectedResourceS3Bucket; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MalwareProtectionPlanProtectedResource { + /** + * @return Information about the protected S3 bucket resource. See `s3_bucket` below. + * + */ + private @Nullable MalwareProtectionPlanProtectedResourceS3Bucket s3Bucket; + + private MalwareProtectionPlanProtectedResource() {} + /** + * @return Information about the protected S3 bucket resource. See `s3_bucket` below. + * + */ + public Optional s3Bucket() { + return Optional.ofNullable(this.s3Bucket); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MalwareProtectionPlanProtectedResource defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable MalwareProtectionPlanProtectedResourceS3Bucket s3Bucket; + public Builder() {} + public Builder(MalwareProtectionPlanProtectedResource defaults) { + Objects.requireNonNull(defaults); + this.s3Bucket = defaults.s3Bucket; + } + + @CustomType.Setter + public Builder s3Bucket(@Nullable MalwareProtectionPlanProtectedResourceS3Bucket s3Bucket) { + + this.s3Bucket = s3Bucket; + return this; + } + public MalwareProtectionPlanProtectedResource build() { + final var _resultValue = new MalwareProtectionPlanProtectedResource(); + _resultValue.s3Bucket = s3Bucket; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanProtectedResourceS3Bucket.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanProtectedResourceS3Bucket.java new file mode 100644 index 00000000000..8ddfafa4e2e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/MalwareProtectionPlanProtectedResourceS3Bucket.java @@ -0,0 +1,84 @@ +// *** 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.guardduty.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class MalwareProtectionPlanProtectedResourceS3Bucket { + /** + * @return Name of the S3 bucket. + * + */ + private String bucketName; + /** + * @return The list of object prefixes that specify the S3 objects that will be scanned. + * + */ + private @Nullable List objectPrefixes; + + private MalwareProtectionPlanProtectedResourceS3Bucket() {} + /** + * @return Name of the S3 bucket. + * + */ + public String bucketName() { + return this.bucketName; + } + /** + * @return The list of object prefixes that specify the S3 objects that will be scanned. + * + */ + public List objectPrefixes() { + return this.objectPrefixes == null ? List.of() : this.objectPrefixes; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MalwareProtectionPlanProtectedResourceS3Bucket defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String bucketName; + private @Nullable List objectPrefixes; + public Builder() {} + public Builder(MalwareProtectionPlanProtectedResourceS3Bucket defaults) { + Objects.requireNonNull(defaults); + this.bucketName = defaults.bucketName; + this.objectPrefixes = defaults.objectPrefixes; + } + + @CustomType.Setter + public Builder bucketName(String bucketName) { + if (bucketName == null) { + throw new MissingRequiredPropertyException("MalwareProtectionPlanProtectedResourceS3Bucket", "bucketName"); + } + this.bucketName = bucketName; + return this; + } + @CustomType.Setter + public Builder objectPrefixes(@Nullable List objectPrefixes) { + + this.objectPrefixes = objectPrefixes; + return this; + } + public Builder objectPrefixes(String... objectPrefixes) { + return objectPrefixes(List.of(objectPrefixes)); + } + public MalwareProtectionPlanProtectedResourceS3Bucket build() { + final var _resultValue = new MalwareProtectionPlanProtectedResourceS3Bucket(); + _resultValue.bucketName = bucketName; + _resultValue.objectPrefixes = objectPrefixes; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/OrganizationConfigurationFeatureAdditionalConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/OrganizationConfigurationFeatureAdditionalConfiguration.java index 07435419860..78627975570 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/OrganizationConfigurationFeatureAdditionalConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/outputs/OrganizationConfigurationFeatureAdditionalConfiguration.java @@ -16,7 +16,7 @@ public final class OrganizationConfigurationFeatureAdditionalConfiguration { */ private String autoEnable; /** - * @return The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + * @return The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * */ private String name; @@ -30,7 +30,7 @@ public String autoEnable() { return this.autoEnable; } /** - * @return The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + * @return The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. * */ public String name() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java index a41f02b3f58..8cde8066a70 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java @@ -714,6 +714,20 @@ public Output endpoint() { public Output engineVersion() { return this.engineVersion; } + /** + * The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + */ + @Export(name="ipAddressType", refs={String.class}, tree="[0]") + private Output ipAddressType; + + /** + * @return The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + */ + public Output ipAddressType() { + return this.ipAddressType; + } /** * (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainArgs.java index 01053da68ae..0bd4042e34c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainArgs.java @@ -203,6 +203,21 @@ public Optional> engineVersion() { return Optional.ofNullable(this.engineVersion); } + /** + * The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + */ + @Import(name="ipAddressType") + private @Nullable Output ipAddressType; + + /** + * @return The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + */ + public Optional> ipAddressType() { + return Optional.ofNullable(this.ipAddressType); + } + /** * Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. * @@ -322,6 +337,7 @@ private DomainArgs(DomainArgs $) { this.ebsOptions = $.ebsOptions; this.encryptAtRest = $.encryptAtRest; this.engineVersion = $.engineVersion; + this.ipAddressType = $.ipAddressType; this.logPublishingOptions = $.logPublishingOptions; this.nodeToNodeEncryption = $.nodeToNodeEncryption; this.offPeakWindowOptions = $.offPeakWindowOptions; @@ -588,6 +604,27 @@ public Builder engineVersion(String engineVersion) { return engineVersion(Output.of(engineVersion)); } + /** + * @param ipAddressType The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + * @return builder + * + */ + public Builder ipAddressType(@Nullable Output ipAddressType) { + $.ipAddressType = ipAddressType; + return this; + } + + /** + * @param ipAddressType The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + * @return builder + * + */ + public Builder ipAddressType(String ipAddressType) { + return ipAddressType(Output.of(ipAddressType)); + } + /** * @param logPublishingOptions Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainState.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainState.java index 214c12769f7..899c5f05c22 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainState.java @@ -263,6 +263,21 @@ public Optional> engineVersion() { return Optional.ofNullable(this.engineVersion); } + /** + * The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + */ + @Import(name="ipAddressType") + private @Nullable Output ipAddressType; + + /** + * @return The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + */ + public Optional> ipAddressType() { + return Optional.ofNullable(this.ipAddressType); + } + /** * (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. * @@ -432,6 +447,7 @@ private DomainState(DomainState $) { this.encryptAtRest = $.encryptAtRest; this.endpoint = $.endpoint; this.engineVersion = $.engineVersion; + this.ipAddressType = $.ipAddressType; this.kibanaEndpoint = $.kibanaEndpoint; this.logPublishingOptions = $.logPublishingOptions; this.nodeToNodeEncryption = $.nodeToNodeEncryption; @@ -784,6 +800,27 @@ public Builder engineVersion(String engineVersion) { return engineVersion(Output.of(engineVersion)); } + /** + * @param ipAddressType The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + * @return builder + * + */ + public Builder ipAddressType(@Nullable Output ipAddressType) { + $.ipAddressType = ipAddressType; + return this; + } + + /** + * @param ipAddressType The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + * + * @return builder + * + */ + public Builder ipAddressType(String ipAddressType) { + return ipAddressType(Output.of(ipAddressType)); + } + /** * @param kibanaEndpoint (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainResult.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainResult.java index 7edad7a13e5..dc9e9a2937d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainResult.java @@ -108,6 +108,11 @@ public final class GetDomainResult { * */ private String id; + /** + * @return Type of IP addresses supported by the endpoint for the domain. + * + */ + private String ipAddressType; /** * @return (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. * @@ -274,6 +279,13 @@ public String engineVersion() { public String id() { return this.id; } + /** + * @return Type of IP addresses supported by the endpoint for the domain. + * + */ + public String ipAddressType() { + return this.ipAddressType; + } /** * @return (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. * @@ -368,6 +380,7 @@ public static final class Builder { private String endpoint; private String engineVersion; private String id; + private String ipAddressType; private String kibanaEndpoint; private List logPublishingOptions; private List nodeToNodeEncryptions; @@ -397,6 +410,7 @@ public Builder(GetDomainResult defaults) { this.endpoint = defaults.endpoint; this.engineVersion = defaults.engineVersion; this.id = defaults.id; + this.ipAddressType = defaults.ipAddressType; this.kibanaEndpoint = defaults.kibanaEndpoint; this.logPublishingOptions = defaults.logPublishingOptions; this.nodeToNodeEncryptions = defaults.nodeToNodeEncryptions; @@ -563,6 +577,14 @@ public Builder id(String id) { return this; } @CustomType.Setter + public Builder ipAddressType(String ipAddressType) { + if (ipAddressType == null) { + throw new MissingRequiredPropertyException("GetDomainResult", "ipAddressType"); + } + this.ipAddressType = ipAddressType; + return this; + } + @CustomType.Setter public Builder kibanaEndpoint(String kibanaEndpoint) { if (kibanaEndpoint == null) { throw new MissingRequiredPropertyException("GetDomainResult", "kibanaEndpoint"); @@ -666,6 +688,7 @@ public GetDomainResult build() { _resultValue.endpoint = endpoint; _resultValue.engineVersion = engineVersion; _resultValue.id = id; + _resultValue.ipAddressType = ipAddressType; _resultValue.kibanaEndpoint = kibanaEndpoint; _resultValue.logPublishingOptions = logPublishingOptions; _resultValue.nodeToNodeEncryptions = nodeToNodeEncryptions; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/AccountAssignment.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/AccountAssignment.java index ec01f6add9f..e3415ea95e7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/AccountAssignment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/AccountAssignment.java @@ -125,7 +125,7 @@ * .build()); * * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() - * .identityStoreId(ssoInstance.identityStoreIds()[0]) + * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) * .displayName("Admin") * .description("Admin Group") * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ManagedPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ManagedPolicyAttachment.java index 64745d7bd3f..9711af62c3c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ManagedPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/ManagedPolicyAttachment.java @@ -110,7 +110,7 @@ * .build()); * * var exampleGroup = new Group("exampleGroup", GroupArgs.builder() - * .identityStoreId(ssoInstance.identityStoreIds()[0]) + * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) * .displayName("Admin") * .description("Admin Group") * .build()); diff --git a/sdk/nodejs/appfabric/appAuthorization.ts b/sdk/nodejs/appfabric/appAuthorization.ts new file mode 100644 index 00000000000..f21d3446221 --- /dev/null +++ b/sdk/nodejs/appfabric/appAuthorization.ts @@ -0,0 +1,237 @@ +// *** 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 AppFabric App Authorization. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.appfabric.AppAuthorization("example", { + * app: "TERRAFORMCLOUD", + * appBundleArn: arn, + * authType: "apiKey", + * credential: { + * apiKeyCredentials: [{ + * apiKey: "exampleapikeytoken", + * }], + * }, + * tenants: [{ + * tenantDisplayName: "example", + * tenantIdentifier: "example", + * }], + * }); + * ``` + */ +export class AppAuthorization extends pulumi.CustomResource { + /** + * Get an existing AppAuthorization 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?: AppAuthorizationState, opts?: pulumi.CustomResourceOptions): AppAuthorization { + return new AppAuthorization(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:appfabric/appAuthorization:AppAuthorization'; + + /** + * Returns true if the given object is an instance of AppAuthorization. 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 AppAuthorization { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AppAuthorization.__pulumiType; + } + + /** + * The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + */ + public readonly app!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the app bundle to use for the request. + */ + public readonly appBundleArn!: pulumi.Output; + /** + * ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The authorization type for the app authorization valid values are oauth2 and apiKey. + */ + public readonly authType!: pulumi.Output; + /** + * The application URL for the OAuth flow. + */ + public /*out*/ readonly authUrl!: pulumi.Output; + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + */ + public readonly credential!: pulumi.Output; + /** + * The user persona of the app authorization. + */ + public /*out*/ readonly persona!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * Contains information about an application tenant, such as the application display name and identifier. + */ + public readonly tenants!: pulumi.Output; + public readonly timeouts!: pulumi.Output; + public /*out*/ readonly updatedAt!: pulumi.Output; + + /** + * Create a AppAuthorization 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: AppAuthorizationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AppAuthorizationArgs | AppAuthorizationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AppAuthorizationState | undefined; + resourceInputs["app"] = state ? state.app : undefined; + resourceInputs["appBundleArn"] = state ? state.appBundleArn : undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["authType"] = state ? state.authType : undefined; + resourceInputs["authUrl"] = state ? state.authUrl : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["credential"] = state ? state.credential : undefined; + resourceInputs["persona"] = state ? state.persona : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["tenants"] = state ? state.tenants : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; + } else { + const args = argsOrState as AppAuthorizationArgs | undefined; + if ((!args || args.app === undefined) && !opts.urn) { + throw new Error("Missing required property 'app'"); + } + if ((!args || args.appBundleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'appBundleArn'"); + } + if ((!args || args.authType === undefined) && !opts.urn) { + throw new Error("Missing required property 'authType'"); + } + resourceInputs["app"] = args ? args.app : undefined; + resourceInputs["appBundleArn"] = args ? args.appBundleArn : undefined; + resourceInputs["authType"] = args ? args.authType : undefined; + resourceInputs["credential"] = args ? args.credential : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tenants"] = args ? args.tenants : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["authUrl"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["persona"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + resourceInputs["updatedAt"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AppAuthorization.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AppAuthorization resources. + */ +export interface AppAuthorizationState { + /** + * The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + */ + app?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the app bundle to use for the request. + */ + appBundleArn?: pulumi.Input; + /** + * ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + */ + arn?: pulumi.Input; + /** + * The authorization type for the app authorization valid values are oauth2 and apiKey. + */ + authType?: pulumi.Input; + /** + * The application URL for the OAuth flow. + */ + authUrl?: pulumi.Input; + createdAt?: pulumi.Input; + /** + * Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + */ + credential?: pulumi.Input; + /** + * The user persona of the app authorization. + */ + persona?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Contains information about an application tenant, such as the application display name and identifier. + */ + tenants?: pulumi.Input[]>; + timeouts?: pulumi.Input; + updatedAt?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AppAuthorization resource. + */ +export interface AppAuthorizationArgs { + /** + * The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + */ + app: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the app bundle to use for the request. + */ + appBundleArn: pulumi.Input; + /** + * The authorization type for the app authorization valid values are oauth2 and apiKey. + */ + authType: pulumi.Input; + /** + * Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + * Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + */ + credential?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Contains information about an application tenant, such as the application display name and identifier. + */ + tenants?: pulumi.Input[]>; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/appfabric/appBundle.ts b/sdk/nodejs/appfabric/appBundle.ts new file mode 100644 index 00000000000..a5102391066 --- /dev/null +++ b/sdk/nodejs/appfabric/appBundle.ts @@ -0,0 +1,146 @@ +// *** 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 utilities from "../utilities"; + +/** + * Resource for managing an AWS AppFabric AppBundle. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.appfabric.AppBundle("example", { + * customerManagedKeyArn: exampleAwmsKmsKey.arn, + * tags: { + * Environment: "test", + * }, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import AppFabric AppBundle using the `arn`. For example: + * + * ```sh + * $ pulumi import aws:appfabric/appBundle:AppBundle example arn:aws:appfabric:[region]:[account]:appbundle/ee5587b4-5765-4288-a202-xxxxxxxxxx + * ``` + */ +export class AppBundle extends pulumi.CustomResource { + /** + * Get an existing AppBundle 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?: AppBundleState, opts?: pulumi.CustomResourceOptions): AppBundle { + return new AppBundle(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:appfabric/appBundle:AppBundle'; + + /** + * Returns true if the given object is an instance of AppBundle. 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 AppBundle { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AppBundle.__pulumiType; + } + + /** + * ARN of the AppBundle. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + */ + public readonly customerManagedKeyArn!: pulumi.Output; + /** + * 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. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * 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}>; + + /** + * Create a AppBundle 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?: AppBundleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AppBundleArgs | AppBundleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AppBundleState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["customerManagedKeyArn"] = state ? state.customerManagedKeyArn : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as AppBundleArgs | undefined; + resourceInputs["customerManagedKeyArn"] = args ? args.customerManagedKeyArn : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AppBundle.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AppBundle resources. + */ +export interface AppBundleState { + /** + * ARN of the AppBundle. + */ + arn?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + */ + customerManagedKeyArn?: pulumi.Input; + /** + * 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.Input<{[key: string]: pulumi.Input}>; + /** + * 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}>; +} + +/** + * The set of arguments for constructing a AppBundle resource. + */ +export interface AppBundleArgs { + /** + * The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + */ + customerManagedKeyArn?: pulumi.Input; + /** + * 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.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/appfabric/index.ts b/sdk/nodejs/appfabric/index.ts new file mode 100644 index 00000000000..da8379b3017 --- /dev/null +++ b/sdk/nodejs/appfabric/index.ts @@ -0,0 +1,33 @@ +// *** 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 utilities from "../utilities"; + +// Export members: +export { AppAuthorizationArgs, AppAuthorizationState } from "./appAuthorization"; +export type AppAuthorization = import("./appAuthorization").AppAuthorization; +export const AppAuthorization: typeof import("./appAuthorization").AppAuthorization = null as any; +utilities.lazyLoad(exports, ["AppAuthorization"], () => require("./appAuthorization")); + +export { AppBundleArgs, AppBundleState } from "./appBundle"; +export type AppBundle = import("./appBundle").AppBundle; +export const AppBundle: typeof import("./appBundle").AppBundle = null as any; +utilities.lazyLoad(exports, ["AppBundle"], () => require("./appBundle")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws:appfabric/appAuthorization:AppAuthorization": + return new AppAuthorization(name, undefined, { urn }) + case "aws:appfabric/appBundle:AppBundle": + return new AppBundle(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws", "appfabric/appAuthorization", _module) +pulumi.runtime.registerResourceModule("aws", "appfabric/appBundle", _module) diff --git a/sdk/nodejs/codebuild/project.ts b/sdk/nodejs/codebuild/project.ts index 6e634f3f871..21ab948cfd3 100644 --- a/sdk/nodejs/codebuild/project.ts +++ b/sdk/nodejs/codebuild/project.ts @@ -250,7 +250,7 @@ export class Project extends pulumi.CustomResource { */ public readonly buildBatchConfig!: pulumi.Output; /** - * Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. + * Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. */ public readonly buildTimeout!: pulumi.Output; /** @@ -454,7 +454,7 @@ export interface ProjectState { */ buildBatchConfig?: pulumi.Input; /** - * Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. + * Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. */ buildTimeout?: pulumi.Input; /** @@ -564,7 +564,7 @@ export interface ProjectArgs { */ buildBatchConfig?: pulumi.Input; /** - * Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. + * Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `buildTimeout` property is not available on the `Lambda` compute type. */ buildTimeout?: pulumi.Input; /** diff --git a/sdk/nodejs/detective/organizationConfiguration.ts b/sdk/nodejs/detective/organizationConfiguration.ts index da5ee3cfa26..2419cdb7618 100644 --- a/sdk/nodejs/detective/organizationConfiguration.ts +++ b/sdk/nodejs/detective/organizationConfiguration.ts @@ -9,10 +9,10 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example: + * Using `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example: * * ```sh - * $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617 + * $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example arn:aws:detective:us-east-1:123456789012:graph:00b00fd5aecc0ab60a708659477e9617 * ``` */ export class OrganizationConfiguration extends pulumi.CustomResource { diff --git a/sdk/nodejs/ec2/capacityBlockReservation.ts b/sdk/nodejs/ec2/capacityBlockReservation.ts new file mode 100644 index 00000000000..ddaf3c7b544 --- /dev/null +++ b/sdk/nodejs/ec2/capacityBlockReservation.ts @@ -0,0 +1,274 @@ +// *** 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"; + +/** + * Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads. + * + * > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacityBlockOfferingId` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html). + * + * > **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub. + */ +export class CapacityBlockReservation extends pulumi.CustomResource { + /** + * Get an existing CapacityBlockReservation 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?: CapacityBlockReservationState, opts?: pulumi.CustomResourceOptions): CapacityBlockReservation { + return new CapacityBlockReservation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:ec2/capacityBlockReservation:CapacityBlockReservation'; + + /** + * Returns true if the given object is an instance of CapacityBlockReservation. 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 CapacityBlockReservation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CapacityBlockReservation.__pulumiType; + } + + /** + * The ARN of the reservation. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The Availability Zone in which to create the Capacity Block Reservation. + */ + public /*out*/ readonly availabilityZone!: pulumi.Output; + /** + * The Capacity Block Reservation ID. + */ + public readonly capacityBlockOfferingId!: pulumi.Output; + /** + * The date and time at which the Capacity Block Reservation was created. + */ + public /*out*/ readonly createdDate!: pulumi.Output; + /** + * Indicates whether the Capacity Reservation supports EBS-optimized instances. + */ + public /*out*/ readonly ebsOptimized!: pulumi.Output; + /** + * The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + */ + public /*out*/ readonly endDate!: pulumi.Output; + /** + * Indicates the way in which the Capacity Reservation ends. + */ + public /*out*/ readonly endDateType!: pulumi.Output; + /** + * The number of instances for which to reserve capacity. + */ + public /*out*/ readonly instanceCount!: pulumi.Output; + /** + * The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + */ + public readonly instancePlatform!: pulumi.Output; + /** + * The instance type for which to reserve capacity. + */ + public /*out*/ readonly instanceType!: pulumi.Output; + /** + * The ARN of the Outpost on which to create the Capacity Block Reservation. + */ + public /*out*/ readonly outpostArn!: pulumi.Output; + /** + * The ARN of the placement group in which to create the Capacity Block Reservation. + */ + public /*out*/ readonly placementGroupArn!: pulumi.Output; + /** + * The type of Capacity Reservation. + */ + public /*out*/ readonly reservationType!: pulumi.Output; + /** + * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + */ + public /*out*/ readonly startDate!: 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. + */ + 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}>; + /** + * Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + */ + public /*out*/ readonly tenancy!: pulumi.Output; + public readonly timeouts!: pulumi.Output; + + /** + * Create a CapacityBlockReservation 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: CapacityBlockReservationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CapacityBlockReservationArgs | CapacityBlockReservationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CapacityBlockReservationState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["availabilityZone"] = state ? state.availabilityZone : undefined; + resourceInputs["capacityBlockOfferingId"] = state ? state.capacityBlockOfferingId : undefined; + resourceInputs["createdDate"] = state ? state.createdDate : undefined; + resourceInputs["ebsOptimized"] = state ? state.ebsOptimized : undefined; + resourceInputs["endDate"] = state ? state.endDate : undefined; + resourceInputs["endDateType"] = state ? state.endDateType : undefined; + resourceInputs["instanceCount"] = state ? state.instanceCount : undefined; + resourceInputs["instancePlatform"] = state ? state.instancePlatform : undefined; + resourceInputs["instanceType"] = state ? state.instanceType : undefined; + resourceInputs["outpostArn"] = state ? state.outpostArn : undefined; + resourceInputs["placementGroupArn"] = state ? state.placementGroupArn : undefined; + resourceInputs["reservationType"] = state ? state.reservationType : undefined; + resourceInputs["startDate"] = state ? state.startDate : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["tenancy"] = state ? state.tenancy : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as CapacityBlockReservationArgs | undefined; + if ((!args || args.capacityBlockOfferingId === undefined) && !opts.urn) { + throw new Error("Missing required property 'capacityBlockOfferingId'"); + } + if ((!args || args.instancePlatform === undefined) && !opts.urn) { + throw new Error("Missing required property 'instancePlatform'"); + } + resourceInputs["capacityBlockOfferingId"] = args ? args.capacityBlockOfferingId : undefined; + resourceInputs["instancePlatform"] = args ? args.instancePlatform : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["availabilityZone"] = undefined /*out*/; + resourceInputs["createdDate"] = undefined /*out*/; + resourceInputs["ebsOptimized"] = undefined /*out*/; + resourceInputs["endDate"] = undefined /*out*/; + resourceInputs["endDateType"] = undefined /*out*/; + resourceInputs["instanceCount"] = undefined /*out*/; + resourceInputs["instanceType"] = undefined /*out*/; + resourceInputs["outpostArn"] = undefined /*out*/; + resourceInputs["placementGroupArn"] = undefined /*out*/; + resourceInputs["reservationType"] = undefined /*out*/; + resourceInputs["startDate"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + resourceInputs["tenancy"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CapacityBlockReservation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CapacityBlockReservation resources. + */ +export interface CapacityBlockReservationState { + /** + * The ARN of the reservation. + */ + arn?: pulumi.Input; + /** + * The Availability Zone in which to create the Capacity Block Reservation. + */ + availabilityZone?: pulumi.Input; + /** + * The Capacity Block Reservation ID. + */ + capacityBlockOfferingId?: pulumi.Input; + /** + * The date and time at which the Capacity Block Reservation was created. + */ + createdDate?: pulumi.Input; + /** + * Indicates whether the Capacity Reservation supports EBS-optimized instances. + */ + ebsOptimized?: pulumi.Input; + /** + * The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + */ + endDate?: pulumi.Input; + /** + * Indicates the way in which the Capacity Reservation ends. + */ + endDateType?: pulumi.Input; + /** + * The number of instances for which to reserve capacity. + */ + instanceCount?: pulumi.Input; + /** + * The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + */ + instancePlatform?: pulumi.Input; + /** + * The instance type for which to reserve capacity. + */ + instanceType?: pulumi.Input; + /** + * The ARN of the Outpost on which to create the Capacity Block Reservation. + */ + outpostArn?: pulumi.Input; + /** + * The ARN of the placement group in which to create the Capacity Block Reservation. + */ + placementGroupArn?: pulumi.Input; + /** + * The type of Capacity Reservation. + */ + reservationType?: pulumi.Input; + /** + * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + */ + startDate?: 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. + */ + 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}>; + /** + * Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + */ + tenancy?: pulumi.Input; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CapacityBlockReservation resource. + */ +export interface CapacityBlockReservationArgs { + /** + * The Capacity Block Reservation ID. + */ + capacityBlockOfferingId: pulumi.Input; + /** + * The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + */ + instancePlatform: 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. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/ec2/getCapacityBlockOffering.ts b/sdk/nodejs/ec2/getCapacityBlockOffering.ts new file mode 100644 index 00000000000..870746331e7 --- /dev/null +++ b/sdk/nodejs/ec2/getCapacityBlockOffering.ts @@ -0,0 +1,113 @@ +// *** 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 utilities from "../utilities"; + +/** + * Information about a single EC2 Capacity Block Offering. + */ +export function getCapacityBlockOffering(args: GetCapacityBlockOfferingArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", { + "capacityDurationHours": args.capacityDurationHours, + "endDateRange": args.endDateRange, + "instanceCount": args.instanceCount, + "instanceType": args.instanceType, + "startDateRange": args.startDateRange, + }, opts); +} + +/** + * A collection of arguments for invoking getCapacityBlockOffering. + */ +export interface GetCapacityBlockOfferingArgs { + /** + * The amount of time of the Capacity Block reservation in hours. + */ + capacityDurationHours: number; + /** + * The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + */ + endDateRange?: string; + /** + * The number of instances for which to reserve capacity. + */ + instanceCount: number; + /** + * The instance type for which to reserve capacity. + */ + instanceType: string; + /** + * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + */ + startDateRange?: string; +} + +/** + * A collection of values returned by getCapacityBlockOffering. + */ +export interface GetCapacityBlockOfferingResult { + /** + * The Availability Zone in which to create the Capacity Reservation. + */ + readonly availabilityZone: string; + /** + * The Capacity Block Reservation ID. + */ + readonly capacityBlockOfferingId: string; + readonly capacityDurationHours: number; + /** + * The currency of the payment for the Capacity Block. + */ + readonly currencyCode: string; + readonly endDateRange: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly instanceCount: number; + readonly instanceType: string; + readonly startDateRange: string; + /** + * Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. + */ + readonly tenancy: string; + /** + * The total price to be paid up front. + */ + readonly upfrontFee: string; +} +/** + * Information about a single EC2 Capacity Block Offering. + */ +export function getCapacityBlockOfferingOutput(args: GetCapacityBlockOfferingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCapacityBlockOffering(a, opts)) +} + +/** + * A collection of arguments for invoking getCapacityBlockOffering. + */ +export interface GetCapacityBlockOfferingOutputArgs { + /** + * The amount of time of the Capacity Block reservation in hours. + */ + capacityDurationHours: pulumi.Input; + /** + * The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + */ + endDateRange?: pulumi.Input; + /** + * The number of instances for which to reserve capacity. + */ + instanceCount: pulumi.Input; + /** + * The instance type for which to reserve capacity. + */ + instanceType: pulumi.Input; + /** + * The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + */ + startDateRange?: pulumi.Input; +} diff --git a/sdk/nodejs/ec2/index.ts b/sdk/nodejs/ec2/index.ts index cb0b479307e..585de232b16 100644 --- a/sdk/nodejs/ec2/index.ts +++ b/sdk/nodejs/ec2/index.ts @@ -30,6 +30,11 @@ export type AvailabilityZoneGroup = import("./availabilityZoneGroup").Availabili export const AvailabilityZoneGroup: typeof import("./availabilityZoneGroup").AvailabilityZoneGroup = null as any; utilities.lazyLoad(exports, ["AvailabilityZoneGroup"], () => require("./availabilityZoneGroup")); +export { CapacityBlockReservationArgs, CapacityBlockReservationState } from "./capacityBlockReservation"; +export type CapacityBlockReservation = import("./capacityBlockReservation").CapacityBlockReservation; +export const CapacityBlockReservation: typeof import("./capacityBlockReservation").CapacityBlockReservation = null as any; +utilities.lazyLoad(exports, ["CapacityBlockReservation"], () => require("./capacityBlockReservation")); + export { CapacityReservationArgs, CapacityReservationState } from "./capacityReservation"; export type CapacityReservation = import("./capacityReservation").CapacityReservation; export const CapacityReservation: typeof import("./capacityReservation").CapacityReservation = null as any; @@ -120,6 +125,11 @@ export const getAmiIds: typeof import("./getAmiIds").getAmiIds = null as any; export const getAmiIdsOutput: typeof import("./getAmiIds").getAmiIdsOutput = null as any; utilities.lazyLoad(exports, ["getAmiIds","getAmiIdsOutput"], () => require("./getAmiIds")); +export { GetCapacityBlockOfferingArgs, GetCapacityBlockOfferingResult, GetCapacityBlockOfferingOutputArgs } from "./getCapacityBlockOffering"; +export const getCapacityBlockOffering: typeof import("./getCapacityBlockOffering").getCapacityBlockOffering = null as any; +export const getCapacityBlockOfferingOutput: typeof import("./getCapacityBlockOffering").getCapacityBlockOfferingOutput = null as any; +utilities.lazyLoad(exports, ["getCapacityBlockOffering","getCapacityBlockOfferingOutput"], () => require("./getCapacityBlockOffering")); + export { GetCoipPoolArgs, GetCoipPoolResult, GetCoipPoolOutputArgs } from "./getCoipPool"; export const getCoipPool: typeof import("./getCoipPool").getCoipPool = null as any; export const getCoipPoolOutput: typeof import("./getCoipPool").getCoipPoolOutput = null as any; @@ -813,6 +823,8 @@ const _module = { return new AmiLaunchPermission(name, undefined, { urn }) case "aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup": return new AvailabilityZoneGroup(name, undefined, { urn }) + case "aws:ec2/capacityBlockReservation:CapacityBlockReservation": + return new CapacityBlockReservation(name, undefined, { urn }) case "aws:ec2/capacityReservation:CapacityReservation": return new CapacityReservation(name, undefined, { urn }) case "aws:ec2/carrierGateway:CarrierGateway": @@ -1003,6 +1015,7 @@ pulumi.runtime.registerResourceModule("aws", "ec2/amiCopy", _module) pulumi.runtime.registerResourceModule("aws", "ec2/amiFromInstance", _module) pulumi.runtime.registerResourceModule("aws", "ec2/amiLaunchPermission", _module) pulumi.runtime.registerResourceModule("aws", "ec2/availabilityZoneGroup", _module) +pulumi.runtime.registerResourceModule("aws", "ec2/capacityBlockReservation", _module) pulumi.runtime.registerResourceModule("aws", "ec2/capacityReservation", _module) pulumi.runtime.registerResourceModule("aws", "ec2/carrierGateway", _module) pulumi.runtime.registerResourceModule("aws", "ec2/customerGateway", _module) diff --git a/sdk/nodejs/ec2/launchTemplate.ts b/sdk/nodejs/ec2/launchTemplate.ts index 6e5cddc5b39..e355021c371 100644 --- a/sdk/nodejs/ec2/launchTemplate.ts +++ b/sdk/nodejs/ec2/launchTemplate.ts @@ -112,7 +112,7 @@ export class LaunchTemplate extends pulumi.CustomResource { */ public readonly iamInstanceProfile!: pulumi.Output; /** - * The AMI from which to launch the instance. + * The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. */ public readonly imageId!: pulumi.Output; /** @@ -389,7 +389,7 @@ export interface LaunchTemplateState { */ iamInstanceProfile?: pulumi.Input; /** - * The AMI from which to launch the instance. + * The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. */ imageId?: pulumi.Input; /** @@ -562,7 +562,7 @@ export interface LaunchTemplateArgs { */ iamInstanceProfile?: pulumi.Input; /** - * The AMI from which to launch the instance. + * The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. */ imageId?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2/trafficMirrorSession.ts b/sdk/nodejs/ec2/trafficMirrorSession.ts index 396f81263c2..41705090a51 100644 --- a/sdk/nodejs/ec2/trafficMirrorSession.ts +++ b/sdk/nodejs/ec2/trafficMirrorSession.ts @@ -85,7 +85,7 @@ export class TrafficMirrorSession extends pulumi.CustomResource { /** * The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. */ - public readonly packetLength!: pulumi.Output; + public readonly packetLength!: pulumi.Output; /** * The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets. */ diff --git a/sdk/nodejs/ec2/vpcEndpoint.ts b/sdk/nodejs/ec2/vpcEndpoint.ts index 285bb478f90..63b2e1c69d9 100644 --- a/sdk/nodejs/ec2/vpcEndpoint.ts +++ b/sdk/nodejs/ec2/vpcEndpoint.ts @@ -62,6 +62,33 @@ import * as utilities from "../utilities"; * }); * ``` * + * ### Interface Endpoint Type with User-Defined IP Address + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const ec2 = new aws.ec2.VpcEndpoint("ec2", { + * vpcId: example.id, + * serviceName: "com.amazonaws.us-west-2.ec2", + * vpcEndpointType: "Interface", + * subnetConfigurations: [ + * { + * ipv4: "10.0.1.10", + * subnetId: example1.id, + * }, + * { + * ipv4: "10.0.2.10", + * subnetId: example2.id, + * }, + * ], + * subnetIds: [ + * example1.id, + * example2.id, + * ], + * }); + * ``` + * * ### Gateway Load Balancer Endpoint Type * * ```typescript @@ -184,6 +211,10 @@ export class VpcEndpoint extends pulumi.CustomResource { * The state of the VPC endpoint. */ public /*out*/ readonly state!: pulumi.Output; + /** + * Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. + */ + public readonly subnetConfigurations!: pulumi.Output; /** * The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. */ @@ -236,6 +267,7 @@ export class VpcEndpoint extends pulumi.CustomResource { resourceInputs["securityGroupIds"] = state ? state.securityGroupIds : undefined; resourceInputs["serviceName"] = state ? state.serviceName : undefined; resourceInputs["state"] = state ? state.state : undefined; + resourceInputs["subnetConfigurations"] = state ? state.subnetConfigurations : undefined; resourceInputs["subnetIds"] = state ? state.subnetIds : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; @@ -257,6 +289,7 @@ export class VpcEndpoint extends pulumi.CustomResource { resourceInputs["routeTableIds"] = args ? args.routeTableIds : undefined; resourceInputs["securityGroupIds"] = args ? args.securityGroupIds : undefined; resourceInputs["serviceName"] = args ? args.serviceName : undefined; + resourceInputs["subnetConfigurations"] = args ? args.subnetConfigurations : undefined; resourceInputs["subnetIds"] = args ? args.subnetIds : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["vpcEndpointType"] = args ? args.vpcEndpointType : undefined; @@ -346,6 +379,10 @@ export interface VpcEndpointState { * The state of the VPC endpoint. */ state?: pulumi.Input; + /** + * Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. + */ + subnetConfigurations?: pulumi.Input[]>; /** * The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. */ @@ -408,6 +445,10 @@ export interface VpcEndpointArgs { * The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). */ serviceName: pulumi.Input; + /** + * Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below. + */ + subnetConfigurations?: pulumi.Input[]>; /** * The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. */ diff --git a/sdk/nodejs/fms/index.ts b/sdk/nodejs/fms/index.ts index 57eb0d1b983..f8f193249b5 100644 --- a/sdk/nodejs/fms/index.ts +++ b/sdk/nodejs/fms/index.ts @@ -15,6 +15,11 @@ export type Policy = import("./policy").Policy; export const Policy: typeof import("./policy").Policy = null as any; utilities.lazyLoad(exports, ["Policy"], () => require("./policy")); +export { ResourceSetArgs, ResourceSetState } from "./resourceSet"; +export type ResourceSet = import("./resourceSet").ResourceSet; +export const ResourceSet: typeof import("./resourceSet").ResourceSet = null as any; +utilities.lazyLoad(exports, ["ResourceSet"], () => require("./resourceSet")); + const _module = { version: utilities.getVersion(), @@ -24,6 +29,8 @@ const _module = { return new AdminAccount(name, undefined, { urn }) case "aws:fms/policy:Policy": return new Policy(name, undefined, { urn }) + case "aws:fms/resourceSet:ResourceSet": + return new ResourceSet(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -31,3 +38,4 @@ const _module = { }; pulumi.runtime.registerResourceModule("aws", "fms/adminAccount", _module) pulumi.runtime.registerResourceModule("aws", "fms/policy", _module) +pulumi.runtime.registerResourceModule("aws", "fms/resourceSet", _module) diff --git a/sdk/nodejs/fms/resourceSet.ts b/sdk/nodejs/fms/resourceSet.ts new file mode 100644 index 00000000000..cde87e7d35b --- /dev/null +++ b/sdk/nodejs/fms/resourceSet.ts @@ -0,0 +1,139 @@ +// *** 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 FMS (Firewall Manager) Resource Set. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.fms.ResourceSet("example", {resourceSets: [{ + * name: "testing", + * resourceTypeLists: ["AWS::NetworkFirewall::Firewall"], + * }]}); + * ``` + * + * ## Import + * + * Using `pulumi import`, import FMS (Firewall Manager) Resource Set using the `id`. For example: + * + * ```sh + * $ pulumi import aws:fms/resourceSet:ResourceSet example resource_set-id-12345678 + * ``` + */ +export class ResourceSet extends pulumi.CustomResource { + /** + * Get an existing ResourceSet 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?: ResourceSetState, opts?: pulumi.CustomResourceOptions): ResourceSet { + return new ResourceSet(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:fms/resourceSet:ResourceSet'; + + /** + * Returns true if the given object is an instance of ResourceSet. 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 ResourceSet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ResourceSet.__pulumiType; + } + + /** + * ARN of the Resource Set. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. + */ + public readonly resourceSets!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + + /** + * Create a ResourceSet 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?: ResourceSetArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ResourceSetArgs | ResourceSetState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ResourceSetState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["resourceSets"] = state ? state.resourceSets : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as ResourceSetArgs | undefined; + resourceInputs["resourceSets"] = args ? args.resourceSets : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ResourceSet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ResourceSet resources. + */ +export interface ResourceSetState { + /** + * ARN of the Resource Set. + */ + arn?: pulumi.Input; + /** + * Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. + */ + resourceSets?: pulumi.Input[]>; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ResourceSet resource. + */ +export interface ResourceSetArgs { + /** + * Details about the resource set to be created or updated. See `resourceSet` Attribute Reference below. + */ + resourceSets?: pulumi.Input[]>; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/guardduty/detectorFeature.ts b/sdk/nodejs/guardduty/detectorFeature.ts index b18ebf9af62..8a2effc37cc 100644 --- a/sdk/nodejs/guardduty/detectorFeature.ts +++ b/sdk/nodejs/guardduty/detectorFeature.ts @@ -59,7 +59,7 @@ export class DetectorFeature extends pulumi.CustomResource { } /** - * Additional feature configuration block. See below. + * Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. */ public readonly additionalConfigurations!: pulumi.Output; /** @@ -67,7 +67,7 @@ export class DetectorFeature extends pulumi.CustomResource { */ public readonly detectorId!: pulumi.Output; /** - * The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. */ public readonly name!: pulumi.Output; /** @@ -115,7 +115,7 @@ export class DetectorFeature extends pulumi.CustomResource { */ export interface DetectorFeatureState { /** - * Additional feature configuration block. See below. + * Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. */ additionalConfigurations?: pulumi.Input[]>; /** @@ -123,7 +123,7 @@ export interface DetectorFeatureState { */ detectorId?: pulumi.Input; /** - * The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. */ name?: pulumi.Input; /** @@ -137,7 +137,7 @@ export interface DetectorFeatureState { */ export interface DetectorFeatureArgs { /** - * Additional feature configuration block. See below. + * Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. */ additionalConfigurations?: pulumi.Input[]>; /** @@ -145,7 +145,7 @@ export interface DetectorFeatureArgs { */ detectorId: pulumi.Input; /** - * The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + * The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. */ name?: pulumi.Input; /** diff --git a/sdk/nodejs/guardduty/index.ts b/sdk/nodejs/guardduty/index.ts index f89d215933c..6ee6447a5b1 100644 --- a/sdk/nodejs/guardduty/index.ts +++ b/sdk/nodejs/guardduty/index.ts @@ -40,6 +40,11 @@ export type IPSet = import("./ipset").IPSet; export const IPSet: typeof import("./ipset").IPSet = null as any; utilities.lazyLoad(exports, ["IPSet"], () => require("./ipset")); +export { MalwareProtectionPlanArgs, MalwareProtectionPlanState } from "./malwareProtectionPlan"; +export type MalwareProtectionPlan = import("./malwareProtectionPlan").MalwareProtectionPlan; +export const MalwareProtectionPlan: typeof import("./malwareProtectionPlan").MalwareProtectionPlan = null as any; +utilities.lazyLoad(exports, ["MalwareProtectionPlan"], () => require("./malwareProtectionPlan")); + export { MemberArgs, MemberState } from "./member"; export type Member = import("./member").Member; export const Member: typeof import("./member").Member = null as any; @@ -85,6 +90,8 @@ const _module = { return new IPSet(name, undefined, { urn }) case "aws:guardduty/inviteAccepter:InviteAccepter": return new InviteAccepter(name, undefined, { urn }) + case "aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan": + return new MalwareProtectionPlan(name, undefined, { urn }) case "aws:guardduty/member:Member": return new Member(name, undefined, { urn }) case "aws:guardduty/organizationAdminAccount:OrganizationAdminAccount": @@ -107,6 +114,7 @@ pulumi.runtime.registerResourceModule("aws", "guardduty/detectorFeature", _modul pulumi.runtime.registerResourceModule("aws", "guardduty/filter", _module) pulumi.runtime.registerResourceModule("aws", "guardduty/iPSet", _module) pulumi.runtime.registerResourceModule("aws", "guardduty/inviteAccepter", _module) +pulumi.runtime.registerResourceModule("aws", "guardduty/malwareProtectionPlan", _module) pulumi.runtime.registerResourceModule("aws", "guardduty/member", _module) pulumi.runtime.registerResourceModule("aws", "guardduty/organizationAdminAccount", _module) pulumi.runtime.registerResourceModule("aws", "guardduty/organizationConfiguration", _module) diff --git a/sdk/nodejs/guardduty/malwareProtectionPlan.ts b/sdk/nodejs/guardduty/malwareProtectionPlan.ts new file mode 100644 index 00000000000..03416f1fc42 --- /dev/null +++ b/sdk/nodejs/guardduty/malwareProtectionPlan.ts @@ -0,0 +1,180 @@ +// *** 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"; + +/** + * Provides a resource to manage a GuardDuty malware protection plan. + * + * ## Import + * + * Using `pulumi import`, import GuardDuty malware protection plans using their IDs. For example: + * + * ```sh + * $ pulumi import aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan example 1234567890abcdef0123 + * ``` + */ +export class MalwareProtectionPlan extends pulumi.CustomResource { + /** + * Get an existing MalwareProtectionPlan 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?: MalwareProtectionPlanState, opts?: pulumi.CustomResourceOptions): MalwareProtectionPlan { + return new MalwareProtectionPlan(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan'; + + /** + * Returns true if the given object is an instance of MalwareProtectionPlan. 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 MalwareProtectionPlan { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MalwareProtectionPlan.__pulumiType; + } + + /** + * Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + */ + public readonly actions!: pulumi.Output; + /** + * The ARN of the GuardDuty malware protection plan + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The timestamp when the Malware Protection plan resource was created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. + */ + public readonly protectedResource!: pulumi.Output; + /** + * The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + */ + public readonly role!: pulumi.Output; + /** + * The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Key-value mapping of resource tags. 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>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a MalwareProtectionPlan 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: MalwareProtectionPlanArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MalwareProtectionPlanArgs | MalwareProtectionPlanState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MalwareProtectionPlanState | undefined; + resourceInputs["actions"] = state ? state.actions : undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["protectedResource"] = state ? state.protectedResource : undefined; + resourceInputs["role"] = state ? state.role : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as MalwareProtectionPlanArgs | undefined; + if ((!args || args.role === undefined) && !opts.urn) { + throw new Error("Missing required property 'role'"); + } + resourceInputs["actions"] = args ? args.actions : undefined; + resourceInputs["protectedResource"] = args ? args.protectedResource : undefined; + resourceInputs["role"] = args ? args.role : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(MalwareProtectionPlan.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MalwareProtectionPlan resources. + */ +export interface MalwareProtectionPlanState { + /** + * Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + */ + actions?: pulumi.Input[]>; + /** + * The ARN of the GuardDuty malware protection plan + */ + arn?: pulumi.Input; + /** + * The timestamp when the Malware Protection plan resource was created. + */ + createdAt?: pulumi.Input; + /** + * Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. + */ + protectedResource?: pulumi.Input; + /** + * The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + */ + role?: pulumi.Input; + /** + * The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + */ + status?: pulumi.Input; + /** + * Key-value mapping 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.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a MalwareProtectionPlan resource. + */ +export interface MalwareProtectionPlanArgs { + /** + * Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + */ + actions?: pulumi.Input[]>; + /** + * Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protectedResource` below. + */ + protectedResource?: pulumi.Input; + /** + * The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + */ + role: pulumi.Input; + /** + * Key-value mapping 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.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/guardduty/organizationConfigurationFeature.ts b/sdk/nodejs/guardduty/organizationConfigurationFeature.ts index bb25bba5830..7ec97a3ebd3 100644 --- a/sdk/nodejs/guardduty/organizationConfigurationFeature.ts +++ b/sdk/nodejs/guardduty/organizationConfigurationFeature.ts @@ -59,7 +59,7 @@ export class OrganizationConfigurationFeature extends pulumi.CustomResource { } /** - * The additional information that will be configured for the organization See below. + * Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. */ public readonly additionalConfigurations!: pulumi.Output; /** @@ -71,7 +71,7 @@ export class OrganizationConfigurationFeature extends pulumi.CustomResource { */ public readonly detectorId!: pulumi.Output; /** - * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. */ public readonly name!: pulumi.Output; @@ -115,7 +115,7 @@ export class OrganizationConfigurationFeature extends pulumi.CustomResource { */ export interface OrganizationConfigurationFeatureState { /** - * The additional information that will be configured for the organization See below. + * Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. */ additionalConfigurations?: pulumi.Input[]>; /** @@ -127,7 +127,7 @@ export interface OrganizationConfigurationFeatureState { */ detectorId?: pulumi.Input; /** - * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. */ name?: pulumi.Input; } @@ -137,7 +137,7 @@ export interface OrganizationConfigurationFeatureState { */ export interface OrganizationConfigurationFeatureArgs { /** - * The additional information that will be configured for the organization See below. + * Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. */ additionalConfigurations?: pulumi.Input[]>; /** @@ -149,7 +149,7 @@ export interface OrganizationConfigurationFeatureArgs { */ detectorId: pulumi.Input; /** - * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + * The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. */ name?: pulumi.Input; } diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index da16583c380..ae27cbe3c7f 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -85,6 +85,7 @@ import * as apigateway from "./apigateway"; import * as apigatewayv2 from "./apigatewayv2"; import * as appautoscaling from "./appautoscaling"; import * as appconfig from "./appconfig"; +import * as appfabric from "./appfabric"; import * as appflow from "./appflow"; import * as appintegrations from "./appintegrations"; import * as applicationinsights from "./applicationinsights"; @@ -296,6 +297,7 @@ export { apigatewayv2, appautoscaling, appconfig, + appfabric, appflow, appintegrations, applicationinsights, diff --git a/sdk/nodejs/opensearch/domain.ts b/sdk/nodejs/opensearch/domain.ts index 1b7447749ce..7f7ac4bedc0 100644 --- a/sdk/nodejs/opensearch/domain.ts +++ b/sdk/nodejs/opensearch/domain.ts @@ -369,6 +369,10 @@ export class Domain extends pulumi.CustomResource { * Defaults to the lastest version of OpenSearch. */ public readonly engineVersion!: pulumi.Output; + /** + * The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + */ + public readonly ipAddressType!: pulumi.Output; /** * (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. * @@ -438,6 +442,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["encryptAtRest"] = state ? state.encryptAtRest : undefined; resourceInputs["endpoint"] = state ? state.endpoint : undefined; resourceInputs["engineVersion"] = state ? state.engineVersion : undefined; + resourceInputs["ipAddressType"] = state ? state.ipAddressType : undefined; resourceInputs["kibanaEndpoint"] = state ? state.kibanaEndpoint : undefined; resourceInputs["logPublishingOptions"] = state ? state.logPublishingOptions : undefined; resourceInputs["nodeToNodeEncryption"] = state ? state.nodeToNodeEncryption : undefined; @@ -460,6 +465,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["ebsOptions"] = args ? args.ebsOptions : undefined; resourceInputs["encryptAtRest"] = args ? args.encryptAtRest : undefined; resourceInputs["engineVersion"] = args ? args.engineVersion : undefined; + resourceInputs["ipAddressType"] = args ? args.ipAddressType : undefined; resourceInputs["logPublishingOptions"] = args ? args.logPublishingOptions : undefined; resourceInputs["nodeToNodeEncryption"] = args ? args.nodeToNodeEncryption : undefined; resourceInputs["offPeakWindowOptions"] = args ? args.offPeakWindowOptions : undefined; @@ -547,6 +553,10 @@ export interface DomainState { * Defaults to the lastest version of OpenSearch. */ engineVersion?: pulumi.Input; + /** + * The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + */ + ipAddressType?: pulumi.Input; /** * (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. * @@ -641,6 +651,10 @@ export interface DomainArgs { * Defaults to the lastest version of OpenSearch. */ engineVersion?: pulumi.Input; + /** + * The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + */ + ipAddressType?: pulumi.Input; /** * Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. */ diff --git a/sdk/nodejs/opensearch/getDomain.ts b/sdk/nodejs/opensearch/getDomain.ts index 6c27284328a..6c9f5050108 100644 --- a/sdk/nodejs/opensearch/getDomain.ts +++ b/sdk/nodejs/opensearch/getDomain.ts @@ -118,6 +118,10 @@ export interface GetDomainResult { * The provider-assigned unique ID for this managed resource. */ readonly id: string; + /** + * Type of IP addresses supported by the endpoint for the domain. + */ + readonly ipAddressType: string; /** * (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboardEndpoint` attribute instead. * diff --git a/sdk/nodejs/ssoadmin/accountAssignment.ts b/sdk/nodejs/ssoadmin/accountAssignment.ts index c0b758da0da..d9594bdf563 100644 --- a/sdk/nodejs/ssoadmin/accountAssignment.ts +++ b/sdk/nodejs/ssoadmin/accountAssignment.ts @@ -53,7 +53,7 @@ import * as utilities from "../utilities"; * instanceArn: example.then(example => example.arns?.[0]), * }); * const exampleGroup = new aws.identitystore.Group("example", { - * identityStoreId: ssoInstance.identityStoreIds[0], + * identityStoreId: example.then(example => example.identityStoreIds?.[0]), * displayName: "Admin", * description: "Admin Group", * }); diff --git a/sdk/nodejs/ssoadmin/managedPolicyAttachment.ts b/sdk/nodejs/ssoadmin/managedPolicyAttachment.ts index ef03e677e44..256c961d867 100644 --- a/sdk/nodejs/ssoadmin/managedPolicyAttachment.ts +++ b/sdk/nodejs/ssoadmin/managedPolicyAttachment.ts @@ -43,7 +43,7 @@ import * as utilities from "../utilities"; * instanceArn: example.then(example => example.arns?.[0]), * }); * const exampleGroup = new aws.identitystore.Group("example", { - * identityStoreId: ssoInstance.identityStoreIds[0], + * identityStoreId: example.then(example => example.identityStoreIds?.[0]), * displayName: "Admin", * description: "Admin Group", * }); diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 306c2bdbff9..a9d55ef8ac6 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -126,6 +126,9 @@ "appconfig/getEnvironments.ts", "appconfig/hostedConfigurationVersion.ts", "appconfig/index.ts", + "appfabric/appAuthorization.ts", + "appfabric/appBundle.ts", + "appfabric/index.ts", "appflow/connectorProfile.ts", "appflow/flow.ts", "appflow/index.ts", @@ -645,6 +648,7 @@ "ec2/amiFromInstance.ts", "ec2/amiLaunchPermission.ts", "ec2/availabilityZoneGroup.ts", + "ec2/capacityBlockReservation.ts", "ec2/capacityReservation.ts", "ec2/carrierGateway.ts", "ec2/customerGateway.ts", @@ -663,6 +667,7 @@ "ec2/flowLog.ts", "ec2/getAmi.ts", "ec2/getAmiIds.ts", + "ec2/getCapacityBlockOffering.ts", "ec2/getCoipPool.ts", "ec2/getCoipPools.ts", "ec2/getCustomerGateway.ts", @@ -986,6 +991,7 @@ "fms/adminAccount.ts", "fms/index.ts", "fms/policy.ts", + "fms/resourceSet.ts", "fsx/backup.ts", "fsx/dataRepositoryAssociation.ts", "fsx/fileCache.ts", @@ -1075,6 +1081,7 @@ "guardduty/index.ts", "guardduty/inviteAccepter.ts", "guardduty/ipset.ts", + "guardduty/malwareProtectionPlan.ts", "guardduty/member.ts", "guardduty/organizationAdminAccount.ts", "guardduty/organizationConfiguration.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 714c460cebe..a86fce3cde0 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -2923,6 +2923,63 @@ export namespace appconfig { } +export namespace appfabric { + export interface AppAuthorizationCredential { + /** + * Contains API key credential information. + */ + apiKeyCredentials?: pulumi.Input[]>; + /** + * Contains OAuth2 client credential information. + */ + oauth2Credential?: pulumi.Input; + } + + export interface AppAuthorizationCredentialApiKeyCredential { + /** + * Contains API key credential information. + */ + apiKey: pulumi.Input; + } + + export interface AppAuthorizationCredentialOauth2Credential { + /** + * The client ID of the client application. + */ + clientId: pulumi.Input; + /** + * The client secret of the client application. + */ + clientSecret: pulumi.Input; + } + + export interface AppAuthorizationTenant { + /** + * The display name of the tenant. + */ + tenantDisplayName: pulumi.Input; + /** + * The ID of the application tenant. + */ + tenantIdentifier: pulumi.Input; + } + + export interface AppAuthorizationTimeouts { + /** + * 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 namespace appflow { export interface ConnectorProfileConnectorProfileConfig { /** @@ -13444,7 +13501,7 @@ export namespace codepipeline { */ pushes?: pulumi.Input[]>; /** - * The name of the pipeline source action where the trigger configuration. + * The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. */ sourceActionName: pulumi.Input; } @@ -18447,6 +18504,13 @@ export namespace ec2 { virtualName?: pulumi.Input; } + export interface CapacityBlockReservationTimeouts { + /** + * 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; + } + export interface DefaultNetworkAclEgress { /** * The action to take. @@ -18910,6 +18974,10 @@ export namespace ec2 { * The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. */ allocationStrategy?: pulumi.Input; + /** + * The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + */ + capacityReservationOptions?: pulumi.Input; /** * The maximum amount per hour for On-Demand Instances that you're willing to pay. */ @@ -18929,6 +18997,13 @@ export namespace ec2 { singleInstanceType?: pulumi.Input; } + export interface FleetOnDemandOptionsCapacityReservationOptions { + /** + * Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + */ + usageStrategy?: pulumi.Input; + } + export interface FleetSpotOptions { /** * How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. @@ -20677,7 +20752,7 @@ export namespace ec2 { export interface LaunchTemplateElasticGpuSpecification { /** - * The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + * The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) */ type: pulumi.Input; } @@ -22989,6 +23064,18 @@ export namespace ec2 { value?: pulumi.Input; } + export interface VpcEndpointSubnetConfiguration { + /** + * The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + */ + ipv4?: pulumi.Input; + /** + * The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + */ + ipv6?: pulumi.Input; + subnetId?: pulumi.Input; + } + export interface VpcIpamOperatingRegion { /** * The name of the Region you want to add to the IPAM. @@ -27642,6 +27729,49 @@ export namespace fms { */ firewallDeploymentModel?: pulumi.Input; } + + export interface ResourceSetResourceSet { + /** + * Description of the resource set. + */ + description?: pulumi.Input; + /** + * Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + */ + id?: pulumi.Input; + /** + * Last time that the reosurce set was changed. + */ + lastUpdateTime?: pulumi.Input; + /** + * Descriptive name of the resource set. You can't change the name of a resource set after you create it. + */ + name: pulumi.Input; + /** + * Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + */ + resourceSetStatus?: pulumi.Input; + /** + * Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + */ + resourceTypeLists?: pulumi.Input[]>; + updateToken?: pulumi.Input; + } + + export interface ResourceSetTimeouts { + /** + * 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 namespace fsx { @@ -29658,7 +29788,7 @@ export namespace guardduty { export interface DetectorFeatureAdditionalConfiguration { /** - * The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + * The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. */ name: pulumi.Input; /** @@ -29702,6 +29832,31 @@ export namespace guardduty { notEquals?: pulumi.Input[]>; } + export interface MalwareProtectionPlanAction { + /** + * Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + */ + taggings: pulumi.Input; + } + + export interface MalwareProtectionPlanProtectedResource { + /** + * Information about the protected S3 bucket resource. See `s3Bucket` below. + */ + s3Bucket?: pulumi.Input; + } + + export interface MalwareProtectionPlanProtectedResourceS3Bucket { + /** + * Name of the S3 bucket. + */ + bucketName: pulumi.Input; + /** + * The list of object prefixes that specify the S3 objects that will be scanned. + */ + objectPrefixes?: pulumi.Input[]>; + } + export interface OrganizationConfigurationDatasources { /** * Enable Kubernetes Audit Logs Monitoring automatically for new member accounts. @@ -29770,7 +29925,7 @@ export namespace guardduty { */ autoEnable: pulumi.Input; /** - * The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + * The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. */ name: pulumi.Input; } diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 5fdc930fe84..4f35046f84f 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1902,6 +1902,64 @@ export namespace appconfig { } +export namespace appfabric { + export interface AppAuthorizationCredential { + /** + * Contains API key credential information. + */ + apiKeyCredentials?: outputs.appfabric.AppAuthorizationCredentialApiKeyCredential[]; + /** + * Contains OAuth2 client credential information. + */ + oauth2Credential?: outputs.appfabric.AppAuthorizationCredentialOauth2Credential; + } + + export interface AppAuthorizationCredentialApiKeyCredential { + /** + * Contains API key credential information. + */ + apiKey: string; + } + + export interface AppAuthorizationCredentialOauth2Credential { + /** + * The client ID of the client application. + */ + clientId: string; + /** + * The client secret of the client application. + */ + clientSecret: string; + } + + export interface AppAuthorizationTenant { + /** + * The display name of the tenant. + */ + tenantDisplayName: string; + /** + * The ID of the application tenant. + */ + tenantIdentifier: string; + } + + export interface AppAuthorizationTimeouts { + /** + * 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 namespace appflow { export interface ConnectorProfileConnectorProfileConfig { /** @@ -14547,7 +14605,7 @@ export namespace codepipeline { */ pushes?: outputs.codepipeline.PipelineTriggerGitConfigurationPush[]; /** - * The name of the pipeline source action where the trigger configuration. + * The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. */ sourceActionName: string; } @@ -22161,6 +22219,13 @@ export namespace ec2 { virtualName: string; } + export interface CapacityBlockReservationTimeouts { + /** + * 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; + } + export interface DefaultNetworkAclEgress { /** * The action to take. @@ -22624,6 +22689,10 @@ export namespace ec2 { * The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. */ allocationStrategy?: string; + /** + * The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + */ + capacityReservationOptions?: outputs.ec2.FleetOnDemandOptionsCapacityReservationOptions; /** * The maximum amount per hour for On-Demand Instances that you're willing to pay. */ @@ -22643,6 +22712,13 @@ export namespace ec2 { singleInstanceType?: boolean; } + export interface FleetOnDemandOptionsCapacityReservationOptions { + /** + * Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + */ + usageStrategy?: string; + } + export interface FleetSpotOptions { /** * How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. @@ -25369,7 +25445,7 @@ export namespace ec2 { export interface LaunchTemplateElasticGpuSpecification { /** - * The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + * The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) */ type: string; } @@ -27681,6 +27757,18 @@ export namespace ec2 { value: string; } + export interface VpcEndpointSubnetConfiguration { + /** + * The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + */ + ipv4?: string; + /** + * The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + */ + ipv6?: string; + subnetId?: string; + } + export interface VpcIpamOperatingRegion { /** * The name of the Region you want to add to the IPAM. @@ -32549,6 +32637,49 @@ export namespace fms { firewallDeploymentModel?: string; } + export interface ResourceSetResourceSet { + /** + * Description of the resource set. + */ + description?: string; + /** + * Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + */ + id: string; + /** + * Last time that the reosurce set was changed. + */ + lastUpdateTime: string; + /** + * Descriptive name of the resource set. You can't change the name of a resource set after you create it. + */ + name: string; + /** + * Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + */ + resourceSetStatus: string; + /** + * Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + */ + resourceTypeLists?: string[]; + updateToken: string; + } + + export interface ResourceSetTimeouts { + /** + * 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 namespace fsx { @@ -34871,7 +35002,7 @@ export namespace guardduty { export interface DetectorFeatureAdditionalConfiguration { /** - * The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + * The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. */ name: string; /** @@ -34941,6 +35072,31 @@ export namespace guardduty { status: string; } + export interface MalwareProtectionPlanAction { + /** + * Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + */ + taggings: any[]; + } + + export interface MalwareProtectionPlanProtectedResource { + /** + * Information about the protected S3 bucket resource. See `s3Bucket` below. + */ + s3Bucket?: outputs.guardduty.MalwareProtectionPlanProtectedResourceS3Bucket; + } + + export interface MalwareProtectionPlanProtectedResourceS3Bucket { + /** + * Name of the S3 bucket. + */ + bucketName: string; + /** + * The list of object prefixes that specify the S3 objects that will be scanned. + */ + objectPrefixes: string[]; + } + export interface OrganizationConfigurationDatasources { /** * Enable Kubernetes Audit Logs Monitoring automatically for new member accounts. @@ -35009,7 +35165,7 @@ export namespace guardduty { */ autoEnable: string; /** - * The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + * The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. */ name: string; } diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index b075c66ac24..e4187e94b31 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -45,6 +45,8 @@ appautoscaling = __appautoscaling import pulumi_aws.appconfig as __appconfig appconfig = __appconfig + import pulumi_aws.appfabric as __appfabric + appfabric = __appfabric import pulumi_aws.appflow as __appflow appflow = __appflow import pulumi_aws.appintegrations as __appintegrations @@ -451,6 +453,7 @@ apigatewayv2 = _utilities.lazy_import('pulumi_aws.apigatewayv2') appautoscaling = _utilities.lazy_import('pulumi_aws.appautoscaling') appconfig = _utilities.lazy_import('pulumi_aws.appconfig') + appfabric = _utilities.lazy_import('pulumi_aws.appfabric') appflow = _utilities.lazy_import('pulumi_aws.appflow') appintegrations = _utilities.lazy_import('pulumi_aws.appintegrations') applicationinsights = _utilities.lazy_import('pulumi_aws.applicationinsights') @@ -1252,6 +1255,22 @@ "aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion": "HostedConfigurationVersion" } }, + { + "pkg": "aws", + "mod": "appfabric/appAuthorization", + "fqn": "pulumi_aws.appfabric", + "classes": { + "aws:appfabric/appAuthorization:AppAuthorization": "AppAuthorization" + } + }, + { + "pkg": "aws", + "mod": "appfabric/appBundle", + "fqn": "pulumi_aws.appfabric", + "classes": { + "aws:appfabric/appBundle:AppBundle": "AppBundle" + } + }, { "pkg": "aws", "mod": "appflow/connectorProfile", @@ -3916,6 +3935,14 @@ "aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup": "AvailabilityZoneGroup" } }, + { + "pkg": "aws", + "mod": "ec2/capacityBlockReservation", + "fqn": "pulumi_aws.ec2", + "classes": { + "aws:ec2/capacityBlockReservation:CapacityBlockReservation": "CapacityBlockReservation" + } + }, { "pkg": "aws", "mod": "ec2/capacityReservation", @@ -5492,6 +5519,14 @@ "aws:fms/policy:Policy": "Policy" } }, + { + "pkg": "aws", + "mod": "fms/resourceSet", + "fqn": "pulumi_aws.fms", + "classes": { + "aws:fms/resourceSet:ResourceSet": "ResourceSet" + } + }, { "pkg": "aws", "mod": "fsx/backup", @@ -5948,6 +5983,14 @@ "aws:guardduty/inviteAccepter:InviteAccepter": "InviteAccepter" } }, + { + "pkg": "aws", + "mod": "guardduty/malwareProtectionPlan", + "fqn": "pulumi_aws.guardduty", + "classes": { + "aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan": "MalwareProtectionPlan" + } + }, { "pkg": "aws", "mod": "guardduty/member", diff --git a/sdk/python/pulumi_aws/appfabric/__init__.py b/sdk/python/pulumi_aws/appfabric/__init__.py new file mode 100644 index 00000000000..a6e5ae938cd --- /dev/null +++ b/sdk/python/pulumi_aws/appfabric/__init__.py @@ -0,0 +1,11 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .app_authorization import * +from .app_bundle import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/appfabric/_inputs.py b/sdk/python/pulumi_aws/appfabric/_inputs.py new file mode 100644 index 00000000000..6addb2c5216 --- /dev/null +++ b/sdk/python/pulumi_aws/appfabric/_inputs.py @@ -0,0 +1,209 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'AppAuthorizationCredentialArgs', + 'AppAuthorizationCredentialApiKeyCredentialArgs', + 'AppAuthorizationCredentialOauth2CredentialArgs', + 'AppAuthorizationTenantArgs', + 'AppAuthorizationTimeoutsArgs', +] + +@pulumi.input_type +class AppAuthorizationCredentialArgs: + def __init__(__self__, *, + api_key_credentials: Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationCredentialApiKeyCredentialArgs']]]] = None, + oauth2_credential: Optional[pulumi.Input['AppAuthorizationCredentialOauth2CredentialArgs']] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['AppAuthorizationCredentialApiKeyCredentialArgs']]] api_key_credentials: Contains API key credential information. + :param pulumi.Input['AppAuthorizationCredentialOauth2CredentialArgs'] oauth2_credential: Contains OAuth2 client credential information. + """ + if api_key_credentials is not None: + pulumi.set(__self__, "api_key_credentials", api_key_credentials) + if oauth2_credential is not None: + pulumi.set(__self__, "oauth2_credential", oauth2_credential) + + @property + @pulumi.getter(name="apiKeyCredentials") + def api_key_credentials(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationCredentialApiKeyCredentialArgs']]]]: + """ + Contains API key credential information. + """ + return pulumi.get(self, "api_key_credentials") + + @api_key_credentials.setter + def api_key_credentials(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationCredentialApiKeyCredentialArgs']]]]): + pulumi.set(self, "api_key_credentials", value) + + @property + @pulumi.getter(name="oauth2Credential") + def oauth2_credential(self) -> Optional[pulumi.Input['AppAuthorizationCredentialOauth2CredentialArgs']]: + """ + Contains OAuth2 client credential information. + """ + return pulumi.get(self, "oauth2_credential") + + @oauth2_credential.setter + def oauth2_credential(self, value: Optional[pulumi.Input['AppAuthorizationCredentialOauth2CredentialArgs']]): + pulumi.set(self, "oauth2_credential", value) + + +@pulumi.input_type +class AppAuthorizationCredentialApiKeyCredentialArgs: + def __init__(__self__, *, + api_key: pulumi.Input[str]): + """ + :param pulumi.Input[str] api_key: Contains API key credential information. + """ + pulumi.set(__self__, "api_key", api_key) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> pulumi.Input[str]: + """ + Contains API key credential information. + """ + return pulumi.get(self, "api_key") + + @api_key.setter + def api_key(self, value: pulumi.Input[str]): + pulumi.set(self, "api_key", value) + + +@pulumi.input_type +class AppAuthorizationCredentialOauth2CredentialArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + client_secret: pulumi.Input[str]): + """ + :param pulumi.Input[str] client_id: The client ID of the client application. + :param pulumi.Input[str] client_secret: The client secret of the client application. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "client_secret", client_secret) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + The client ID of the client application. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + """ + The client secret of the client application. + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + +@pulumi.input_type +class AppAuthorizationTenantArgs: + def __init__(__self__, *, + tenant_display_name: pulumi.Input[str], + tenant_identifier: pulumi.Input[str]): + """ + :param pulumi.Input[str] tenant_display_name: The display name of the tenant. + :param pulumi.Input[str] tenant_identifier: The ID of the application tenant. + """ + pulumi.set(__self__, "tenant_display_name", tenant_display_name) + pulumi.set(__self__, "tenant_identifier", tenant_identifier) + + @property + @pulumi.getter(name="tenantDisplayName") + def tenant_display_name(self) -> pulumi.Input[str]: + """ + The display name of the tenant. + """ + return pulumi.get(self, "tenant_display_name") + + @tenant_display_name.setter + def tenant_display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "tenant_display_name", value) + + @property + @pulumi.getter(name="tenantIdentifier") + def tenant_identifier(self) -> pulumi.Input[str]: + """ + The ID of the application tenant. + """ + return pulumi.get(self, "tenant_identifier") + + @tenant_identifier.setter + def tenant_identifier(self, value: pulumi.Input[str]): + pulumi.set(self, "tenant_identifier", value) + + +@pulumi.input_type +class AppAuthorizationTimeoutsArgs: + 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) + + diff --git a/sdk/python/pulumi_aws/appfabric/app_authorization.py b/sdk/python/pulumi_aws/appfabric/app_authorization.py new file mode 100644 index 00000000000..dff1261e500 --- /dev/null +++ b/sdk/python/pulumi_aws/appfabric/app_authorization.py @@ -0,0 +1,612 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AppAuthorizationArgs', 'AppAuthorization'] + +@pulumi.input_type +class AppAuthorizationArgs: + def __init__(__self__, *, + app: pulumi.Input[str], + app_bundle_arn: pulumi.Input[str], + auth_type: pulumi.Input[str], + credential: Optional[pulumi.Input['AppAuthorizationCredentialArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tenants: Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationTenantArgs']]]] = None, + timeouts: Optional[pulumi.Input['AppAuthorizationTimeoutsArgs']] = None): + """ + The set of arguments for constructing a AppAuthorization resource. + :param pulumi.Input[str] app: The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + :param pulumi.Input[str] app_bundle_arn: The Amazon Resource Name (ARN) of the app bundle to use for the request. + :param pulumi.Input[str] auth_type: The authorization type for the app authorization valid values are oauth2 and apiKey. + :param pulumi.Input['AppAuthorizationCredentialArgs'] credential: Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + :param pulumi.Input[Sequence[pulumi.Input['AppAuthorizationTenantArgs']]] tenants: Contains information about an application tenant, such as the application display name and identifier. + """ + pulumi.set(__self__, "app", app) + pulumi.set(__self__, "app_bundle_arn", app_bundle_arn) + pulumi.set(__self__, "auth_type", auth_type) + if credential is not None: + pulumi.set(__self__, "credential", credential) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tenants is not None: + pulumi.set(__self__, "tenants", tenants) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def app(self) -> pulumi.Input[str]: + """ + The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + """ + return pulumi.get(self, "app") + + @app.setter + def app(self, value: pulumi.Input[str]): + pulumi.set(self, "app", value) + + @property + @pulumi.getter(name="appBundleArn") + def app_bundle_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the app bundle to use for the request. + """ + return pulumi.get(self, "app_bundle_arn") + + @app_bundle_arn.setter + def app_bundle_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "app_bundle_arn", value) + + @property + @pulumi.getter(name="authType") + def auth_type(self) -> pulumi.Input[str]: + """ + The authorization type for the app authorization valid values are oauth2 and apiKey. + """ + return pulumi.get(self, "auth_type") + + @auth_type.setter + def auth_type(self, value: pulumi.Input[str]): + pulumi.set(self, "auth_type", value) + + @property + @pulumi.getter + def credential(self) -> Optional[pulumi.Input['AppAuthorizationCredentialArgs']]: + """ + Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + """ + return pulumi.get(self, "credential") + + @credential.setter + def credential(self, value: Optional[pulumi.Input['AppAuthorizationCredentialArgs']]): + pulumi.set(self, "credential", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + 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 tenants(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationTenantArgs']]]]: + """ + Contains information about an application tenant, such as the application display name and identifier. + """ + return pulumi.get(self, "tenants") + + @tenants.setter + def tenants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationTenantArgs']]]]): + pulumi.set(self, "tenants", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['AppAuthorizationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['AppAuthorizationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _AppAuthorizationState: + def __init__(__self__, *, + app: Optional[pulumi.Input[str]] = None, + app_bundle_arn: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, + auth_type: Optional[pulumi.Input[str]] = None, + auth_url: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + credential: Optional[pulumi.Input['AppAuthorizationCredentialArgs']] = None, + persona: 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, + tenants: Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationTenantArgs']]]] = None, + timeouts: Optional[pulumi.Input['AppAuthorizationTimeoutsArgs']] = None, + updated_at: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AppAuthorization resources. + :param pulumi.Input[str] app: The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + :param pulumi.Input[str] app_bundle_arn: The Amazon Resource Name (ARN) of the app bundle to use for the request. + :param pulumi.Input[str] arn: ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + :param pulumi.Input[str] auth_type: The authorization type for the app authorization valid values are oauth2 and apiKey. + :param pulumi.Input[str] auth_url: The application URL for the OAuth flow. + :param pulumi.Input['AppAuthorizationCredentialArgs'] credential: Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + :param pulumi.Input[str] persona: The user persona of the app authorization. + :param pulumi.Input[Sequence[pulumi.Input['AppAuthorizationTenantArgs']]] tenants: Contains information about an application tenant, such as the application display name and identifier. + """ + if app is not None: + pulumi.set(__self__, "app", app) + if app_bundle_arn is not None: + pulumi.set(__self__, "app_bundle_arn", app_bundle_arn) + if arn is not None: + pulumi.set(__self__, "arn", arn) + if auth_type is not None: + pulumi.set(__self__, "auth_type", auth_type) + if auth_url is not None: + pulumi.set(__self__, "auth_url", auth_url) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if credential is not None: + pulumi.set(__self__, "credential", credential) + if persona is not None: + pulumi.set(__self__, "persona", persona) + 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 tenants is not None: + pulumi.set(__self__, "tenants", tenants) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if updated_at is not None: + pulumi.set(__self__, "updated_at", updated_at) + + @property + @pulumi.getter + def app(self) -> Optional[pulumi.Input[str]]: + """ + The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + """ + return pulumi.get(self, "app") + + @app.setter + def app(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app", value) + + @property + @pulumi.getter(name="appBundleArn") + def app_bundle_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the app bundle to use for the request. + """ + return pulumi.get(self, "app_bundle_arn") + + @app_bundle_arn.setter + def app_bundle_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_bundle_arn", value) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="authType") + def auth_type(self) -> Optional[pulumi.Input[str]]: + """ + The authorization type for the app authorization valid values are oauth2 and apiKey. + """ + return pulumi.get(self, "auth_type") + + @auth_type.setter + def auth_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auth_type", value) + + @property + @pulumi.getter(name="authUrl") + def auth_url(self) -> Optional[pulumi.Input[str]]: + """ + The application URL for the OAuth flow. + """ + return pulumi.get(self, "auth_url") + + @auth_url.setter + def auth_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auth_url", value) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter + def credential(self) -> Optional[pulumi.Input['AppAuthorizationCredentialArgs']]: + """ + Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + """ + return pulumi.get(self, "credential") + + @credential.setter + def credential(self, value: Optional[pulumi.Input['AppAuthorizationCredentialArgs']]): + pulumi.set(self, "credential", value) + + @property + @pulumi.getter + def persona(self) -> Optional[pulumi.Input[str]]: + """ + The user persona of the app authorization. + """ + return pulumi.get(self, "persona") + + @persona.setter + def persona(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "persona", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + 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") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + 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 tenants(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationTenantArgs']]]]: + """ + Contains information about an application tenant, such as the application display name and identifier. + """ + return pulumi.get(self, "tenants") + + @tenants.setter + def tenants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppAuthorizationTenantArgs']]]]): + pulumi.set(self, "tenants", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['AppAuthorizationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['AppAuthorizationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "updated_at") + + @updated_at.setter + def updated_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "updated_at", value) + + +class AppAuthorization(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + app: Optional[pulumi.Input[str]] = None, + app_bundle_arn: Optional[pulumi.Input[str]] = None, + auth_type: Optional[pulumi.Input[str]] = None, + credential: Optional[pulumi.Input[pulumi.InputType['AppAuthorizationCredentialArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tenants: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AppAuthorizationTenantArgs']]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AppAuthorizationTimeoutsArgs']]] = None, + __props__=None): + """ + Resource for managing an AWS AppFabric App Authorization. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.appfabric.AppAuthorization("example", + app="TERRAFORMCLOUD", + app_bundle_arn=arn, + auth_type="apiKey", + credential=aws.appfabric.AppAuthorizationCredentialArgs( + api_key_credentials=[aws.appfabric.AppAuthorizationCredentialApiKeyCredentialArgs( + api_key="exampleapikeytoken", + )], + ), + tenants=[aws.appfabric.AppAuthorizationTenantArgs( + tenant_display_name="example", + tenant_identifier="example", + )]) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] app: The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + :param pulumi.Input[str] app_bundle_arn: The Amazon Resource Name (ARN) of the app bundle to use for the request. + :param pulumi.Input[str] auth_type: The authorization type for the app authorization valid values are oauth2 and apiKey. + :param pulumi.Input[pulumi.InputType['AppAuthorizationCredentialArgs']] credential: Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AppAuthorizationTenantArgs']]]] tenants: Contains information about an application tenant, such as the application display name and identifier. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AppAuthorizationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS AppFabric App Authorization. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.appfabric.AppAuthorization("example", + app="TERRAFORMCLOUD", + app_bundle_arn=arn, + auth_type="apiKey", + credential=aws.appfabric.AppAuthorizationCredentialArgs( + api_key_credentials=[aws.appfabric.AppAuthorizationCredentialApiKeyCredentialArgs( + api_key="exampleapikeytoken", + )], + ), + tenants=[aws.appfabric.AppAuthorizationTenantArgs( + tenant_display_name="example", + tenant_identifier="example", + )]) + ``` + + :param str resource_name: The name of the resource. + :param AppAuthorizationArgs 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(AppAuthorizationArgs, 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, + app: Optional[pulumi.Input[str]] = None, + app_bundle_arn: Optional[pulumi.Input[str]] = None, + auth_type: Optional[pulumi.Input[str]] = None, + credential: Optional[pulumi.Input[pulumi.InputType['AppAuthorizationCredentialArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tenants: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AppAuthorizationTenantArgs']]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AppAuthorizationTimeoutsArgs']]] = 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__ = AppAuthorizationArgs.__new__(AppAuthorizationArgs) + + if app is None and not opts.urn: + raise TypeError("Missing required property 'app'") + __props__.__dict__["app"] = app + if app_bundle_arn is None and not opts.urn: + raise TypeError("Missing required property 'app_bundle_arn'") + __props__.__dict__["app_bundle_arn"] = app_bundle_arn + if auth_type is None and not opts.urn: + raise TypeError("Missing required property 'auth_type'") + __props__.__dict__["auth_type"] = auth_type + __props__.__dict__["credential"] = credential + __props__.__dict__["tags"] = tags + __props__.__dict__["tenants"] = tenants + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["arn"] = None + __props__.__dict__["auth_url"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["persona"] = None + __props__.__dict__["tags_all"] = None + __props__.__dict__["updated_at"] = None + super(AppAuthorization, __self__).__init__( + 'aws:appfabric/appAuthorization:AppAuthorization', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + app: Optional[pulumi.Input[str]] = None, + app_bundle_arn: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, + auth_type: Optional[pulumi.Input[str]] = None, + auth_url: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + credential: Optional[pulumi.Input[pulumi.InputType['AppAuthorizationCredentialArgs']]] = None, + persona: 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, + tenants: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AppAuthorizationTenantArgs']]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AppAuthorizationTimeoutsArgs']]] = None, + updated_at: Optional[pulumi.Input[str]] = None) -> 'AppAuthorization': + """ + Get an existing AppAuthorization 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] app: The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + :param pulumi.Input[str] app_bundle_arn: The Amazon Resource Name (ARN) of the app bundle to use for the request. + :param pulumi.Input[str] arn: ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + :param pulumi.Input[str] auth_type: The authorization type for the app authorization valid values are oauth2 and apiKey. + :param pulumi.Input[str] auth_url: The application URL for the OAuth flow. + :param pulumi.Input[pulumi.InputType['AppAuthorizationCredentialArgs']] credential: Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + :param pulumi.Input[str] persona: The user persona of the app authorization. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AppAuthorizationTenantArgs']]]] tenants: Contains information about an application tenant, such as the application display name and identifier. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AppAuthorizationState.__new__(_AppAuthorizationState) + + __props__.__dict__["app"] = app + __props__.__dict__["app_bundle_arn"] = app_bundle_arn + __props__.__dict__["arn"] = arn + __props__.__dict__["auth_type"] = auth_type + __props__.__dict__["auth_url"] = auth_url + __props__.__dict__["created_at"] = created_at + __props__.__dict__["credential"] = credential + __props__.__dict__["persona"] = persona + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["tenants"] = tenants + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["updated_at"] = updated_at + return AppAuthorization(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def app(self) -> pulumi.Output[str]: + """ + The name of the application for valid values see https://docs.aws.amazon.com/appfabric/latest/api/API_CreateAppAuthorization.html. + """ + return pulumi.get(self, "app") + + @property + @pulumi.getter(name="appBundleArn") + def app_bundle_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the app bundle to use for the request. + """ + return pulumi.get(self, "app_bundle_arn") + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the App Authorization. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="authType") + def auth_type(self) -> pulumi.Output[str]: + """ + The authorization type for the app authorization valid values are oauth2 and apiKey. + """ + return pulumi.get(self, "auth_type") + + @property + @pulumi.getter(name="authUrl") + def auth_url(self) -> pulumi.Output[str]: + """ + The application URL for the OAuth flow. + """ + return pulumi.get(self, "auth_url") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def credential(self) -> pulumi.Output[Optional['outputs.AppAuthorizationCredential']]: + """ + Contains credentials for the application, such as an API key or OAuth2 client ID and secret. + Specify credentials that match the authorization type for your request. For example, if the authorization type for your request is OAuth2 (oauth2), then you should provide only the OAuth2 credentials. + """ + return pulumi.get(self, "credential") + + @property + @pulumi.getter + def persona(self) -> pulumi.Output[str]: + """ + The user persona of the app authorization. + """ + return pulumi.get(self, "persona") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def tenants(self) -> pulumi.Output[Optional[Sequence['outputs.AppAuthorizationTenant']]]: + """ + Contains information about an application tenant, such as the application display name and identifier. + """ + return pulumi.get(self, "tenants") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.AppAuthorizationTimeouts']]: + return pulumi.get(self, "timeouts") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "updated_at") + diff --git a/sdk/python/pulumi_aws/appfabric/app_bundle.py b/sdk/python/pulumi_aws/appfabric/app_bundle.py new file mode 100644 index 00000000000..20443758e89 --- /dev/null +++ b/sdk/python/pulumi_aws/appfabric/app_bundle.py @@ -0,0 +1,303 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['AppBundleArgs', 'AppBundle'] + +@pulumi.input_type +class AppBundleArgs: + def __init__(__self__, *, + customer_managed_key_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a AppBundle resource. + :param pulumi.Input[str] customer_managed_key_arn: The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. + """ + if customer_managed_key_arn is not None: + pulumi.set(__self__, "customer_managed_key_arn", customer_managed_key_arn) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="customerManagedKeyArn") + def customer_managed_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + """ + return pulumi.get(self, "customer_managed_key_arn") + + @customer_managed_key_arn.setter + def customer_managed_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "customer_managed_key_arn", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 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. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _AppBundleState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + customer_managed_key_arn: 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): + """ + Input properties used for looking up and filtering AppBundle resources. + :param pulumi.Input[str] arn: ARN of the AppBundle. + :param pulumi.Input[str] customer_managed_key_arn: The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if customer_managed_key_arn is not None: + pulumi.set(__self__, "customer_managed_key_arn", customer_managed_key_arn) + 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) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the AppBundle. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="customerManagedKeyArn") + def customer_managed_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + """ + return pulumi.get(self, "customer_managed_key_arn") + + @customer_managed_key_arn.setter + def customer_managed_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "customer_managed_key_arn", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 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. + """ + 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") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + 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) + + +class AppBundle(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + customer_managed_key_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource for managing an AWS AppFabric AppBundle. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.appfabric.AppBundle("example", + customer_managed_key_arn=example_awms_kms_key["arn"], + tags={ + "Environment": "test", + }) + ``` + + ## Import + + Using `pulumi import`, import AppFabric AppBundle using the `arn`. For example: + + ```sh + $ pulumi import aws:appfabric/appBundle:AppBundle example arn:aws:appfabric:[region]:[account]:appbundle/ee5587b4-5765-4288-a202-xxxxxxxxxx + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] customer_managed_key_arn: The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[AppBundleArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS AppFabric AppBundle. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.appfabric.AppBundle("example", + customer_managed_key_arn=example_awms_kms_key["arn"], + tags={ + "Environment": "test", + }) + ``` + + ## Import + + Using `pulumi import`, import AppFabric AppBundle using the `arn`. For example: + + ```sh + $ pulumi import aws:appfabric/appBundle:AppBundle example arn:aws:appfabric:[region]:[account]:appbundle/ee5587b4-5765-4288-a202-xxxxxxxxxx + ``` + + :param str resource_name: The name of the resource. + :param AppBundleArgs 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(AppBundleArgs, 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, + customer_managed_key_arn: Optional[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) + 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__ = AppBundleArgs.__new__(AppBundleArgs) + + __props__.__dict__["customer_managed_key_arn"] = customer_managed_key_arn + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["tags_all"] = None + super(AppBundle, __self__).__init__( + 'aws:appfabric/appBundle:AppBundle', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + customer_managed_key_arn: 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) -> 'AppBundle': + """ + Get an existing AppBundle 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] arn: ARN of the AppBundle. + :param pulumi.Input[str] customer_managed_key_arn: The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AppBundleState.__new__(_AppBundleState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["customer_managed_key_arn"] = customer_managed_key_arn + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return AppBundle(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the AppBundle. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="customerManagedKeyArn") + def customer_managed_key_arn(self) -> pulumi.Output[Optional[str]]: + """ + The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) key to use to encrypt the application data. If this is not specified, an AWS owned key is used for encryption. + """ + return pulumi.get(self, "customer_managed_key_arn") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + 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. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/appfabric/outputs.py b/sdk/python/pulumi_aws/appfabric/outputs.py new file mode 100644 index 00000000000..95aa51a1cff --- /dev/null +++ b/sdk/python/pulumi_aws/appfabric/outputs.py @@ -0,0 +1,244 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'AppAuthorizationCredential', + 'AppAuthorizationCredentialApiKeyCredential', + 'AppAuthorizationCredentialOauth2Credential', + 'AppAuthorizationTenant', + 'AppAuthorizationTimeouts', +] + +@pulumi.output_type +class AppAuthorizationCredential(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiKeyCredentials": + suggest = "api_key_credentials" + elif key == "oauth2Credential": + suggest = "oauth2_credential" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppAuthorizationCredential. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppAuthorizationCredential.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppAuthorizationCredential.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_key_credentials: Optional[Sequence['outputs.AppAuthorizationCredentialApiKeyCredential']] = None, + oauth2_credential: Optional['outputs.AppAuthorizationCredentialOauth2Credential'] = None): + """ + :param Sequence['AppAuthorizationCredentialApiKeyCredentialArgs'] api_key_credentials: Contains API key credential information. + :param 'AppAuthorizationCredentialOauth2CredentialArgs' oauth2_credential: Contains OAuth2 client credential information. + """ + if api_key_credentials is not None: + pulumi.set(__self__, "api_key_credentials", api_key_credentials) + if oauth2_credential is not None: + pulumi.set(__self__, "oauth2_credential", oauth2_credential) + + @property + @pulumi.getter(name="apiKeyCredentials") + def api_key_credentials(self) -> Optional[Sequence['outputs.AppAuthorizationCredentialApiKeyCredential']]: + """ + Contains API key credential information. + """ + return pulumi.get(self, "api_key_credentials") + + @property + @pulumi.getter(name="oauth2Credential") + def oauth2_credential(self) -> Optional['outputs.AppAuthorizationCredentialOauth2Credential']: + """ + Contains OAuth2 client credential information. + """ + return pulumi.get(self, "oauth2_credential") + + +@pulumi.output_type +class AppAuthorizationCredentialApiKeyCredential(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiKey": + suggest = "api_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppAuthorizationCredentialApiKeyCredential. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppAuthorizationCredentialApiKeyCredential.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppAuthorizationCredentialApiKeyCredential.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_key: str): + """ + :param str api_key: Contains API key credential information. + """ + pulumi.set(__self__, "api_key", api_key) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> str: + """ + Contains API key credential information. + """ + return pulumi.get(self, "api_key") + + +@pulumi.output_type +class AppAuthorizationCredentialOauth2Credential(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "clientSecret": + suggest = "client_secret" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppAuthorizationCredentialOauth2Credential. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppAuthorizationCredentialOauth2Credential.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppAuthorizationCredentialOauth2Credential.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + client_secret: str): + """ + :param str client_id: The client ID of the client application. + :param str client_secret: The client secret of the client application. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "client_secret", client_secret) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client ID of the client application. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + """ + The client secret of the client application. + """ + return pulumi.get(self, "client_secret") + + +@pulumi.output_type +class AppAuthorizationTenant(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tenantDisplayName": + suggest = "tenant_display_name" + elif key == "tenantIdentifier": + suggest = "tenant_identifier" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppAuthorizationTenant. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppAuthorizationTenant.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppAuthorizationTenant.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tenant_display_name: str, + tenant_identifier: str): + """ + :param str tenant_display_name: The display name of the tenant. + :param str tenant_identifier: The ID of the application tenant. + """ + pulumi.set(__self__, "tenant_display_name", tenant_display_name) + pulumi.set(__self__, "tenant_identifier", tenant_identifier) + + @property + @pulumi.getter(name="tenantDisplayName") + def tenant_display_name(self) -> str: + """ + The display name of the tenant. + """ + return pulumi.get(self, "tenant_display_name") + + @property + @pulumi.getter(name="tenantIdentifier") + def tenant_identifier(self) -> str: + """ + The ID of the application tenant. + """ + return pulumi.get(self, "tenant_identifier") + + +@pulumi.output_type +class AppAuthorizationTimeouts(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") + + diff --git a/sdk/python/pulumi_aws/codebuild/project.py b/sdk/python/pulumi_aws/codebuild/project.py index c7e67e17794..012d808416c 100644 --- a/sdk/python/pulumi_aws/codebuild/project.py +++ b/sdk/python/pulumi_aws/codebuild/project.py @@ -49,7 +49,7 @@ def __init__(__self__, *, The following arguments are optional: :param pulumi.Input[bool] badge_enabled: Generates a publicly-accessible URL for the projects build badge. Available as `badge_url` attribute when enabled. :param pulumi.Input['ProjectBuildBatchConfigArgs'] build_batch_config: Defines the batch build options for the project. - :param pulumi.Input[int] build_timeout: Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + :param pulumi.Input[int] build_timeout: Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. :param pulumi.Input['ProjectCacheArgs'] cache: Configuration block. Detailed below. :param pulumi.Input[int] concurrent_build_limit: Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit. :param pulumi.Input[str] description: Short description of the project. @@ -188,7 +188,7 @@ def build_batch_config(self, value: Optional[pulumi.Input['ProjectBuildBatchConf @pulumi.getter(name="buildTimeout") def build_timeout(self) -> Optional[pulumi.Input[int]]: """ - Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. """ return pulumi.get(self, "build_timeout") @@ -426,7 +426,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] badge_enabled: Generates a publicly-accessible URL for the projects build badge. Available as `badge_url` attribute when enabled. :param pulumi.Input[str] badge_url: URL of the build badge when `badge_enabled` is enabled. :param pulumi.Input['ProjectBuildBatchConfigArgs'] build_batch_config: Defines the batch build options for the project. - :param pulumi.Input[int] build_timeout: Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + :param pulumi.Input[int] build_timeout: Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. :param pulumi.Input['ProjectCacheArgs'] cache: Configuration block. Detailed below. :param pulumi.Input[int] concurrent_build_limit: Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit. :param pulumi.Input[str] description: Short description of the project. @@ -573,7 +573,7 @@ def build_batch_config(self, value: Optional[pulumi.Input['ProjectBuildBatchConf @pulumi.getter(name="buildTimeout") def build_timeout(self) -> Optional[pulumi.Input[int]]: """ - Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. """ return pulumi.get(self, "build_timeout") @@ -1058,7 +1058,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['ProjectArtifactsArgs']] artifacts: Configuration block. Detailed below. :param pulumi.Input[bool] badge_enabled: Generates a publicly-accessible URL for the projects build badge. Available as `badge_url` attribute when enabled. :param pulumi.Input[pulumi.InputType['ProjectBuildBatchConfigArgs']] build_batch_config: Defines the batch build options for the project. - :param pulumi.Input[int] build_timeout: Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + :param pulumi.Input[int] build_timeout: Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. :param pulumi.Input[pulumi.InputType['ProjectCacheArgs']] cache: Configuration block. Detailed below. :param pulumi.Input[int] concurrent_build_limit: Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit. :param pulumi.Input[str] description: Short description of the project. @@ -1403,7 +1403,7 @@ def get(resource_name: str, :param pulumi.Input[bool] badge_enabled: Generates a publicly-accessible URL for the projects build badge. Available as `badge_url` attribute when enabled. :param pulumi.Input[str] badge_url: URL of the build badge when `badge_enabled` is enabled. :param pulumi.Input[pulumi.InputType['ProjectBuildBatchConfigArgs']] build_batch_config: Defines the batch build options for the project. - :param pulumi.Input[int] build_timeout: Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + :param pulumi.Input[int] build_timeout: Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. :param pulumi.Input[pulumi.InputType['ProjectCacheArgs']] cache: Configuration block. Detailed below. :param pulumi.Input[int] concurrent_build_limit: Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit. :param pulumi.Input[str] description: Short description of the project. @@ -1505,7 +1505,7 @@ def build_batch_config(self) -> pulumi.Output[Optional['outputs.ProjectBuildBatc @pulumi.getter(name="buildTimeout") def build_timeout(self) -> pulumi.Output[Optional[int]]: """ - Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. + Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The `build_timeout` property is not available on the `Lambda` compute type. """ return pulumi.get(self, "build_timeout") diff --git a/sdk/python/pulumi_aws/codepipeline/_inputs.py b/sdk/python/pulumi_aws/codepipeline/_inputs.py index 8f5ed8c3b27..5df6c3e928d 100644 --- a/sdk/python/pulumi_aws/codepipeline/_inputs.py +++ b/sdk/python/pulumi_aws/codepipeline/_inputs.py @@ -673,7 +673,7 @@ def __init__(__self__, *, pull_requests: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTriggerGitConfigurationPullRequestArgs']]]] = None, pushes: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTriggerGitConfigurationPushArgs']]]] = None): """ - :param pulumi.Input[str] source_action_name: The name of the pipeline source action where the trigger configuration. + :param pulumi.Input[str] source_action_name: The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. :param pulumi.Input[Sequence[pulumi.Input['PipelineTriggerGitConfigurationPullRequestArgs']]] pull_requests: The field where the repository event that will start the pipeline is specified as pull requests. A `pull_request` block is documented below. :param pulumi.Input[Sequence[pulumi.Input['PipelineTriggerGitConfigurationPushArgs']]] pushes: The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A `push` block is documented below. """ @@ -687,7 +687,7 @@ def __init__(__self__, *, @pulumi.getter(name="sourceActionName") def source_action_name(self) -> pulumi.Input[str]: """ - The name of the pipeline source action where the trigger configuration. + The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. """ return pulumi.get(self, "source_action_name") diff --git a/sdk/python/pulumi_aws/codepipeline/outputs.py b/sdk/python/pulumi_aws/codepipeline/outputs.py index e0657bea639..aef3ebb1ffb 100644 --- a/sdk/python/pulumi_aws/codepipeline/outputs.py +++ b/sdk/python/pulumi_aws/codepipeline/outputs.py @@ -665,7 +665,7 @@ def __init__(__self__, *, pull_requests: Optional[Sequence['outputs.PipelineTriggerGitConfigurationPullRequest']] = None, pushes: Optional[Sequence['outputs.PipelineTriggerGitConfigurationPush']] = None): """ - :param str source_action_name: The name of the pipeline source action where the trigger configuration. + :param str source_action_name: The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. :param Sequence['PipelineTriggerGitConfigurationPullRequestArgs'] pull_requests: The field where the repository event that will start the pipeline is specified as pull requests. A `pull_request` block is documented below. :param Sequence['PipelineTriggerGitConfigurationPushArgs'] pushes: The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A `push` block is documented below. """ @@ -679,7 +679,7 @@ def __init__(__self__, *, @pulumi.getter(name="sourceActionName") def source_action_name(self) -> str: """ - The name of the pipeline source action where the trigger configuration. + The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. """ return pulumi.get(self, "source_action_name") diff --git a/sdk/python/pulumi_aws/detective/organization_configuration.py b/sdk/python/pulumi_aws/detective/organization_configuration.py index 29bd6dfbf97..f8b764062a4 100644 --- a/sdk/python/pulumi_aws/detective/organization_configuration.py +++ b/sdk/python/pulumi_aws/detective/organization_configuration.py @@ -102,10 +102,10 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example: + Using `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example: ```sh - $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617 + $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example arn:aws:detective:us-east-1:123456789012:graph:00b00fd5aecc0ab60a708659477e9617 ``` :param str resource_name: The name of the resource. @@ -124,10 +124,10 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_detective_organization_admin_account` using the Detective Graph ID. For example: + Using `pulumi import`, import `aws_detective_organization_admin_account` using the behavior graph ARN. For example: ```sh - $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617 + $ pulumi import aws:detective/organizationConfiguration:OrganizationConfiguration example arn:aws:detective:us-east-1:123456789012:graph:00b00fd5aecc0ab60a708659477e9617 ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_aws/ec2/__init__.py b/sdk/python/pulumi_aws/ec2/__init__.py index c2a922322c8..9fae58f8d2b 100644 --- a/sdk/python/pulumi_aws/ec2/__init__.py +++ b/sdk/python/pulumi_aws/ec2/__init__.py @@ -11,6 +11,7 @@ from .ami_from_instance import * from .ami_launch_permission import * from .availability_zone_group import * +from .capacity_block_reservation import * from .capacity_reservation import * from .carrier_gateway import * from .customer_gateway import * @@ -29,6 +30,7 @@ from .flow_log import * from .get_ami import * from .get_ami_ids import * +from .get_capacity_block_offering import * from .get_coip_pool import * from .get_coip_pools import * from .get_customer_gateway import * diff --git a/sdk/python/pulumi_aws/ec2/_inputs.py b/sdk/python/pulumi_aws/ec2/_inputs.py index be1577da0d9..bf39994672d 100644 --- a/sdk/python/pulumi_aws/ec2/_inputs.py +++ b/sdk/python/pulumi_aws/ec2/_inputs.py @@ -17,6 +17,7 @@ 'AmiEphemeralBlockDeviceArgs', 'AmiFromInstanceEbsBlockDeviceArgs', 'AmiFromInstanceEphemeralBlockDeviceArgs', + 'CapacityBlockReservationTimeoutsArgs', 'DefaultNetworkAclEgressArgs', 'DefaultNetworkAclIngressArgs', 'DefaultRouteTableRouteArgs', @@ -38,6 +39,7 @@ 'FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs', 'FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs', 'FleetOnDemandOptionsArgs', + 'FleetOnDemandOptionsCapacityReservationOptionsArgs', 'FleetSpotOptionsArgs', 'FleetSpotOptionsMaintenanceStrategiesArgs', 'FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs', @@ -219,6 +221,7 @@ 'VpcEndpointDnsEntryArgs', 'VpcEndpointDnsOptionsArgs', 'VpcEndpointServicePrivateDnsNameConfigurationArgs', + 'VpcEndpointSubnetConfigurationArgs', 'VpcIpamOperatingRegionArgs', 'VpcIpamPoolCidrCidrAuthorizationContextArgs', 'VpcIpamResourceDiscoveryOperatingRegionArgs', @@ -911,6 +914,29 @@ def virtual_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "virtual_name", value) +@pulumi.input_type +class CapacityBlockReservationTimeoutsArgs: + def __init__(__self__, *, + create: 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). + """ + if create is not None: + pulumi.set(__self__, "create", create) + + @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) + + @pulumi.input_type class DefaultNetworkAclEgressArgs: def __init__(__self__, *, @@ -2726,12 +2752,14 @@ def max(self, value: Optional[pulumi.Input[int]]): class FleetOnDemandOptionsArgs: def __init__(__self__, *, allocation_strategy: Optional[pulumi.Input[str]] = None, + capacity_reservation_options: Optional[pulumi.Input['FleetOnDemandOptionsCapacityReservationOptionsArgs']] = None, max_total_price: Optional[pulumi.Input[str]] = None, min_target_capacity: Optional[pulumi.Input[int]] = None, single_availability_zone: Optional[pulumi.Input[bool]] = None, single_instance_type: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] allocation_strategy: The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. + :param pulumi.Input['FleetOnDemandOptionsCapacityReservationOptionsArgs'] capacity_reservation_options: The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. :param pulumi.Input[str] max_total_price: The maximum amount per hour for On-Demand Instances that you're willing to pay. :param pulumi.Input[int] min_target_capacity: The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. If you specify `min_target_capacity`, at least one of the following must be specified: `single_availability_zone` or `single_instance_type`. @@ -2740,6 +2768,8 @@ def __init__(__self__, *, """ if allocation_strategy is not None: pulumi.set(__self__, "allocation_strategy", allocation_strategy) + if capacity_reservation_options is not None: + pulumi.set(__self__, "capacity_reservation_options", capacity_reservation_options) if max_total_price is not None: pulumi.set(__self__, "max_total_price", max_total_price) if min_target_capacity is not None: @@ -2761,6 +2791,18 @@ def allocation_strategy(self) -> Optional[pulumi.Input[str]]: def allocation_strategy(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "allocation_strategy", value) + @property + @pulumi.getter(name="capacityReservationOptions") + def capacity_reservation_options(self) -> Optional[pulumi.Input['FleetOnDemandOptionsCapacityReservationOptionsArgs']]: + """ + The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + """ + return pulumi.get(self, "capacity_reservation_options") + + @capacity_reservation_options.setter + def capacity_reservation_options(self, value: Optional[pulumi.Input['FleetOnDemandOptionsCapacityReservationOptionsArgs']]): + pulumi.set(self, "capacity_reservation_options", value) + @property @pulumi.getter(name="maxTotalPrice") def max_total_price(self) -> Optional[pulumi.Input[str]]: @@ -2811,6 +2853,29 @@ def single_instance_type(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "single_instance_type", value) +@pulumi.input_type +class FleetOnDemandOptionsCapacityReservationOptionsArgs: + def __init__(__self__, *, + usage_strategy: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] usage_strategy: Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + """ + if usage_strategy is not None: + pulumi.set(__self__, "usage_strategy", usage_strategy) + + @property + @pulumi.getter(name="usageStrategy") + def usage_strategy(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + """ + return pulumi.get(self, "usage_strategy") + + @usage_strategy.setter + def usage_strategy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "usage_strategy", value) + + @pulumi.input_type class FleetSpotOptionsArgs: def __init__(__self__, *, @@ -4802,7 +4867,7 @@ class LaunchTemplateElasticGpuSpecificationArgs: def __init__(__self__, *, type: pulumi.Input[str]): """ - :param pulumi.Input[str] type: The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + :param pulumi.Input[str] type: The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) """ pulumi.set(__self__, "type", type) @@ -4810,7 +4875,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> pulumi.Input[str]: """ - The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) """ return pulumi.get(self, "type") @@ -15305,6 +15370,57 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +@pulumi.input_type +class VpcEndpointSubnetConfigurationArgs: + def __init__(__self__, *, + ipv4: Optional[pulumi.Input[str]] = None, + ipv6: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] ipv4: The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + :param pulumi.Input[str] ipv6: The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + """ + if ipv4 is not None: + pulumi.set(__self__, "ipv4", ipv4) + if ipv6 is not None: + pulumi.set(__self__, "ipv6", ipv6) + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + + @property + @pulumi.getter + def ipv4(self) -> Optional[pulumi.Input[str]]: + """ + The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + """ + return pulumi.get(self, "ipv4") + + @ipv4.setter + def ipv4(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ipv4", value) + + @property + @pulumi.getter + def ipv6(self) -> Optional[pulumi.Input[str]]: + """ + The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + """ + return pulumi.get(self, "ipv6") + + @ipv6.setter + def ipv6(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ipv6", value) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subnet_id", value) + + @pulumi.input_type class VpcIpamOperatingRegionArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/ec2/capacity_block_reservation.py b/sdk/python/pulumi_aws/ec2/capacity_block_reservation.py new file mode 100644 index 00000000000..ef798c0dd55 --- /dev/null +++ b/sdk/python/pulumi_aws/ec2/capacity_block_reservation.py @@ -0,0 +1,686 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CapacityBlockReservationArgs', 'CapacityBlockReservation'] + +@pulumi.input_type +class CapacityBlockReservationArgs: + def __init__(__self__, *, + capacity_block_offering_id: pulumi.Input[str], + instance_platform: pulumi.Input[str], + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['CapacityBlockReservationTimeoutsArgs']] = None): + """ + The set of arguments for constructing a CapacityBlockReservation resource. + :param pulumi.Input[str] capacity_block_offering_id: The Capacity Block Reservation ID. + :param pulumi.Input[str] instance_platform: The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + :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__, "capacity_block_offering_id", capacity_block_offering_id) + pulumi.set(__self__, "instance_platform", instance_platform) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="capacityBlockOfferingId") + def capacity_block_offering_id(self) -> pulumi.Input[str]: + """ + The Capacity Block Reservation ID. + """ + return pulumi.get(self, "capacity_block_offering_id") + + @capacity_block_offering_id.setter + def capacity_block_offering_id(self, value: pulumi.Input[str]): + pulumi.set(self, "capacity_block_offering_id", value) + + @property + @pulumi.getter(name="instancePlatform") + def instance_platform(self) -> pulumi.Input[str]: + """ + The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + """ + return pulumi.get(self, "instance_platform") + + @instance_platform.setter + def instance_platform(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_platform", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 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. + """ + 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['CapacityBlockReservationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['CapacityBlockReservationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _CapacityBlockReservationState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + availability_zone: Optional[pulumi.Input[str]] = None, + capacity_block_offering_id: Optional[pulumi.Input[str]] = None, + created_date: Optional[pulumi.Input[str]] = None, + ebs_optimized: Optional[pulumi.Input[bool]] = None, + end_date: Optional[pulumi.Input[str]] = None, + end_date_type: Optional[pulumi.Input[str]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + instance_platform: Optional[pulumi.Input[str]] = None, + instance_type: Optional[pulumi.Input[str]] = None, + outpost_arn: Optional[pulumi.Input[str]] = None, + placement_group_arn: Optional[pulumi.Input[str]] = None, + reservation_type: Optional[pulumi.Input[str]] = None, + start_date: 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, + tenancy: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input['CapacityBlockReservationTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering CapacityBlockReservation resources. + :param pulumi.Input[str] arn: The ARN of the reservation. + :param pulumi.Input[str] availability_zone: The Availability Zone in which to create the Capacity Block Reservation. + :param pulumi.Input[str] capacity_block_offering_id: The Capacity Block Reservation ID. + :param pulumi.Input[str] created_date: The date and time at which the Capacity Block Reservation was created. + :param pulumi.Input[bool] ebs_optimized: Indicates whether the Capacity Reservation supports EBS-optimized instances. + :param pulumi.Input[str] end_date: The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + :param pulumi.Input[str] end_date_type: Indicates the way in which the Capacity Reservation ends. + :param pulumi.Input[int] instance_count: The number of instances for which to reserve capacity. + :param pulumi.Input[str] instance_platform: The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + :param pulumi.Input[str] instance_type: The instance type for which to reserve capacity. + :param pulumi.Input[str] outpost_arn: The ARN of the Outpost on which to create the Capacity Block Reservation. + :param pulumi.Input[str] placement_group_arn: The ARN of the placement group in which to create the Capacity Block Reservation. + :param pulumi.Input[str] reservation_type: The type of Capacity Reservation. + :param pulumi.Input[str] start_date: The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + :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 + :param pulumi.Input[str] tenancy: Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if availability_zone is not None: + pulumi.set(__self__, "availability_zone", availability_zone) + if capacity_block_offering_id is not None: + pulumi.set(__self__, "capacity_block_offering_id", capacity_block_offering_id) + if created_date is not None: + pulumi.set(__self__, "created_date", created_date) + if ebs_optimized is not None: + pulumi.set(__self__, "ebs_optimized", ebs_optimized) + if end_date is not None: + pulumi.set(__self__, "end_date", end_date) + if end_date_type is not None: + pulumi.set(__self__, "end_date_type", end_date_type) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if instance_platform is not None: + pulumi.set(__self__, "instance_platform", instance_platform) + if instance_type is not None: + pulumi.set(__self__, "instance_type", instance_type) + if outpost_arn is not None: + pulumi.set(__self__, "outpost_arn", outpost_arn) + if placement_group_arn is not None: + pulumi.set(__self__, "placement_group_arn", placement_group_arn) + if reservation_type is not None: + pulumi.set(__self__, "reservation_type", reservation_type) + if start_date is not None: + pulumi.set(__self__, "start_date", start_date) + 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 tenancy is not None: + pulumi.set(__self__, "tenancy", tenancy) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the reservation. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> Optional[pulumi.Input[str]]: + """ + The Availability Zone in which to create the Capacity Block Reservation. + """ + return pulumi.get(self, "availability_zone") + + @availability_zone.setter + def availability_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "availability_zone", value) + + @property + @pulumi.getter(name="capacityBlockOfferingId") + def capacity_block_offering_id(self) -> Optional[pulumi.Input[str]]: + """ + The Capacity Block Reservation ID. + """ + return pulumi.get(self, "capacity_block_offering_id") + + @capacity_block_offering_id.setter + def capacity_block_offering_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "capacity_block_offering_id", value) + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> Optional[pulumi.Input[str]]: + """ + The date and time at which the Capacity Block Reservation was created. + """ + return pulumi.get(self, "created_date") + + @created_date.setter + def created_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_date", value) + + @property + @pulumi.getter(name="ebsOptimized") + def ebs_optimized(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the Capacity Reservation supports EBS-optimized instances. + """ + return pulumi.get(self, "ebs_optimized") + + @ebs_optimized.setter + def ebs_optimized(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ebs_optimized", value) + + @property + @pulumi.getter(name="endDate") + def end_date(self) -> Optional[pulumi.Input[str]]: + """ + The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + """ + return pulumi.get(self, "end_date") + + @end_date.setter + def end_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_date", value) + + @property + @pulumi.getter(name="endDateType") + def end_date_type(self) -> Optional[pulumi.Input[str]]: + """ + Indicates the way in which the Capacity Reservation ends. + """ + return pulumi.get(self, "end_date_type") + + @end_date_type.setter + def end_date_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_date_type", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + """ + The number of instances for which to reserve capacity. + """ + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="instancePlatform") + def instance_platform(self) -> Optional[pulumi.Input[str]]: + """ + The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + """ + return pulumi.get(self, "instance_platform") + + @instance_platform.setter + def instance_platform(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_platform", value) + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> Optional[pulumi.Input[str]]: + """ + The instance type for which to reserve capacity. + """ + return pulumi.get(self, "instance_type") + + @instance_type.setter + def instance_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_type", value) + + @property + @pulumi.getter(name="outpostArn") + def outpost_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the Outpost on which to create the Capacity Block Reservation. + """ + return pulumi.get(self, "outpost_arn") + + @outpost_arn.setter + def outpost_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "outpost_arn", value) + + @property + @pulumi.getter(name="placementGroupArn") + def placement_group_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the placement group in which to create the Capacity Block Reservation. + """ + return pulumi.get(self, "placement_group_arn") + + @placement_group_arn.setter + def placement_group_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "placement_group_arn", value) + + @property + @pulumi.getter(name="reservationType") + def reservation_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of Capacity Reservation. + """ + return pulumi.get(self, "reservation_type") + + @reservation_type.setter + def reservation_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "reservation_type", value) + + @property + @pulumi.getter(name="startDate") + def start_date(self) -> Optional[pulumi.Input[str]]: + """ + The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + """ + return pulumi.get(self, "start_date") + + @start_date.setter + def start_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_date", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 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. + """ + 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") + 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 + """ + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + 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 tenancy(self) -> Optional[pulumi.Input[str]]: + """ + Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + """ + return pulumi.get(self, "tenancy") + + @tenancy.setter + def tenancy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenancy", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['CapacityBlockReservationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['CapacityBlockReservationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class CapacityBlockReservation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity_block_offering_id: Optional[pulumi.Input[str]] = None, + instance_platform: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['CapacityBlockReservationTimeoutsArgs']]] = None, + __props__=None): + """ + Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads. + + > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacity_block_offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html). + + > **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] capacity_block_offering_id: The Capacity Block Reservation ID. + :param pulumi.Input[str] instance_platform: The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + :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. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CapacityBlockReservationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides an EC2 Capacity Block Reservation. This allows you to purchase capacity block for your Amazon EC2 instances in a specific Availability Zone for machine learning (ML) Workloads. + + > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `capacity_block_offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [EC2 Capacity Block Reservation Documentation](https://aws.amazon.com/ec2/instance-types/p5/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-pricing-billing.html). + + > **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub. + + :param str resource_name: The name of the resource. + :param CapacityBlockReservationArgs 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(CapacityBlockReservationArgs, 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, + capacity_block_offering_id: Optional[pulumi.Input[str]] = None, + instance_platform: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['CapacityBlockReservationTimeoutsArgs']]] = 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__ = CapacityBlockReservationArgs.__new__(CapacityBlockReservationArgs) + + if capacity_block_offering_id is None and not opts.urn: + raise TypeError("Missing required property 'capacity_block_offering_id'") + __props__.__dict__["capacity_block_offering_id"] = capacity_block_offering_id + if instance_platform is None and not opts.urn: + raise TypeError("Missing required property 'instance_platform'") + __props__.__dict__["instance_platform"] = instance_platform + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["arn"] = None + __props__.__dict__["availability_zone"] = None + __props__.__dict__["created_date"] = None + __props__.__dict__["ebs_optimized"] = None + __props__.__dict__["end_date"] = None + __props__.__dict__["end_date_type"] = None + __props__.__dict__["instance_count"] = None + __props__.__dict__["instance_type"] = None + __props__.__dict__["outpost_arn"] = None + __props__.__dict__["placement_group_arn"] = None + __props__.__dict__["reservation_type"] = None + __props__.__dict__["start_date"] = None + __props__.__dict__["tags_all"] = None + __props__.__dict__["tenancy"] = None + super(CapacityBlockReservation, __self__).__init__( + 'aws:ec2/capacityBlockReservation:CapacityBlockReservation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + availability_zone: Optional[pulumi.Input[str]] = None, + capacity_block_offering_id: Optional[pulumi.Input[str]] = None, + created_date: Optional[pulumi.Input[str]] = None, + ebs_optimized: Optional[pulumi.Input[bool]] = None, + end_date: Optional[pulumi.Input[str]] = None, + end_date_type: Optional[pulumi.Input[str]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + instance_platform: Optional[pulumi.Input[str]] = None, + instance_type: Optional[pulumi.Input[str]] = None, + outpost_arn: Optional[pulumi.Input[str]] = None, + placement_group_arn: Optional[pulumi.Input[str]] = None, + reservation_type: Optional[pulumi.Input[str]] = None, + start_date: 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, + tenancy: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['CapacityBlockReservationTimeoutsArgs']]] = None) -> 'CapacityBlockReservation': + """ + Get an existing CapacityBlockReservation 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] arn: The ARN of the reservation. + :param pulumi.Input[str] availability_zone: The Availability Zone in which to create the Capacity Block Reservation. + :param pulumi.Input[str] capacity_block_offering_id: The Capacity Block Reservation ID. + :param pulumi.Input[str] created_date: The date and time at which the Capacity Block Reservation was created. + :param pulumi.Input[bool] ebs_optimized: Indicates whether the Capacity Reservation supports EBS-optimized instances. + :param pulumi.Input[str] end_date: The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + :param pulumi.Input[str] end_date_type: Indicates the way in which the Capacity Reservation ends. + :param pulumi.Input[int] instance_count: The number of instances for which to reserve capacity. + :param pulumi.Input[str] instance_platform: The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + :param pulumi.Input[str] instance_type: The instance type for which to reserve capacity. + :param pulumi.Input[str] outpost_arn: The ARN of the Outpost on which to create the Capacity Block Reservation. + :param pulumi.Input[str] placement_group_arn: The ARN of the placement group in which to create the Capacity Block Reservation. + :param pulumi.Input[str] reservation_type: The type of Capacity Reservation. + :param pulumi.Input[str] start_date: The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + :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 + :param pulumi.Input[str] tenancy: Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CapacityBlockReservationState.__new__(_CapacityBlockReservationState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["availability_zone"] = availability_zone + __props__.__dict__["capacity_block_offering_id"] = capacity_block_offering_id + __props__.__dict__["created_date"] = created_date + __props__.__dict__["ebs_optimized"] = ebs_optimized + __props__.__dict__["end_date"] = end_date + __props__.__dict__["end_date_type"] = end_date_type + __props__.__dict__["instance_count"] = instance_count + __props__.__dict__["instance_platform"] = instance_platform + __props__.__dict__["instance_type"] = instance_type + __props__.__dict__["outpost_arn"] = outpost_arn + __props__.__dict__["placement_group_arn"] = placement_group_arn + __props__.__dict__["reservation_type"] = reservation_type + __props__.__dict__["start_date"] = start_date + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["tenancy"] = tenancy + __props__.__dict__["timeouts"] = timeouts + return CapacityBlockReservation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the reservation. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> pulumi.Output[str]: + """ + The Availability Zone in which to create the Capacity Block Reservation. + """ + return pulumi.get(self, "availability_zone") + + @property + @pulumi.getter(name="capacityBlockOfferingId") + def capacity_block_offering_id(self) -> pulumi.Output[str]: + """ + The Capacity Block Reservation ID. + """ + return pulumi.get(self, "capacity_block_offering_id") + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> pulumi.Output[str]: + """ + The date and time at which the Capacity Block Reservation was created. + """ + return pulumi.get(self, "created_date") + + @property + @pulumi.getter(name="ebsOptimized") + def ebs_optimized(self) -> pulumi.Output[bool]: + """ + Indicates whether the Capacity Reservation supports EBS-optimized instances. + """ + return pulumi.get(self, "ebs_optimized") + + @property + @pulumi.getter(name="endDate") + def end_date(self) -> pulumi.Output[str]: + """ + The date and time at which the Capacity Block Reservation expires. When a Capacity Block Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + """ + return pulumi.get(self, "end_date") + + @property + @pulumi.getter(name="endDateType") + def end_date_type(self) -> pulumi.Output[str]: + """ + Indicates the way in which the Capacity Reservation ends. + """ + return pulumi.get(self, "end_date_type") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> pulumi.Output[int]: + """ + The number of instances for which to reserve capacity. + """ + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="instancePlatform") + def instance_platform(self) -> pulumi.Output[str]: + """ + The type of operating system for which to reserve capacity. Valid options are `Linux/UNIX`, `Red Hat Enterprise Linux`, `SUSE Linux`, `Windows`, `Windows with SQL Server`, `Windows with SQL Server Enterprise`, `Windows with SQL Server Standard` or `Windows with SQL Server Web`. + """ + return pulumi.get(self, "instance_platform") + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> pulumi.Output[str]: + """ + The instance type for which to reserve capacity. + """ + return pulumi.get(self, "instance_type") + + @property + @pulumi.getter(name="outpostArn") + def outpost_arn(self) -> pulumi.Output[str]: + """ + The ARN of the Outpost on which to create the Capacity Block Reservation. + """ + return pulumi.get(self, "outpost_arn") + + @property + @pulumi.getter(name="placementGroupArn") + def placement_group_arn(self) -> pulumi.Output[str]: + """ + The ARN of the placement group in which to create the Capacity Block Reservation. + """ + return pulumi.get(self, "placement_group_arn") + + @property + @pulumi.getter(name="reservationType") + def reservation_type(self) -> pulumi.Output[str]: + """ + The type of Capacity Reservation. + """ + return pulumi.get(self, "reservation_type") + + @property + @pulumi.getter(name="startDate") + def start_date(self) -> pulumi.Output[str]: + """ + The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + """ + return pulumi.get(self, "start_date") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + 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. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + 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 + """ + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def tenancy(self) -> pulumi.Output[str]: + """ + Indicates the tenancy of the Capacity Block Reservation. Specify either `default` or `dedicated`. + """ + return pulumi.get(self, "tenancy") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.CapacityBlockReservationTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/ec2/get_capacity_block_offering.py b/sdk/python/pulumi_aws/ec2/get_capacity_block_offering.py new file mode 100644 index 00000000000..29e005d4d62 --- /dev/null +++ b/sdk/python/pulumi_aws/ec2/get_capacity_block_offering.py @@ -0,0 +1,208 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetCapacityBlockOfferingResult', + 'AwaitableGetCapacityBlockOfferingResult', + 'get_capacity_block_offering', + 'get_capacity_block_offering_output', +] + +@pulumi.output_type +class GetCapacityBlockOfferingResult: + """ + A collection of values returned by getCapacityBlockOffering. + """ + def __init__(__self__, availability_zone=None, capacity_block_offering_id=None, capacity_duration_hours=None, currency_code=None, end_date_range=None, id=None, instance_count=None, instance_type=None, start_date_range=None, tenancy=None, upfront_fee=None): + if availability_zone and not isinstance(availability_zone, str): + raise TypeError("Expected argument 'availability_zone' to be a str") + pulumi.set(__self__, "availability_zone", availability_zone) + if capacity_block_offering_id and not isinstance(capacity_block_offering_id, str): + raise TypeError("Expected argument 'capacity_block_offering_id' to be a str") + pulumi.set(__self__, "capacity_block_offering_id", capacity_block_offering_id) + if capacity_duration_hours and not isinstance(capacity_duration_hours, int): + raise TypeError("Expected argument 'capacity_duration_hours' to be a int") + pulumi.set(__self__, "capacity_duration_hours", capacity_duration_hours) + if currency_code and not isinstance(currency_code, str): + raise TypeError("Expected argument 'currency_code' to be a str") + pulumi.set(__self__, "currency_code", currency_code) + if end_date_range and not isinstance(end_date_range, str): + raise TypeError("Expected argument 'end_date_range' to be a str") + pulumi.set(__self__, "end_date_range", end_date_range) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_count and not isinstance(instance_count, int): + raise TypeError("Expected argument 'instance_count' to be a int") + pulumi.set(__self__, "instance_count", instance_count) + if instance_type and not isinstance(instance_type, str): + raise TypeError("Expected argument 'instance_type' to be a str") + pulumi.set(__self__, "instance_type", instance_type) + if start_date_range and not isinstance(start_date_range, str): + raise TypeError("Expected argument 'start_date_range' to be a str") + pulumi.set(__self__, "start_date_range", start_date_range) + if tenancy and not isinstance(tenancy, str): + raise TypeError("Expected argument 'tenancy' to be a str") + pulumi.set(__self__, "tenancy", tenancy) + if upfront_fee and not isinstance(upfront_fee, str): + raise TypeError("Expected argument 'upfront_fee' to be a str") + pulumi.set(__self__, "upfront_fee", upfront_fee) + + @property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> str: + """ + The Availability Zone in which to create the Capacity Reservation. + """ + return pulumi.get(self, "availability_zone") + + @property + @pulumi.getter(name="capacityBlockOfferingId") + def capacity_block_offering_id(self) -> str: + """ + The Capacity Block Reservation ID. + """ + return pulumi.get(self, "capacity_block_offering_id") + + @property + @pulumi.getter(name="capacityDurationHours") + def capacity_duration_hours(self) -> int: + return pulumi.get(self, "capacity_duration_hours") + + @property + @pulumi.getter(name="currencyCode") + def currency_code(self) -> str: + """ + The currency of the payment for the Capacity Block. + """ + return pulumi.get(self, "currency_code") + + @property + @pulumi.getter(name="endDateRange") + def end_date_range(self) -> str: + return pulumi.get(self, "end_date_range") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> int: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> str: + return pulumi.get(self, "instance_type") + + @property + @pulumi.getter(name="startDateRange") + def start_date_range(self) -> str: + return pulumi.get(self, "start_date_range") + + @property + @pulumi.getter + def tenancy(self) -> str: + """ + Indicates the tenancy of the Capacity Reservation. Specify either `default` or `dedicated`. + """ + return pulumi.get(self, "tenancy") + + @property + @pulumi.getter(name="upfrontFee") + def upfront_fee(self) -> str: + """ + The total price to be paid up front. + """ + return pulumi.get(self, "upfront_fee") + + +class AwaitableGetCapacityBlockOfferingResult(GetCapacityBlockOfferingResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCapacityBlockOfferingResult( + availability_zone=self.availability_zone, + capacity_block_offering_id=self.capacity_block_offering_id, + capacity_duration_hours=self.capacity_duration_hours, + currency_code=self.currency_code, + end_date_range=self.end_date_range, + id=self.id, + instance_count=self.instance_count, + instance_type=self.instance_type, + start_date_range=self.start_date_range, + tenancy=self.tenancy, + upfront_fee=self.upfront_fee) + + +def get_capacity_block_offering(capacity_duration_hours: Optional[int] = None, + end_date_range: Optional[str] = None, + instance_count: Optional[int] = None, + instance_type: Optional[str] = None, + start_date_range: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCapacityBlockOfferingResult: + """ + Information about a single EC2 Capacity Block Offering. + + + :param int capacity_duration_hours: The amount of time of the Capacity Block reservation in hours. + :param str end_date_range: The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + :param int instance_count: The number of instances for which to reserve capacity. + :param str instance_type: The instance type for which to reserve capacity. + :param str start_date_range: The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + """ + __args__ = dict() + __args__['capacityDurationHours'] = capacity_duration_hours + __args__['endDateRange'] = end_date_range + __args__['instanceCount'] = instance_count + __args__['instanceType'] = instance_type + __args__['startDateRange'] = start_date_range + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering', __args__, opts=opts, typ=GetCapacityBlockOfferingResult).value + + return AwaitableGetCapacityBlockOfferingResult( + availability_zone=pulumi.get(__ret__, 'availability_zone'), + capacity_block_offering_id=pulumi.get(__ret__, 'capacity_block_offering_id'), + capacity_duration_hours=pulumi.get(__ret__, 'capacity_duration_hours'), + currency_code=pulumi.get(__ret__, 'currency_code'), + end_date_range=pulumi.get(__ret__, 'end_date_range'), + id=pulumi.get(__ret__, 'id'), + instance_count=pulumi.get(__ret__, 'instance_count'), + instance_type=pulumi.get(__ret__, 'instance_type'), + start_date_range=pulumi.get(__ret__, 'start_date_range'), + tenancy=pulumi.get(__ret__, 'tenancy'), + upfront_fee=pulumi.get(__ret__, 'upfront_fee')) + + +@_utilities.lift_output_func(get_capacity_block_offering) +def get_capacity_block_offering_output(capacity_duration_hours: Optional[pulumi.Input[int]] = None, + end_date_range: Optional[pulumi.Input[Optional[str]]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + instance_type: Optional[pulumi.Input[str]] = None, + start_date_range: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCapacityBlockOfferingResult]: + """ + Information about a single EC2 Capacity Block Offering. + + + :param int capacity_duration_hours: The amount of time of the Capacity Block reservation in hours. + :param str end_date_range: The date and time at which the Capacity Block Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + :param int instance_count: The number of instances for which to reserve capacity. + :param str instance_type: The instance type for which to reserve capacity. + :param str start_date_range: The date and time at which the Capacity Block Reservation starts. Valid values: [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) + """ + ... diff --git a/sdk/python/pulumi_aws/ec2/launch_template.py b/sdk/python/pulumi_aws/ec2/launch_template.py index 7ba083eb731..5636b2963d1 100644 --- a/sdk/python/pulumi_aws/ec2/launch_template.py +++ b/sdk/python/pulumi_aws/ec2/launch_template.py @@ -74,7 +74,7 @@ def __init__(__self__, *, :param pulumi.Input['LaunchTemplateHibernationOptionsArgs'] hibernation_options: The hibernation options for the instance. See Hibernation Options below for more details. :param pulumi.Input['LaunchTemplateIamInstanceProfileArgs'] iam_instance_profile: The IAM Instance Profile to launch the instance with. See Instance Profile below for more details. - :param pulumi.Input[str] image_id: The AMI from which to launch the instance. + :param pulumi.Input[str] image_id: The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. :param pulumi.Input[str] instance_initiated_shutdown_behavior: Shutdown behavior for the instance. Can be `stop` or `terminate`. (Default: `stop`). :param pulumi.Input['LaunchTemplateInstanceMarketOptionsArgs'] instance_market_options: The market (purchasing) option for the instance. See Market Options @@ -354,7 +354,7 @@ def iam_instance_profile(self, value: Optional[pulumi.Input['LaunchTemplateIamIn @pulumi.getter(name="imageId") def image_id(self) -> Optional[pulumi.Input[str]]: """ - The AMI from which to launch the instance. + The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. """ return pulumi.get(self, "image_id") @@ -696,7 +696,7 @@ def __init__(__self__, *, :param pulumi.Input['LaunchTemplateHibernationOptionsArgs'] hibernation_options: The hibernation options for the instance. See Hibernation Options below for more details. :param pulumi.Input['LaunchTemplateIamInstanceProfileArgs'] iam_instance_profile: The IAM Instance Profile to launch the instance with. See Instance Profile below for more details. - :param pulumi.Input[str] image_id: The AMI from which to launch the instance. + :param pulumi.Input[str] image_id: The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. :param pulumi.Input[str] instance_initiated_shutdown_behavior: Shutdown behavior for the instance. Can be `stop` or `terminate`. (Default: `stop`). :param pulumi.Input['LaunchTemplateInstanceMarketOptionsArgs'] instance_market_options: The market (purchasing) option for the instance. See Market Options @@ -999,7 +999,7 @@ def iam_instance_profile(self, value: Optional[pulumi.Input['LaunchTemplateIamIn @pulumi.getter(name="imageId") def image_id(self) -> Optional[pulumi.Input[str]]: """ - The AMI from which to launch the instance. + The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. """ return pulumi.get(self, "image_id") @@ -1378,7 +1378,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['LaunchTemplateHibernationOptionsArgs']] hibernation_options: The hibernation options for the instance. See Hibernation Options below for more details. :param pulumi.Input[pulumi.InputType['LaunchTemplateIamInstanceProfileArgs']] iam_instance_profile: The IAM Instance Profile to launch the instance with. See Instance Profile below for more details. - :param pulumi.Input[str] image_id: The AMI from which to launch the instance. + :param pulumi.Input[str] image_id: The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. :param pulumi.Input[str] instance_initiated_shutdown_behavior: Shutdown behavior for the instance. Can be `stop` or `terminate`. (Default: `stop`). :param pulumi.Input[pulumi.InputType['LaunchTemplateInstanceMarketOptionsArgs']] instance_market_options: The market (purchasing) option for the instance. See Market Options @@ -1601,7 +1601,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['LaunchTemplateHibernationOptionsArgs']] hibernation_options: The hibernation options for the instance. See Hibernation Options below for more details. :param pulumi.Input[pulumi.InputType['LaunchTemplateIamInstanceProfileArgs']] iam_instance_profile: The IAM Instance Profile to launch the instance with. See Instance Profile below for more details. - :param pulumi.Input[str] image_id: The AMI from which to launch the instance. + :param pulumi.Input[str] image_id: The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. :param pulumi.Input[str] instance_initiated_shutdown_behavior: Shutdown behavior for the instance. Can be `stop` or `terminate`. (Default: `stop`). :param pulumi.Input[pulumi.InputType['LaunchTemplateInstanceMarketOptionsArgs']] instance_market_options: The market (purchasing) option for the instance. See Market Options @@ -1806,7 +1806,7 @@ def iam_instance_profile(self) -> pulumi.Output[Optional['outputs.LaunchTemplate @pulumi.getter(name="imageId") def image_id(self) -> pulumi.Output[Optional[str]]: """ - The AMI from which to launch the instance. + The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details. """ return pulumi.get(self, "image_id") diff --git a/sdk/python/pulumi_aws/ec2/outputs.py b/sdk/python/pulumi_aws/ec2/outputs.py index 8b7d5997e6b..f3aea93e06e 100644 --- a/sdk/python/pulumi_aws/ec2/outputs.py +++ b/sdk/python/pulumi_aws/ec2/outputs.py @@ -18,6 +18,7 @@ 'AmiEphemeralBlockDevice', 'AmiFromInstanceEbsBlockDevice', 'AmiFromInstanceEphemeralBlockDevice', + 'CapacityBlockReservationTimeouts', 'DefaultNetworkAclEgress', 'DefaultNetworkAclIngress', 'DefaultRouteTableRoute', @@ -39,6 +40,7 @@ 'FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb', 'FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount', 'FleetOnDemandOptions', + 'FleetOnDemandOptionsCapacityReservationOptions', 'FleetSpotOptions', 'FleetSpotOptionsMaintenanceStrategies', 'FleetSpotOptionsMaintenanceStrategiesCapacityRebalance', @@ -220,6 +222,7 @@ 'VpcEndpointDnsEntry', 'VpcEndpointDnsOptions', 'VpcEndpointServicePrivateDnsNameConfiguration', + 'VpcEndpointSubnetConfiguration', 'VpcIpamOperatingRegion', 'VpcIpamPoolCidrCidrAuthorizationContext', 'VpcIpamResourceDiscoveryOperatingRegion', @@ -1065,6 +1068,25 @@ def virtual_name(self) -> Optional[str]: return pulumi.get(self, "virtual_name") +@pulumi.output_type +class CapacityBlockReservationTimeouts(dict): + def __init__(__self__, *, + create: 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). + """ + if create is not None: + pulumi.set(__self__, "create", create) + + @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") + + @pulumi.output_type class DefaultNetworkAclEgress(dict): @staticmethod @@ -2745,6 +2767,8 @@ def __key_warning(key: str): suggest = None if key == "allocationStrategy": suggest = "allocation_strategy" + elif key == "capacityReservationOptions": + suggest = "capacity_reservation_options" elif key == "maxTotalPrice": suggest = "max_total_price" elif key == "minTargetCapacity": @@ -2767,12 +2791,14 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, allocation_strategy: Optional[str] = None, + capacity_reservation_options: Optional['outputs.FleetOnDemandOptionsCapacityReservationOptions'] = None, max_total_price: Optional[str] = None, min_target_capacity: Optional[int] = None, single_availability_zone: Optional[bool] = None, single_instance_type: Optional[bool] = None): """ :param str allocation_strategy: The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. + :param 'FleetOnDemandOptionsCapacityReservationOptionsArgs' capacity_reservation_options: The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. :param str max_total_price: The maximum amount per hour for On-Demand Instances that you're willing to pay. :param int min_target_capacity: The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. If you specify `min_target_capacity`, at least one of the following must be specified: `single_availability_zone` or `single_instance_type`. @@ -2781,6 +2807,8 @@ def __init__(__self__, *, """ if allocation_strategy is not None: pulumi.set(__self__, "allocation_strategy", allocation_strategy) + if capacity_reservation_options is not None: + pulumi.set(__self__, "capacity_reservation_options", capacity_reservation_options) if max_total_price is not None: pulumi.set(__self__, "max_total_price", max_total_price) if min_target_capacity is not None: @@ -2798,6 +2826,14 @@ def allocation_strategy(self) -> Optional[str]: """ return pulumi.get(self, "allocation_strategy") + @property + @pulumi.getter(name="capacityReservationOptions") + def capacity_reservation_options(self) -> Optional['outputs.FleetOnDemandOptionsCapacityReservationOptions']: + """ + The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + """ + return pulumi.get(self, "capacity_reservation_options") + @property @pulumi.getter(name="maxTotalPrice") def max_total_price(self) -> Optional[str]: @@ -2832,6 +2868,42 @@ def single_instance_type(self) -> Optional[bool]: return pulumi.get(self, "single_instance_type") +@pulumi.output_type +class FleetOnDemandOptionsCapacityReservationOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "usageStrategy": + suggest = "usage_strategy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FleetOnDemandOptionsCapacityReservationOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FleetOnDemandOptionsCapacityReservationOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FleetOnDemandOptionsCapacityReservationOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + usage_strategy: Optional[str] = None): + """ + :param str usage_strategy: Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + """ + if usage_strategy is not None: + pulumi.set(__self__, "usage_strategy", usage_strategy) + + @property + @pulumi.getter(name="usageStrategy") + def usage_strategy(self) -> Optional[str]: + """ + Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + """ + return pulumi.get(self, "usage_strategy") + + @pulumi.output_type class FleetSpotOptions(dict): @staticmethod @@ -4973,7 +5045,7 @@ class LaunchTemplateElasticGpuSpecification(dict): def __init__(__self__, *, type: str): """ - :param str type: The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + :param str type: The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) """ pulumi.set(__self__, "type", type) @@ -4981,7 +5053,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> str: """ - The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-gpus.html#elastic-gpus-basics) + The [Elastic GPU Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-graphics.html#elastic-graphics-basics) """ return pulumi.get(self, "type") @@ -14808,6 +14880,62 @@ def value(self) -> Optional[str]: return pulumi.get(self, "value") +@pulumi.output_type +class VpcEndpointSubnetConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetId": + suggest = "subnet_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpcEndpointSubnetConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpcEndpointSubnetConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpcEndpointSubnetConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ipv4: Optional[str] = None, + ipv6: Optional[str] = None, + subnet_id: Optional[str] = None): + """ + :param str ipv4: The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + :param str ipv6: The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + """ + if ipv4 is not None: + pulumi.set(__self__, "ipv4", ipv4) + if ipv6 is not None: + pulumi.set(__self__, "ipv6", ipv6) + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + + @property + @pulumi.getter + def ipv4(self) -> Optional[str]: + """ + The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4. + """ + return pulumi.get(self, "ipv4") + + @property + @pulumi.getter + def ipv6(self) -> Optional[str]: + """ + The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6. + """ + return pulumi.get(self, "ipv6") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[str]: + return pulumi.get(self, "subnet_id") + + @pulumi.output_type class VpcIpamOperatingRegion(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/ec2/traffic_mirror_session.py b/sdk/python/pulumi_aws/ec2/traffic_mirror_session.py index f5c89454648..0fd3e92f0ca 100644 --- a/sdk/python/pulumi_aws/ec2/traffic_mirror_session.py +++ b/sdk/python/pulumi_aws/ec2/traffic_mirror_session.py @@ -570,7 +570,7 @@ def owner_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="packetLength") - def packet_length(self) -> pulumi.Output[Optional[int]]: + def packet_length(self) -> pulumi.Output[int]: """ The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. """ diff --git a/sdk/python/pulumi_aws/ec2/vpc_endpoint.py b/sdk/python/pulumi_aws/ec2/vpc_endpoint.py index 7444205d6b5..1400b42cbeb 100644 --- a/sdk/python/pulumi_aws/ec2/vpc_endpoint.py +++ b/sdk/python/pulumi_aws/ec2/vpc_endpoint.py @@ -25,6 +25,7 @@ def __init__(__self__, *, private_dns_enabled: Optional[pulumi.Input[bool]] = None, route_table_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + subnet_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['VpcEndpointSubnetConfigurationArgs']]]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpc_endpoint_type: Optional[pulumi.Input[str]] = None): @@ -41,6 +42,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] route_table_ids: One or more route table IDs. Applicable for endpoints of type `Gateway`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type `Interface`. If no security groups are specified, the VPC's [default security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint. + :param pulumi.Input[Sequence[pulumi.Input['VpcEndpointSubnetConfigurationArgs']]] subnet_configurations: Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. :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[str] vpc_endpoint_type: The VPC endpoint type, `Gateway`, `GatewayLoadBalancer`, or `Interface`. Defaults to `Gateway`. @@ -61,6 +63,8 @@ def __init__(__self__, *, pulumi.set(__self__, "route_table_ids", route_table_ids) if security_group_ids is not None: pulumi.set(__self__, "security_group_ids", security_group_ids) + if subnet_configurations is not None: + pulumi.set(__self__, "subnet_configurations", subnet_configurations) if subnet_ids is not None: pulumi.set(__self__, "subnet_ids", subnet_ids) if tags is not None: @@ -178,6 +182,18 @@ def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str] def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "security_group_ids", value) + @property + @pulumi.getter(name="subnetConfigurations") + def subnet_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpcEndpointSubnetConfigurationArgs']]]]: + """ + Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + """ + return pulumi.get(self, "subnet_configurations") + + @subnet_configurations.setter + def subnet_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpcEndpointSubnetConfigurationArgs']]]]): + pulumi.set(self, "subnet_configurations", value) + @property @pulumi.getter(name="subnetIds") def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -234,6 +250,7 @@ def __init__(__self__, *, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_name: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, + subnet_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['VpcEndpointSubnetConfigurationArgs']]]] = None, subnet_ids: 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, @@ -259,6 +276,7 @@ def __init__(__self__, *, If no security groups are specified, the VPC's [default security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint. :param pulumi.Input[str] service_name: The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). :param pulumi.Input[str] state: The state of the VPC endpoint. + :param pulumi.Input[Sequence[pulumi.Input['VpcEndpointSubnetConfigurationArgs']]] subnet_configurations: Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. :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. @@ -297,6 +315,8 @@ def __init__(__self__, *, pulumi.set(__self__, "service_name", service_name) if state is not None: pulumi.set(__self__, "state", state) + if subnet_configurations is not None: + pulumi.set(__self__, "subnet_configurations", subnet_configurations) if subnet_ids is not None: pulumi.set(__self__, "subnet_ids", subnet_ids) if tags is not None: @@ -505,6 +525,18 @@ def state(self) -> Optional[pulumi.Input[str]]: def state(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "state", value) + @property + @pulumi.getter(name="subnetConfigurations") + def subnet_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpcEndpointSubnetConfigurationArgs']]]]: + """ + Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + """ + return pulumi.get(self, "subnet_configurations") + + @subnet_configurations.setter + def subnet_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpcEndpointSubnetConfigurationArgs']]]]): + pulumi.set(self, "subnet_configurations", value) + @property @pulumi.getter(name="subnetIds") def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -582,6 +614,7 @@ def __init__(__self__, route_table_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_name: Optional[pulumi.Input[str]] = None, + subnet_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpcEndpointSubnetConfigurationArgs']]]]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpc_endpoint_type: Optional[pulumi.Input[str]] = None, @@ -639,6 +672,32 @@ def __init__(__self__, private_dns_enabled=True) ``` + ### Interface Endpoint Type with User-Defined IP Address + + ```python + import pulumi + import pulumi_aws as aws + + ec2 = aws.ec2.VpcEndpoint("ec2", + vpc_id=example["id"], + service_name="com.amazonaws.us-west-2.ec2", + vpc_endpoint_type="Interface", + subnet_configurations=[ + aws.ec2.VpcEndpointSubnetConfigurationArgs( + ipv4="10.0.1.10", + subnet_id=example1["id"], + ), + aws.ec2.VpcEndpointSubnetConfigurationArgs( + ipv4="10.0.2.10", + subnet_id=example2["id"], + ), + ], + subnet_ids=[ + example1["id"], + example2["id"], + ]) + ``` + ### Gateway Load Balancer Endpoint Type ```python @@ -677,6 +736,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type `Interface`. If no security groups are specified, the VPC's [default security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint. :param pulumi.Input[str] service_name: The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpcEndpointSubnetConfigurationArgs']]]] subnet_configurations: Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. :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[str] vpc_endpoint_type: The VPC endpoint type, `Gateway`, `GatewayLoadBalancer`, or `Interface`. Defaults to `Gateway`. @@ -740,6 +800,32 @@ def __init__(__self__, private_dns_enabled=True) ``` + ### Interface Endpoint Type with User-Defined IP Address + + ```python + import pulumi + import pulumi_aws as aws + + ec2 = aws.ec2.VpcEndpoint("ec2", + vpc_id=example["id"], + service_name="com.amazonaws.us-west-2.ec2", + vpc_endpoint_type="Interface", + subnet_configurations=[ + aws.ec2.VpcEndpointSubnetConfigurationArgs( + ipv4="10.0.1.10", + subnet_id=example1["id"], + ), + aws.ec2.VpcEndpointSubnetConfigurationArgs( + ipv4="10.0.2.10", + subnet_id=example2["id"], + ), + ], + subnet_ids=[ + example1["id"], + example2["id"], + ]) + ``` + ### Gateway Load Balancer Endpoint Type ```python @@ -789,6 +875,7 @@ def _internal_init(__self__, route_table_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_name: Optional[pulumi.Input[str]] = None, + subnet_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpcEndpointSubnetConfigurationArgs']]]]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpc_endpoint_type: Optional[pulumi.Input[str]] = None, @@ -812,6 +899,7 @@ def _internal_init(__self__, if service_name is None and not opts.urn: raise TypeError("Missing required property 'service_name'") __props__.__dict__["service_name"] = service_name + __props__.__dict__["subnet_configurations"] = subnet_configurations __props__.__dict__["subnet_ids"] = subnet_ids __props__.__dict__["tags"] = tags __props__.__dict__["vpc_endpoint_type"] = vpc_endpoint_type @@ -853,6 +941,7 @@ def get(resource_name: str, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_name: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, + subnet_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpcEndpointSubnetConfigurationArgs']]]]] = None, subnet_ids: 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, @@ -883,6 +972,7 @@ def get(resource_name: str, If no security groups are specified, the VPC's [default security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint. :param pulumi.Input[str] service_name: The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). :param pulumi.Input[str] state: The state of the VPC endpoint. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpcEndpointSubnetConfigurationArgs']]]] subnet_configurations: Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. :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. @@ -909,6 +999,7 @@ def get(resource_name: str, __props__.__dict__["security_group_ids"] = security_group_ids __props__.__dict__["service_name"] = service_name __props__.__dict__["state"] = state + __props__.__dict__["subnet_configurations"] = subnet_configurations __props__.__dict__["subnet_ids"] = subnet_ids __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all @@ -1046,6 +1137,14 @@ def state(self) -> pulumi.Output[str]: """ return pulumi.get(self, "state") + @property + @pulumi.getter(name="subnetConfigurations") + def subnet_configurations(self) -> pulumi.Output[Sequence['outputs.VpcEndpointSubnetConfiguration']]: + """ + Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. + """ + return pulumi.get(self, "subnet_configurations") + @property @pulumi.getter(name="subnetIds") def subnet_ids(self) -> pulumi.Output[Sequence[str]]: diff --git a/sdk/python/pulumi_aws/fms/__init__.py b/sdk/python/pulumi_aws/fms/__init__.py index cb4e1205a21..f2f3a905269 100644 --- a/sdk/python/pulumi_aws/fms/__init__.py +++ b/sdk/python/pulumi_aws/fms/__init__.py @@ -7,5 +7,6 @@ # Export this package's modules as members: from .admin_account import * from .policy import * +from .resource_set import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/fms/_inputs.py b/sdk/python/pulumi_aws/fms/_inputs.py index 493beadcdd2..ee49b377d7e 100644 --- a/sdk/python/pulumi_aws/fms/_inputs.py +++ b/sdk/python/pulumi_aws/fms/_inputs.py @@ -16,6 +16,8 @@ 'PolicySecurityServicePolicyDataPolicyOptionArgs', 'PolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicyArgs', 'PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicyArgs', + 'ResourceSetResourceSetArgs', + 'ResourceSetTimeoutsArgs', ] @pulumi.input_type @@ -239,3 +241,172 @@ def firewall_deployment_model(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "firewall_deployment_model", value) +@pulumi.input_type +class ResourceSetResourceSetArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + id: Optional[pulumi.Input[str]] = None, + last_update_time: Optional[pulumi.Input[str]] = None, + resource_set_status: Optional[pulumi.Input[str]] = None, + resource_type_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + update_token: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: Descriptive name of the resource set. You can't change the name of a resource set after you create it. + :param pulumi.Input[str] description: Description of the resource set. + :param pulumi.Input[str] id: Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + :param pulumi.Input[str] last_update_time: Last time that the reosurce set was changed. + :param pulumi.Input[str] resource_set_status: Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_type_lists: Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + """ + pulumi.set(__self__, "name", name) + if description is not None: + pulumi.set(__self__, "description", description) + if id is not None: + pulumi.set(__self__, "id", id) + if last_update_time is not None: + pulumi.set(__self__, "last_update_time", last_update_time) + if resource_set_status is not None: + pulumi.set(__self__, "resource_set_status", resource_set_status) + if resource_type_lists is not None: + pulumi.set(__self__, "resource_type_lists", resource_type_lists) + if update_token is not None: + pulumi.set(__self__, "update_token", update_token) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Descriptive name of the resource set. You can't change the name of a resource set after you create it. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the resource set. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter(name="lastUpdateTime") + def last_update_time(self) -> Optional[pulumi.Input[str]]: + """ + Last time that the reosurce set was changed. + """ + return pulumi.get(self, "last_update_time") + + @last_update_time.setter + def last_update_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_update_time", value) + + @property + @pulumi.getter(name="resourceSetStatus") + def resource_set_status(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + """ + return pulumi.get(self, "resource_set_status") + + @resource_set_status.setter + def resource_set_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_set_status", value) + + @property + @pulumi.getter(name="resourceTypeLists") + def resource_type_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + """ + return pulumi.get(self, "resource_type_lists") + + @resource_type_lists.setter + def resource_type_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "resource_type_lists", value) + + @property + @pulumi.getter(name="updateToken") + def update_token(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "update_token") + + @update_token.setter + def update_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update_token", value) + + +@pulumi.input_type +class ResourceSetTimeoutsArgs: + 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) + + diff --git a/sdk/python/pulumi_aws/fms/outputs.py b/sdk/python/pulumi_aws/fms/outputs.py index c15fe063669..234f99db816 100644 --- a/sdk/python/pulumi_aws/fms/outputs.py +++ b/sdk/python/pulumi_aws/fms/outputs.py @@ -17,6 +17,8 @@ 'PolicySecurityServicePolicyDataPolicyOption', 'PolicySecurityServicePolicyDataPolicyOptionNetworkFirewallPolicy', 'PolicySecurityServicePolicyDataPolicyOptionThirdPartyFirewallPolicy', + 'ResourceSetResourceSet', + 'ResourceSetTimeouts', ] @pulumi.output_type @@ -268,3 +270,155 @@ def firewall_deployment_model(self) -> Optional[str]: return pulumi.get(self, "firewall_deployment_model") +@pulumi.output_type +class ResourceSetResourceSet(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastUpdateTime": + suggest = "last_update_time" + elif key == "resourceSetStatus": + suggest = "resource_set_status" + elif key == "resourceTypeLists": + suggest = "resource_type_lists" + elif key == "updateToken": + suggest = "update_token" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ResourceSetResourceSet. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ResourceSetResourceSet.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ResourceSetResourceSet.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + description: Optional[str] = None, + id: Optional[str] = None, + last_update_time: Optional[str] = None, + resource_set_status: Optional[str] = None, + resource_type_lists: Optional[Sequence[str]] = None, + update_token: Optional[str] = None): + """ + :param str name: Descriptive name of the resource set. You can't change the name of a resource set after you create it. + :param str description: Description of the resource set. + :param str id: Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + :param str last_update_time: Last time that the reosurce set was changed. + :param str resource_set_status: Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + :param Sequence[str] resource_type_lists: Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + """ + pulumi.set(__self__, "name", name) + if description is not None: + pulumi.set(__self__, "description", description) + if id is not None: + pulumi.set(__self__, "id", id) + if last_update_time is not None: + pulumi.set(__self__, "last_update_time", last_update_time) + if resource_set_status is not None: + pulumi.set(__self__, "resource_set_status", resource_set_status) + if resource_type_lists is not None: + pulumi.set(__self__, "resource_type_lists", resource_type_lists) + if update_token is not None: + pulumi.set(__self__, "update_token", update_token) + + @property + @pulumi.getter + def name(self) -> str: + """ + Descriptive name of the resource set. You can't change the name of a resource set after you create it. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Description of the resource set. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Unique identifier for the resource set. It's returned in the responses to create and list commands. You provide it to operations like update and delete. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="lastUpdateTime") + def last_update_time(self) -> Optional[str]: + """ + Last time that the reosurce set was changed. + """ + return pulumi.get(self, "last_update_time") + + @property + @pulumi.getter(name="resourceSetStatus") + def resource_set_status(self) -> Optional[str]: + """ + Indicates whether the resource set is in or out of the admin's Region scope. Valid values are `ACTIVE` (Admin can manage and delete the resource set) or `OUT_OF_ADMIN_SCOPE` (Admin can view the resource set, but theyy can't edit or delete the resource set.) + """ + return pulumi.get(self, "resource_set_status") + + @property + @pulumi.getter(name="resourceTypeLists") + def resource_type_lists(self) -> Optional[Sequence[str]]: + """ + Determines the resources that can be associated to the resource set. Depending on your setting for max results and the number of resource sets, a single call might not return the full list. + """ + return pulumi.get(self, "resource_type_lists") + + @property + @pulumi.getter(name="updateToken") + def update_token(self) -> Optional[str]: + return pulumi.get(self, "update_token") + + +@pulumi.output_type +class ResourceSetTimeouts(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") + + diff --git a/sdk/python/pulumi_aws/fms/resource_set.py b/sdk/python/pulumi_aws/fms/resource_set.py new file mode 100644 index 00000000000..9bd9e2fc9db --- /dev/null +++ b/sdk/python/pulumi_aws/fms/resource_set.py @@ -0,0 +1,316 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ResourceSetArgs', 'ResourceSet'] + +@pulumi.input_type +class ResourceSetArgs: + def __init__(__self__, *, + resource_sets: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceSetResourceSetArgs']]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['ResourceSetTimeoutsArgs']] = None): + """ + The set of arguments for constructing a ResourceSet resource. + :param pulumi.Input[Sequence[pulumi.Input['ResourceSetResourceSetArgs']]] resource_sets: Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + """ + if resource_sets is not None: + pulumi.set(__self__, "resource_sets", resource_sets) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="resourceSets") + def resource_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceSetResourceSetArgs']]]]: + """ + Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + """ + return pulumi.get(self, "resource_sets") + + @resource_sets.setter + def resource_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceSetResourceSetArgs']]]]): + pulumi.set(self, "resource_sets", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + 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['ResourceSetTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['ResourceSetTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _ResourceSetState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + resource_sets: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceSetResourceSetArgs']]]] = 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['ResourceSetTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering ResourceSet resources. + :param pulumi.Input[str] arn: ARN of the Resource Set. + :param pulumi.Input[Sequence[pulumi.Input['ResourceSetResourceSetArgs']]] resource_sets: Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if resource_sets is not None: + pulumi.set(__self__, "resource_sets", resource_sets) + 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) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Resource Set. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="resourceSets") + def resource_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceSetResourceSetArgs']]]]: + """ + Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + """ + return pulumi.get(self, "resource_sets") + + @resource_sets.setter + def resource_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceSetResourceSetArgs']]]]): + pulumi.set(self, "resource_sets", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + 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") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + 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['ResourceSetTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['ResourceSetTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class ResourceSet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + resource_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResourceSetResourceSetArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['ResourceSetTimeoutsArgs']]] = None, + __props__=None): + """ + Resource for managing an AWS FMS (Firewall Manager) Resource Set. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.fms.ResourceSet("example", resource_sets=[aws.fms.ResourceSetResourceSetArgs( + name="testing", + resource_type_lists=["AWS::NetworkFirewall::Firewall"], + )]) + ``` + + ## Import + + Using `pulumi import`, import FMS (Firewall Manager) Resource Set using the `id`. For example: + + ```sh + $ pulumi import aws:fms/resourceSet:ResourceSet example resource_set-id-12345678 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResourceSetResourceSetArgs']]]] resource_sets: Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ResourceSetArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS FMS (Firewall Manager) Resource Set. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.fms.ResourceSet("example", resource_sets=[aws.fms.ResourceSetResourceSetArgs( + name="testing", + resource_type_lists=["AWS::NetworkFirewall::Firewall"], + )]) + ``` + + ## Import + + Using `pulumi import`, import FMS (Firewall Manager) Resource Set using the `id`. For example: + + ```sh + $ pulumi import aws:fms/resourceSet:ResourceSet example resource_set-id-12345678 + ``` + + :param str resource_name: The name of the resource. + :param ResourceSetArgs 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(ResourceSetArgs, 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, + resource_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResourceSetResourceSetArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['ResourceSetTimeoutsArgs']]] = 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__ = ResourceSetArgs.__new__(ResourceSetArgs) + + __props__.__dict__["resource_sets"] = resource_sets + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["arn"] = None + __props__.__dict__["tags_all"] = None + super(ResourceSet, __self__).__init__( + 'aws:fms/resourceSet:ResourceSet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + resource_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResourceSetResourceSetArgs']]]]] = 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[pulumi.InputType['ResourceSetTimeoutsArgs']]] = None) -> 'ResourceSet': + """ + Get an existing ResourceSet 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] arn: ARN of the Resource Set. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ResourceSetResourceSetArgs']]]] resource_sets: Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ResourceSetState.__new__(_ResourceSetState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["resource_sets"] = resource_sets + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + return ResourceSet(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the Resource Set. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="resourceSets") + def resource_sets(self) -> pulumi.Output[Optional[Sequence['outputs.ResourceSetResourceSet']]]: + """ + Details about the resource set to be created or updated. See `resource_set` Attribute Reference below. + """ + return pulumi.get(self, "resource_sets") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.ResourceSetTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/guardduty/__init__.py b/sdk/python/pulumi_aws/guardduty/__init__.py index c1ac2a64eba..0cfb1e9326d 100644 --- a/sdk/python/pulumi_aws/guardduty/__init__.py +++ b/sdk/python/pulumi_aws/guardduty/__init__.py @@ -12,6 +12,7 @@ from .get_finding_ids import * from .invite_accepter import * from .ip_set import * +from .malware_protection_plan import * from .member import * from .organization_admin_account import * from .organization_configuration import * diff --git a/sdk/python/pulumi_aws/guardduty/_inputs.py b/sdk/python/pulumi_aws/guardduty/_inputs.py index a15d80abba9..babdd854718 100644 --- a/sdk/python/pulumi_aws/guardduty/_inputs.py +++ b/sdk/python/pulumi_aws/guardduty/_inputs.py @@ -20,6 +20,9 @@ 'DetectorFeatureAdditionalConfigurationArgs', 'FilterFindingCriteriaArgs', 'FilterFindingCriteriaCriterionArgs', + 'MalwareProtectionPlanActionArgs', + 'MalwareProtectionPlanProtectedResourceArgs', + 'MalwareProtectionPlanProtectedResourceS3BucketArgs', 'OrganizationConfigurationDatasourcesArgs', 'OrganizationConfigurationDatasourcesKubernetesArgs', 'OrganizationConfigurationDatasourcesKubernetesAuditLogsArgs', @@ -241,7 +244,7 @@ def __init__(__self__, *, name: pulumi.Input[str], status: pulumi.Input[str]): """ - :param pulumi.Input[str] name: The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + :param pulumi.Input[str] name: The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. :param pulumi.Input[str] status: The status of the additional configuration. Valid values: `ENABLED`, `DISABLED`. """ pulumi.set(__self__, "name", name) @@ -251,7 +254,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> pulumi.Input[str]: """ - The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") @@ -406,6 +409,89 @@ def not_equals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]) pulumi.set(self, "not_equals", value) +@pulumi.input_type +class MalwareProtectionPlanActionArgs: + def __init__(__self__, *, + taggings: pulumi.Input[Sequence[Any]]): + """ + :param pulumi.Input[Sequence[Any]] taggings: Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + """ + pulumi.set(__self__, "taggings", taggings) + + @property + @pulumi.getter + def taggings(self) -> pulumi.Input[Sequence[Any]]: + """ + Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + """ + return pulumi.get(self, "taggings") + + @taggings.setter + def taggings(self, value: pulumi.Input[Sequence[Any]]): + pulumi.set(self, "taggings", value) + + +@pulumi.input_type +class MalwareProtectionPlanProtectedResourceArgs: + def __init__(__self__, *, + s3_bucket: Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceS3BucketArgs']] = None): + """ + :param pulumi.Input['MalwareProtectionPlanProtectedResourceS3BucketArgs'] s3_bucket: Information about the protected S3 bucket resource. See `s3_bucket` below. + """ + if s3_bucket is not None: + pulumi.set(__self__, "s3_bucket", s3_bucket) + + @property + @pulumi.getter(name="s3Bucket") + def s3_bucket(self) -> Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceS3BucketArgs']]: + """ + Information about the protected S3 bucket resource. See `s3_bucket` below. + """ + return pulumi.get(self, "s3_bucket") + + @s3_bucket.setter + def s3_bucket(self, value: Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceS3BucketArgs']]): + pulumi.set(self, "s3_bucket", value) + + +@pulumi.input_type +class MalwareProtectionPlanProtectedResourceS3BucketArgs: + def __init__(__self__, *, + bucket_name: pulumi.Input[str], + object_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] bucket_name: Name of the S3 bucket. + :param pulumi.Input[Sequence[pulumi.Input[str]]] object_prefixes: The list of object prefixes that specify the S3 objects that will be scanned. + """ + pulumi.set(__self__, "bucket_name", bucket_name) + if object_prefixes is not None: + pulumi.set(__self__, "object_prefixes", object_prefixes) + + @property + @pulumi.getter(name="bucketName") + def bucket_name(self) -> pulumi.Input[str]: + """ + Name of the S3 bucket. + """ + return pulumi.get(self, "bucket_name") + + @bucket_name.setter + def bucket_name(self, value: pulumi.Input[str]): + pulumi.set(self, "bucket_name", value) + + @property + @pulumi.getter(name="objectPrefixes") + def object_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of object prefixes that specify the S3 objects that will be scanned. + """ + return pulumi.get(self, "object_prefixes") + + @object_prefixes.setter + def object_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "object_prefixes", value) + + @pulumi.input_type class OrganizationConfigurationDatasourcesArgs: def __init__(__self__, *, @@ -610,7 +696,7 @@ def __init__(__self__, *, name: pulumi.Input[str]): """ :param pulumi.Input[str] auto_enable: The status of the additional configuration that will be configured for the organization. Valid values: `NEW`, `ALL`, `NONE`. - :param pulumi.Input[str] name: The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + :param pulumi.Input[str] name: The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. """ pulumi.set(__self__, "auto_enable", auto_enable) pulumi.set(__self__, "name", name) @@ -631,7 +717,7 @@ def auto_enable(self, value: pulumi.Input[str]): @pulumi.getter def name(self) -> pulumi.Input[str]: """ - The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") diff --git a/sdk/python/pulumi_aws/guardduty/detector_feature.py b/sdk/python/pulumi_aws/guardduty/detector_feature.py index 3a089fbf142..5f3d65a9c28 100644 --- a/sdk/python/pulumi_aws/guardduty/detector_feature.py +++ b/sdk/python/pulumi_aws/guardduty/detector_feature.py @@ -24,8 +24,8 @@ def __init__(__self__, *, The set of arguments for constructing a DetectorFeature resource. :param pulumi.Input[str] detector_id: Amazon GuardDuty detector ID. :param pulumi.Input[str] status: The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. - :param pulumi.Input[Sequence[pulumi.Input['DetectorFeatureAdditionalConfigurationArgs']]] additional_configurations: Additional feature configuration block. See below. - :param pulumi.Input[str] name: The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + :param pulumi.Input[Sequence[pulumi.Input['DetectorFeatureAdditionalConfigurationArgs']]] additional_configurations: Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. + :param pulumi.Input[str] name: The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ pulumi.set(__self__, "detector_id", detector_id) pulumi.set(__self__, "status", status) @@ -62,7 +62,7 @@ def status(self, value: pulumi.Input[str]): @pulumi.getter(name="additionalConfigurations") def additional_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DetectorFeatureAdditionalConfigurationArgs']]]]: """ - Additional feature configuration block. See below. + Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. """ return pulumi.get(self, "additional_configurations") @@ -74,7 +74,7 @@ def additional_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") @@ -92,9 +92,9 @@ def __init__(__self__, *, status: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering DetectorFeature resources. - :param pulumi.Input[Sequence[pulumi.Input['DetectorFeatureAdditionalConfigurationArgs']]] additional_configurations: Additional feature configuration block. See below. + :param pulumi.Input[Sequence[pulumi.Input['DetectorFeatureAdditionalConfigurationArgs']]] additional_configurations: Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. :param pulumi.Input[str] detector_id: Amazon GuardDuty detector ID. - :param pulumi.Input[str] name: The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + :param pulumi.Input[str] name: The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. :param pulumi.Input[str] status: The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. """ if additional_configurations is not None: @@ -110,7 +110,7 @@ def __init__(__self__, *, @pulumi.getter(name="additionalConfigurations") def additional_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DetectorFeatureAdditionalConfigurationArgs']]]]: """ - Additional feature configuration block. See below. + Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. """ return pulumi.get(self, "additional_configurations") @@ -134,7 +134,7 @@ def detector_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") @@ -189,9 +189,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorFeatureAdditionalConfigurationArgs']]]] additional_configurations: Additional feature configuration block. See below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorFeatureAdditionalConfigurationArgs']]]] additional_configurations: Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. :param pulumi.Input[str] detector_id: Amazon GuardDuty detector ID. - :param pulumi.Input[str] name: The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + :param pulumi.Input[str] name: The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. :param pulumi.Input[str] status: The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. """ ... @@ -279,9 +279,9 @@ def get(resource_name: str, :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[Sequence[pulumi.Input[pulumi.InputType['DetectorFeatureAdditionalConfigurationArgs']]]] additional_configurations: Additional feature configuration block. See below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorFeatureAdditionalConfigurationArgs']]]] additional_configurations: Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. :param pulumi.Input[str] detector_id: Amazon GuardDuty detector ID. - :param pulumi.Input[str] name: The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + :param pulumi.Input[str] name: The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. :param pulumi.Input[str] status: The status of the detector feature. Valid values: `ENABLED`, `DISABLED`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -298,7 +298,7 @@ def get(resource_name: str, @pulumi.getter(name="additionalConfigurations") def additional_configurations(self) -> pulumi.Output[Optional[Sequence['outputs.DetectorFeatureAdditionalConfiguration']]]: """ - Additional feature configuration block. See below. + Additional feature configuration block for features`EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. """ return pulumi.get(self, "additional_configurations") @@ -314,7 +314,7 @@ def detector_id(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The name of the detector feature. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. + The name of the detector feature. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") diff --git a/sdk/python/pulumi_aws/guardduty/malware_protection_plan.py b/sdk/python/pulumi_aws/guardduty/malware_protection_plan.py new file mode 100644 index 00000000000..3ce0f2b41cb --- /dev/null +++ b/sdk/python/pulumi_aws/guardduty/malware_protection_plan.py @@ -0,0 +1,418 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['MalwareProtectionPlanArgs', 'MalwareProtectionPlan'] + +@pulumi.input_type +class MalwareProtectionPlanArgs: + def __init__(__self__, *, + role: pulumi.Input[str], + actions: Optional[pulumi.Input[Sequence[pulumi.Input['MalwareProtectionPlanActionArgs']]]] = None, + protected_resource: Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a MalwareProtectionPlan resource. + :param pulumi.Input[str] role: The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + :param pulumi.Input[Sequence[pulumi.Input['MalwareProtectionPlanActionArgs']]] actions: Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + :param pulumi.Input['MalwareProtectionPlanProtectedResourceArgs'] protected_resource: Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping 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. + """ + pulumi.set(__self__, "role", role) + if actions is not None: + pulumi.set(__self__, "actions", actions) + if protected_resource is not None: + pulumi.set(__self__, "protected_resource", protected_resource) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def role(self) -> pulumi.Input[str]: + """ + The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: pulumi.Input[str]): + pulumi.set(self, "role", value) + + @property + @pulumi.getter + def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MalwareProtectionPlanActionArgs']]]]: + """ + Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + """ + return pulumi.get(self, "actions") + + @actions.setter + def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MalwareProtectionPlanActionArgs']]]]): + pulumi.set(self, "actions", value) + + @property + @pulumi.getter(name="protectedResource") + def protected_resource(self) -> Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceArgs']]: + """ + Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + """ + return pulumi.get(self, "protected_resource") + + @protected_resource.setter + def protected_resource(self, value: Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceArgs']]): + pulumi.set(self, "protected_resource", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value mapping 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. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _MalwareProtectionPlanState: + def __init__(__self__, *, + actions: Optional[pulumi.Input[Sequence[pulumi.Input['MalwareProtectionPlanActionArgs']]]] = None, + arn: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + protected_resource: Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceArgs']] = None, + role: Optional[pulumi.Input[str]] = None, + status: 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): + """ + Input properties used for looking up and filtering MalwareProtectionPlan resources. + :param pulumi.Input[Sequence[pulumi.Input['MalwareProtectionPlanActionArgs']]] actions: Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + :param pulumi.Input[str] arn: The ARN of the GuardDuty malware protection plan + :param pulumi.Input[str] created_at: The timestamp when the Malware Protection plan resource was created. + :param pulumi.Input['MalwareProtectionPlanProtectedResourceArgs'] protected_resource: Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + :param pulumi.Input[str] role: The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + :param pulumi.Input[str] status: The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping 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. + """ + if actions is not None: + pulumi.set(__self__, "actions", actions) + if arn is not None: + pulumi.set(__self__, "arn", arn) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if protected_resource is not None: + pulumi.set(__self__, "protected_resource", protected_resource) + if role is not None: + pulumi.set(__self__, "role", role) + if status is not None: + pulumi.set(__self__, "status", status) + 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) + + @property + @pulumi.getter + def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MalwareProtectionPlanActionArgs']]]]: + """ + Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + """ + return pulumi.get(self, "actions") + + @actions.setter + def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MalwareProtectionPlanActionArgs']]]]): + pulumi.set(self, "actions", value) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the GuardDuty malware protection plan + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + The timestamp when the Malware Protection plan resource was created. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="protectedResource") + def protected_resource(self) -> Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceArgs']]: + """ + Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + """ + return pulumi.get(self, "protected_resource") + + @protected_resource.setter + def protected_resource(self, value: Optional[pulumi.Input['MalwareProtectionPlanProtectedResourceArgs']]): + pulumi.set(self, "protected_resource", value) + + @property + @pulumi.getter + def role(self) -> Optional[pulumi.Input[str]]: + """ + The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value mapping 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. + """ + 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") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + 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) + + +class MalwareProtectionPlan(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + actions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MalwareProtectionPlanActionArgs']]]]] = None, + protected_resource: Optional[pulumi.Input[pulumi.InputType['MalwareProtectionPlanProtectedResourceArgs']]] = None, + role: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Provides a resource to manage a GuardDuty malware protection plan. + + ## Import + + Using `pulumi import`, import GuardDuty malware protection plans using their IDs. For example: + + ```sh + $ pulumi import aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan example 1234567890abcdef0123 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MalwareProtectionPlanActionArgs']]]] actions: Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + :param pulumi.Input[pulumi.InputType['MalwareProtectionPlanProtectedResourceArgs']] protected_resource: Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + :param pulumi.Input[str] role: The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping 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. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MalwareProtectionPlanArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to manage a GuardDuty malware protection plan. + + ## Import + + Using `pulumi import`, import GuardDuty malware protection plans using their IDs. For example: + + ```sh + $ pulumi import aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan example 1234567890abcdef0123 + ``` + + :param str resource_name: The name of the resource. + :param MalwareProtectionPlanArgs 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(MalwareProtectionPlanArgs, 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, + actions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MalwareProtectionPlanActionArgs']]]]] = None, + protected_resource: Optional[pulumi.Input[pulumi.InputType['MalwareProtectionPlanProtectedResourceArgs']]] = None, + role: Optional[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) + 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__ = MalwareProtectionPlanArgs.__new__(MalwareProtectionPlanArgs) + + __props__.__dict__["actions"] = actions + __props__.__dict__["protected_resource"] = protected_resource + if role is None and not opts.urn: + raise TypeError("Missing required property 'role'") + __props__.__dict__["role"] = role + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["status"] = None + __props__.__dict__["tags_all"] = None + super(MalwareProtectionPlan, __self__).__init__( + 'aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + actions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MalwareProtectionPlanActionArgs']]]]] = None, + arn: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + protected_resource: Optional[pulumi.Input[pulumi.InputType['MalwareProtectionPlanProtectedResourceArgs']]] = None, + role: Optional[pulumi.Input[str]] = None, + status: 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) -> 'MalwareProtectionPlan': + """ + Get an existing MalwareProtectionPlan 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[Sequence[pulumi.Input[pulumi.InputType['MalwareProtectionPlanActionArgs']]]] actions: Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + :param pulumi.Input[str] arn: The ARN of the GuardDuty malware protection plan + :param pulumi.Input[str] created_at: The timestamp when the Malware Protection plan resource was created. + :param pulumi.Input[pulumi.InputType['MalwareProtectionPlanProtectedResourceArgs']] protected_resource: Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + :param pulumi.Input[str] role: The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + :param pulumi.Input[str] status: The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MalwareProtectionPlanState.__new__(_MalwareProtectionPlanState) + + __props__.__dict__["actions"] = actions + __props__.__dict__["arn"] = arn + __props__.__dict__["created_at"] = created_at + __props__.__dict__["protected_resource"] = protected_resource + __props__.__dict__["role"] = role + __props__.__dict__["status"] = status + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return MalwareProtectionPlan(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def actions(self) -> pulumi.Output[Sequence['outputs.MalwareProtectionPlanAction']]: + """ + Information about whether the tags will be added to the S3 object after scanning. See `actions` below. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the GuardDuty malware protection plan + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + The timestamp when the Malware Protection plan resource was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="protectedResource") + def protected_resource(self) -> pulumi.Output[Optional['outputs.MalwareProtectionPlanProtectedResource']]: + """ + Information about the protected resource that is associated with the created Malware Protection plan. Presently, S3Bucket is the only supported protected resource. See `protected_resource` below. + """ + return pulumi.get(self, "protected_resource") + + @property + @pulumi.getter + def role(self) -> pulumi.Output[str]: + """ + The IAM role that includes the permissions required to scan and add tags to the associated protected resource. + """ + return pulumi.get(self, "role") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The GuardDuty malware protection plan status. Valid values are `ACTIVE`, `WARNING`, and `ERROR`. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value mapping 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. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/guardduty/organization_configuration_feature.py b/sdk/python/pulumi_aws/guardduty/organization_configuration_feature.py index 4b466a2ad14..14650f6539e 100644 --- a/sdk/python/pulumi_aws/guardduty/organization_configuration_feature.py +++ b/sdk/python/pulumi_aws/guardduty/organization_configuration_feature.py @@ -24,8 +24,8 @@ def __init__(__self__, *, The set of arguments for constructing a OrganizationConfigurationFeature resource. :param pulumi.Input[str] auto_enable: The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. :param pulumi.Input[str] detector_id: The ID of the detector that configures the delegated administrator. - :param pulumi.Input[Sequence[pulumi.Input['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]] additional_configurations: The additional information that will be configured for the organization See below. - :param pulumi.Input[str] name: The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + :param pulumi.Input[Sequence[pulumi.Input['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]] additional_configurations: Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. + :param pulumi.Input[str] name: The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ pulumi.set(__self__, "auto_enable", auto_enable) pulumi.set(__self__, "detector_id", detector_id) @@ -62,7 +62,7 @@ def detector_id(self, value: pulumi.Input[str]): @pulumi.getter(name="additionalConfigurations") def additional_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]]]: """ - The additional information that will be configured for the organization See below. + Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. """ return pulumi.get(self, "additional_configurations") @@ -74,7 +74,7 @@ def additional_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") @@ -92,10 +92,10 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering OrganizationConfigurationFeature resources. - :param pulumi.Input[Sequence[pulumi.Input['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]] additional_configurations: The additional information that will be configured for the organization See below. + :param pulumi.Input[Sequence[pulumi.Input['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]] additional_configurations: Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. :param pulumi.Input[str] auto_enable: The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. :param pulumi.Input[str] detector_id: The ID of the detector that configures the delegated administrator. - :param pulumi.Input[str] name: The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + :param pulumi.Input[str] name: The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ if additional_configurations is not None: pulumi.set(__self__, "additional_configurations", additional_configurations) @@ -110,7 +110,7 @@ def __init__(__self__, *, @pulumi.getter(name="additionalConfigurations") def additional_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]]]: """ - The additional information that will be configured for the organization See below. + Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. """ return pulumi.get(self, "additional_configurations") @@ -146,7 +146,7 @@ def detector_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") @@ -189,10 +189,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]]] additional_configurations: The additional information that will be configured for the organization See below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]]] additional_configurations: Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. :param pulumi.Input[str] auto_enable: The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. :param pulumi.Input[str] detector_id: The ID of the detector that configures the delegated administrator. - :param pulumi.Input[str] name: The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + :param pulumi.Input[str] name: The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ ... @overload @@ -279,10 +279,10 @@ def get(resource_name: str, :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[Sequence[pulumi.Input[pulumi.InputType['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]]] additional_configurations: The additional information that will be configured for the organization See below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationConfigurationFeatureAdditionalConfigurationArgs']]]] additional_configurations: Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. :param pulumi.Input[str] auto_enable: The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. :param pulumi.Input[str] detector_id: The ID of the detector that configures the delegated administrator. - :param pulumi.Input[str] name: The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + :param pulumi.Input[str] name: The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -298,7 +298,7 @@ def get(resource_name: str, @pulumi.getter(name="additionalConfigurations") def additional_configurations(self) -> pulumi.Output[Optional[Sequence['outputs.OrganizationConfigurationFeatureAdditionalConfiguration']]]: """ - The additional information that will be configured for the organization See below. + Additional feature configuration block for features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING`. See below. """ return pulumi.get(self, "additional_configurations") @@ -322,7 +322,7 @@ def detector_id(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. + The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. Only one of two features `EKS_RUNTIME_MONITORING` or `RUNTIME_MONITORING` can be added, adding both features will cause an error. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorFeatureConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") diff --git a/sdk/python/pulumi_aws/guardduty/outputs.py b/sdk/python/pulumi_aws/guardduty/outputs.py index 283b63ece9f..58e9733f8b1 100644 --- a/sdk/python/pulumi_aws/guardduty/outputs.py +++ b/sdk/python/pulumi_aws/guardduty/outputs.py @@ -21,6 +21,9 @@ 'DetectorFeatureAdditionalConfiguration', 'FilterFindingCriteria', 'FilterFindingCriteriaCriterion', + 'MalwareProtectionPlanAction', + 'MalwareProtectionPlanProtectedResource', + 'MalwareProtectionPlanProtectedResourceS3Bucket', 'OrganizationConfigurationDatasources', 'OrganizationConfigurationDatasourcesKubernetes', 'OrganizationConfigurationDatasourcesKubernetesAuditLogs', @@ -278,7 +281,7 @@ def __init__(__self__, *, name: str, status: str): """ - :param str name: The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + :param str name: The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. :param str status: The status of the additional configuration. Valid values: `ENABLED`, `DISABLED`. """ pulumi.set(__self__, "name", name) @@ -288,7 +291,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> str: """ - The name of the additional configuration. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. + The name of the additional configuration for a feature. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") @@ -428,6 +431,109 @@ def not_equals(self) -> Optional[Sequence[str]]: return pulumi.get(self, "not_equals") +@pulumi.output_type +class MalwareProtectionPlanAction(dict): + def __init__(__self__, *, + taggings: Sequence[Any]): + """ + :param Sequence[Any] taggings: Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + """ + pulumi.set(__self__, "taggings", taggings) + + @property + @pulumi.getter + def taggings(self) -> Sequence[Any]: + """ + Indicates whether the scanned S3 object will have tags about the scan result. See `tagging` below. + """ + return pulumi.get(self, "taggings") + + +@pulumi.output_type +class MalwareProtectionPlanProtectedResource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "s3Bucket": + suggest = "s3_bucket" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MalwareProtectionPlanProtectedResource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MalwareProtectionPlanProtectedResource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MalwareProtectionPlanProtectedResource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + s3_bucket: Optional['outputs.MalwareProtectionPlanProtectedResourceS3Bucket'] = None): + """ + :param 'MalwareProtectionPlanProtectedResourceS3BucketArgs' s3_bucket: Information about the protected S3 bucket resource. See `s3_bucket` below. + """ + if s3_bucket is not None: + pulumi.set(__self__, "s3_bucket", s3_bucket) + + @property + @pulumi.getter(name="s3Bucket") + def s3_bucket(self) -> Optional['outputs.MalwareProtectionPlanProtectedResourceS3Bucket']: + """ + Information about the protected S3 bucket resource. See `s3_bucket` below. + """ + return pulumi.get(self, "s3_bucket") + + +@pulumi.output_type +class MalwareProtectionPlanProtectedResourceS3Bucket(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bucketName": + suggest = "bucket_name" + elif key == "objectPrefixes": + suggest = "object_prefixes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MalwareProtectionPlanProtectedResourceS3Bucket. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MalwareProtectionPlanProtectedResourceS3Bucket.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MalwareProtectionPlanProtectedResourceS3Bucket.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bucket_name: str, + object_prefixes: Optional[Sequence[str]] = None): + """ + :param str bucket_name: Name of the S3 bucket. + :param Sequence[str] object_prefixes: The list of object prefixes that specify the S3 objects that will be scanned. + """ + pulumi.set(__self__, "bucket_name", bucket_name) + if object_prefixes is not None: + pulumi.set(__self__, "object_prefixes", object_prefixes) + + @property + @pulumi.getter(name="bucketName") + def bucket_name(self) -> str: + """ + Name of the S3 bucket. + """ + return pulumi.get(self, "bucket_name") + + @property + @pulumi.getter(name="objectPrefixes") + def object_prefixes(self) -> Optional[Sequence[str]]: + """ + The list of object prefixes that specify the S3 objects that will be scanned. + """ + return pulumi.get(self, "object_prefixes") + + @pulumi.output_type class OrganizationConfigurationDatasources(dict): @staticmethod @@ -717,7 +823,7 @@ def __init__(__self__, *, name: str): """ :param str auto_enable: The status of the additional configuration that will be configured for the organization. Valid values: `NEW`, `ALL`, `NONE`. - :param str name: The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + :param str name: The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. """ pulumi.set(__self__, "auto_enable", auto_enable) pulumi.set(__self__, "name", name) @@ -734,7 +840,7 @@ def auto_enable(self) -> str: @pulumi.getter def name(self) -> str: """ - The name of the additional configuration that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. + The name of the additional configuration for a feature that will be configured for the organization. Valid values: `EKS_ADDON_MANAGEMENT`, `ECS_FARGATE_AGENT_MANAGEMENT`, `EC2_AGENT_MANAGEMENT`. Refer to the [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DetectorAdditionalConfiguration.html) for the current list of supported values. """ return pulumi.get(self, "name") diff --git a/sdk/python/pulumi_aws/opensearch/domain.py b/sdk/python/pulumi_aws/opensearch/domain.py index e3a3a9c4d4c..01a69bb0da4 100644 --- a/sdk/python/pulumi_aws/opensearch/domain.py +++ b/sdk/python/pulumi_aws/opensearch/domain.py @@ -27,6 +27,7 @@ def __init__(__self__, *, ebs_options: Optional[pulumi.Input['DomainEbsOptionsArgs']] = None, encrypt_at_rest: Optional[pulumi.Input['DomainEncryptAtRestArgs']] = None, engine_version: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, log_publishing_options: Optional[pulumi.Input[Sequence[pulumi.Input['DomainLogPublishingOptionArgs']]]] = None, node_to_node_encryption: Optional[pulumi.Input['DomainNodeToNodeEncryptionArgs']] = None, off_peak_window_options: Optional[pulumi.Input['DomainOffPeakWindowOptionsArgs']] = None, @@ -51,6 +52,7 @@ def __init__(__self__, *, :param pulumi.Input[str] engine_version: Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). Defaults to the lastest version of OpenSearch. + :param pulumi.Input[str] ip_address_type: The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. :param pulumi.Input[Sequence[pulumi.Input['DomainLogPublishingOptionArgs']]] log_publishing_options: Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. :param pulumi.Input['DomainNodeToNodeEncryptionArgs'] node_to_node_encryption: Configuration block for node-to-node encryption options. Detailed below. :param pulumi.Input['DomainOffPeakWindowOptionsArgs'] off_peak_window_options: Configuration to add Off Peak update options. ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)). Detailed below. @@ -81,6 +83,8 @@ def __init__(__self__, *, pulumi.set(__self__, "encrypt_at_rest", encrypt_at_rest) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) + if ip_address_type is not None: + pulumi.set(__self__, "ip_address_type", ip_address_type) if log_publishing_options is not None: pulumi.set(__self__, "log_publishing_options", log_publishing_options) if node_to_node_encryption is not None: @@ -232,6 +236,18 @@ def engine_version(self) -> Optional[pulumi.Input[str]]: def engine_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "engine_version", value) + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> Optional[pulumi.Input[str]]: + """ + The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + """ + return pulumi.get(self, "ip_address_type") + + @ip_address_type.setter + def ip_address_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_address_type", value) + @property @pulumi.getter(name="logPublishingOptions") def log_publishing_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainLogPublishingOptionArgs']]]]: @@ -335,6 +351,7 @@ def __init__(__self__, *, encrypt_at_rest: Optional[pulumi.Input['DomainEncryptAtRestArgs']] = None, endpoint: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, kibana_endpoint: Optional[pulumi.Input[str]] = None, log_publishing_options: Optional[pulumi.Input[Sequence[pulumi.Input['DomainLogPublishingOptionArgs']]]] = None, node_to_node_encryption: Optional[pulumi.Input['DomainNodeToNodeEncryptionArgs']] = None, @@ -365,6 +382,7 @@ def __init__(__self__, *, :param pulumi.Input[str] engine_version: Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). Defaults to the lastest version of OpenSearch. + :param pulumi.Input[str] ip_address_type: The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. :param pulumi.Input[str] kibana_endpoint: (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. :param pulumi.Input[Sequence[pulumi.Input['DomainLogPublishingOptionArgs']]] log_publishing_options: Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. :param pulumi.Input['DomainNodeToNodeEncryptionArgs'] node_to_node_encryption: Configuration block for node-to-node encryption options. Detailed below. @@ -405,6 +423,8 @@ def __init__(__self__, *, pulumi.set(__self__, "endpoint", endpoint) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) + if ip_address_type is not None: + pulumi.set(__self__, "ip_address_type", ip_address_type) if kibana_endpoint is not None: warnings.warn("""use 'dashboard_endpoint' attribute instead""", DeprecationWarning) pulumi.log.warn("""kibana_endpoint is deprecated: use 'dashboard_endpoint' attribute instead""") @@ -614,6 +634,18 @@ def engine_version(self) -> Optional[pulumi.Input[str]]: def engine_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "engine_version", value) + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> Optional[pulumi.Input[str]]: + """ + The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + """ + return pulumi.get(self, "ip_address_type") + + @ip_address_type.setter + def ip_address_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_address_type", value) + @property @pulumi.getter(name="kibanaEndpoint") def kibana_endpoint(self) -> Optional[pulumi.Input[str]]: @@ -745,6 +777,7 @@ def __init__(__self__, ebs_options: Optional[pulumi.Input[pulumi.InputType['DomainEbsOptionsArgs']]] = None, encrypt_at_rest: Optional[pulumi.Input[pulumi.InputType['DomainEncryptAtRestArgs']]] = None, engine_version: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, log_publishing_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainLogPublishingOptionArgs']]]]] = None, node_to_node_encryption: Optional[pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']]] = None, off_peak_window_options: Optional[pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']]] = None, @@ -1026,6 +1059,7 @@ def __init__(__self__, :param pulumi.Input[str] engine_version: Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). Defaults to the lastest version of OpenSearch. + :param pulumi.Input[str] ip_address_type: The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainLogPublishingOptionArgs']]]] log_publishing_options: Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. :param pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']] node_to_node_encryption: Configuration block for node-to-node encryption options. Detailed below. :param pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']] off_peak_window_options: Configuration to add Off Peak update options. ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)). Detailed below. @@ -1322,6 +1356,7 @@ def _internal_init(__self__, ebs_options: Optional[pulumi.Input[pulumi.InputType['DomainEbsOptionsArgs']]] = None, encrypt_at_rest: Optional[pulumi.Input[pulumi.InputType['DomainEncryptAtRestArgs']]] = None, engine_version: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, log_publishing_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainLogPublishingOptionArgs']]]]] = None, node_to_node_encryption: Optional[pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']]] = None, off_peak_window_options: Optional[pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']]] = None, @@ -1349,6 +1384,7 @@ def _internal_init(__self__, __props__.__dict__["ebs_options"] = ebs_options __props__.__dict__["encrypt_at_rest"] = encrypt_at_rest __props__.__dict__["engine_version"] = engine_version + __props__.__dict__["ip_address_type"] = ip_address_type __props__.__dict__["log_publishing_options"] = log_publishing_options __props__.__dict__["node_to_node_encryption"] = node_to_node_encryption __props__.__dict__["off_peak_window_options"] = off_peak_window_options @@ -1387,6 +1423,7 @@ def get(resource_name: str, encrypt_at_rest: Optional[pulumi.Input[pulumi.InputType['DomainEncryptAtRestArgs']]] = None, endpoint: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, kibana_endpoint: Optional[pulumi.Input[str]] = None, log_publishing_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainLogPublishingOptionArgs']]]]] = None, node_to_node_encryption: Optional[pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']]] = None, @@ -1422,6 +1459,7 @@ def get(resource_name: str, :param pulumi.Input[str] engine_version: Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). Defaults to the lastest version of OpenSearch. + :param pulumi.Input[str] ip_address_type: The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. :param pulumi.Input[str] kibana_endpoint: (**Deprecated**) Domain-specific endpoint for kibana without https scheme. Use the `dashboard_endpoint` attribute instead. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainLogPublishingOptionArgs']]]] log_publishing_options: Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below. :param pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']] node_to_node_encryption: Configuration block for node-to-node encryption options. Detailed below. @@ -1451,6 +1489,7 @@ def get(resource_name: str, __props__.__dict__["encrypt_at_rest"] = encrypt_at_rest __props__.__dict__["endpoint"] = endpoint __props__.__dict__["engine_version"] = engine_version + __props__.__dict__["ip_address_type"] = ip_address_type __props__.__dict__["kibana_endpoint"] = kibana_endpoint __props__.__dict__["log_publishing_options"] = log_publishing_options __props__.__dict__["node_to_node_encryption"] = node_to_node_encryption @@ -1586,6 +1625,14 @@ def engine_version(self) -> pulumi.Output[str]: """ return pulumi.get(self, "engine_version") + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> pulumi.Output[str]: + """ + The IP address type for the endpoint. Valid values are `ipv4` and `dualstack`. + """ + return pulumi.get(self, "ip_address_type") + @property @pulumi.getter(name="kibanaEndpoint") def kibana_endpoint(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opensearch/get_domain.py b/sdk/python/pulumi_aws/opensearch/get_domain.py index 451d196a139..1fa861dbf98 100644 --- a/sdk/python/pulumi_aws/opensearch/get_domain.py +++ b/sdk/python/pulumi_aws/opensearch/get_domain.py @@ -23,7 +23,7 @@ class GetDomainResult: """ A collection of values returned by getDomain. """ - def __init__(__self__, access_policies=None, advanced_options=None, advanced_security_options=None, arn=None, auto_tune_options=None, cluster_configs=None, cognito_options=None, created=None, dashboard_endpoint=None, deleted=None, domain_id=None, domain_name=None, ebs_options=None, encryption_at_rests=None, endpoint=None, engine_version=None, id=None, kibana_endpoint=None, log_publishing_options=None, node_to_node_encryptions=None, off_peak_window_options=None, processing=None, snapshot_options=None, software_update_options=None, tags=None, vpc_options=None): + def __init__(__self__, access_policies=None, advanced_options=None, advanced_security_options=None, arn=None, auto_tune_options=None, cluster_configs=None, cognito_options=None, created=None, dashboard_endpoint=None, deleted=None, domain_id=None, domain_name=None, ebs_options=None, encryption_at_rests=None, endpoint=None, engine_version=None, id=None, ip_address_type=None, kibana_endpoint=None, log_publishing_options=None, node_to_node_encryptions=None, off_peak_window_options=None, processing=None, snapshot_options=None, software_update_options=None, tags=None, vpc_options=None): if access_policies and not isinstance(access_policies, str): raise TypeError("Expected argument 'access_policies' to be a str") pulumi.set(__self__, "access_policies", access_policies) @@ -75,6 +75,9 @@ def __init__(__self__, access_policies=None, advanced_options=None, advanced_sec if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if ip_address_type and not isinstance(ip_address_type, str): + raise TypeError("Expected argument 'ip_address_type' to be a str") + pulumi.set(__self__, "ip_address_type", ip_address_type) if kibana_endpoint and not isinstance(kibana_endpoint, str): raise TypeError("Expected argument 'kibana_endpoint' to be a str") pulumi.set(__self__, "kibana_endpoint", kibana_endpoint) @@ -236,6 +239,14 @@ def id(self) -> str: """ return pulumi.get(self, "id") + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> str: + """ + Type of IP addresses supported by the endpoint for the domain. + """ + return pulumi.get(self, "ip_address_type") + @property @pulumi.getter(name="kibanaEndpoint") def kibana_endpoint(self) -> str: @@ -335,6 +346,7 @@ def __await__(self): endpoint=self.endpoint, engine_version=self.engine_version, id=self.id, + ip_address_type=self.ip_address_type, kibana_endpoint=self.kibana_endpoint, log_publishing_options=self.log_publishing_options, node_to_node_encryptions=self.node_to_node_encryptions, @@ -392,6 +404,7 @@ def get_domain(domain_name: Optional[str] = None, endpoint=pulumi.get(__ret__, 'endpoint'), engine_version=pulumi.get(__ret__, 'engine_version'), id=pulumi.get(__ret__, 'id'), + ip_address_type=pulumi.get(__ret__, 'ip_address_type'), kibana_endpoint=pulumi.get(__ret__, 'kibana_endpoint'), log_publishing_options=pulumi.get(__ret__, 'log_publishing_options'), node_to_node_encryptions=pulumi.get(__ret__, 'node_to_node_encryptions'), diff --git a/sdk/python/pulumi_aws/ssoadmin/account_assignment.py b/sdk/python/pulumi_aws/ssoadmin/account_assignment.py index b33645e40fd..81ea27a22d9 100644 --- a/sdk/python/pulumi_aws/ssoadmin/account_assignment.py +++ b/sdk/python/pulumi_aws/ssoadmin/account_assignment.py @@ -269,7 +269,7 @@ def __init__(__self__, name="Example", instance_arn=example.arns[0]) example_group = aws.identitystore.Group("example", - identity_store_id=sso_instance["identityStoreIds"], + identity_store_id=example.identity_store_ids[0], display_name="Admin", description="Admin Group") account_assignment = aws.ssoadmin.AccountAssignment("account_assignment", @@ -352,7 +352,7 @@ def __init__(__self__, name="Example", instance_arn=example.arns[0]) example_group = aws.identitystore.Group("example", - identity_store_id=sso_instance["identityStoreIds"], + identity_store_id=example.identity_store_ids[0], display_name="Admin", description="Admin Group") account_assignment = aws.ssoadmin.AccountAssignment("account_assignment", diff --git a/sdk/python/pulumi_aws/ssoadmin/managed_policy_attachment.py b/sdk/python/pulumi_aws/ssoadmin/managed_policy_attachment.py index 496a21905bd..dfe637be054 100644 --- a/sdk/python/pulumi_aws/ssoadmin/managed_policy_attachment.py +++ b/sdk/python/pulumi_aws/ssoadmin/managed_policy_attachment.py @@ -181,7 +181,7 @@ def __init__(__self__, name="Example", instance_arn=example.arns[0]) example_group = aws.identitystore.Group("example", - identity_store_id=sso_instance["identityStoreIds"], + identity_store_id=example.identity_store_ids[0], display_name="Admin", description="Admin Group") account_assignment = aws.ssoadmin.AccountAssignment("account_assignment", @@ -254,7 +254,7 @@ def __init__(__self__, name="Example", instance_arn=example.arns[0]) example_group = aws.identitystore.Group("example", - identity_store_id=sso_instance["identityStoreIds"], + identity_store_id=example.identity_store_ids[0], display_name="Admin", description="Admin Group") account_assignment = aws.ssoadmin.AccountAssignment("account_assignment", diff --git a/upstream b/upstream index 14866e31ef9..4c52b0c1a9a 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 14866e31ef916bebb0988bba524c846b05855191 +Subproject commit 4c52b0c1a9abf53acadf23f30c35f8b81215ef4b