From 0ea037cfdb5b5efce227a7cc39251de826176667 Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:59:24 -0400 Subject: [PATCH 1/8] Update patches for v5.68.0 --- ...02-Add-S3-legacy-bucket-to-resources.patch | 2 +- ...0009-Add-ECR-credentials_data_source.patch | 2 +- ...014-add-matchmaking-configuration-72.patch | 2 +- ...26-Restore-S3ConnURICleaningDisabled.patch | 2 +- ...-Do-not-compute-tags_all-at-TF-level.patch | 20 +- .../0030-Optimize-startup-performance.patch | 2 +- ...isableTagSchemaCheck-for-PF-provider.patch | 2 +- ...h_computed_only.sh-to-patch-eks-pod_.patch | 4 +- ...l-fast-when-PF-resources-are-dropped.patch | 2 +- ...x-tags_all-Computed-for-PF-resources.patch | 8 +- patches/0037-Restore-legacy-bucket.patch | 1636 +++++++++-------- ...curitylake_subscriber-tags_all-patch.patch | 2 +- ...h-tags-ComputedOnly-for-m2-resources.patch | 4 +- patches/0044-restore-ECRConn.patch | 6 +- ...tedOnly-on-bedrockagent-and-other-mo.patch | 4 +- ...all-Computed-for-aws_datazone_domain.patch | 2 +- ...x-tags_all-Computed-for-PF-resources.patch | 2 +- ...x-tags_all-Computed-for-PF-resources.patch | 10 +- ...x-tags_all-Computed-for-PF-resources.patch | 43 +- ...tedOnly-for-appfabric-networkmonitor.patch | 6 +- ...nly-for-rekognition-stream_processor.patch | 2 +- ...omputed-for-chatbot-timestreaminflux.patch | 6 +- ...all-computed-for-aws_rds_integration.patch | 2 +- ...Adapt-gamelift-matchmaking-resources.patch | 9 +- ...-Patch-Tags-for-bedrock-and-pinpoint.patch | 4 +- 25 files changed, 964 insertions(+), 820 deletions(-) diff --git a/patches/0002-Add-S3-legacy-bucket-to-resources.patch b/patches/0002-Add-S3-legacy-bucket-to-resources.patch index 7dcbd6881dc..3c95f2e6559 100644 --- a/patches/0002-Add-S3-legacy-bucket-to-resources.patch +++ b/patches/0002-Add-S3-legacy-bucket-to-resources.patch @@ -14,7 +14,7 @@ scheme for registration: see https://github.com/hashicorp/terraform-provider-aws/pull/29717. diff --git a/internal/provider/provider.go b/internal/provider/provider.go -index dd2f71e069..9021034f68 100644 +index 3c84cda7e1..abb89bb34d 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -13,6 +13,8 @@ import ( diff --git a/patches/0009-Add-ECR-credentials_data_source.patch b/patches/0009-Add-ECR-credentials_data_source.patch index abf892d2694..80f35a54c1e 100644 --- a/patches/0009-Add-ECR-credentials_data_source.patch +++ b/patches/0009-Add-ECR-credentials_data_source.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ECR credentials_data_source diff --git a/internal/provider/provider.go b/internal/provider/provider.go -index 9021034f68..0180f63582 100644 +index abb89bb34d..7e0afbe60d 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -13,6 +13,8 @@ import ( diff --git a/patches/0014-add-matchmaking-configuration-72.patch b/patches/0014-add-matchmaking-configuration-72.patch index 7d5001ff7fd..219c3c5e6e5 100644 --- a/patches/0014-add-matchmaking-configuration-72.patch +++ b/patches/0014-add-matchmaking-configuration-72.patch @@ -10,7 +10,7 @@ Subject: [PATCH] add matchmaking configuration (#72) * add resource docs diff --git a/internal/provider/provider.go b/internal/provider/provider.go -index 0180f63582..c455ac3206 100644 +index 7e0afbe60d..46be10bc97 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -15,6 +15,7 @@ import ( diff --git a/patches/0026-Restore-S3ConnURICleaningDisabled.patch b/patches/0026-Restore-S3ConnURICleaningDisabled.patch index 1a78452dd18..1a257c74bd5 100644 --- a/patches/0026-Restore-S3ConnURICleaningDisabled.patch +++ b/patches/0026-Restore-S3ConnURICleaningDisabled.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Restore S3ConnURICleaningDisabled diff --git a/internal/conns/awsclient.go b/internal/conns/awsclient.go -index 4818e47550..665a6004d3 100644 +index 326b051480..c98bc7fc2f 100644 --- a/internal/conns/awsclient.go +++ b/internal/conns/awsclient.go @@ -17,6 +17,7 @@ import ( 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 ffc1cb53978..aa1d0449e0c 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 @@ -21,7 +21,7 @@ index 6e3610bc82..594f516660 100644 if request.Plan.Raw.IsNull() { return diff --git a/internal/provider/fwprovider/provider.go b/internal/provider/fwprovider/provider.go -index efd99ae8c8..1876032e5c 100644 +index 4a805bf285..3a654af572 100644 --- a/internal/provider/fwprovider/provider.go +++ b/internal/provider/fwprovider/provider.go @@ -430,8 +430,8 @@ func (p *fwprovider) Resources(ctx context.Context) []func() resource.Resource { @@ -36,7 +36,7 @@ index efd99ae8c8..1876032e5c 100644 } } else { diff --git a/internal/service/appconfig/environment.go b/internal/service/appconfig/environment.go -index b915d62263..88c9459280 100644 +index cb03ee76b7..81f90a7e70 100644 --- a/internal/service/appconfig/environment.go +++ b/internal/service/appconfig/environment.go @@ -104,7 +104,7 @@ func (r *resourceEnvironment) Schema(ctx context.Context, request resource.Schem @@ -49,7 +49,7 @@ index b915d62263..88c9459280 100644 Blocks: map[string]schema.Block{ "monitor": schema.SetNestedBlock{ diff --git a/internal/service/auditmanager/assessment.go b/internal/service/auditmanager/assessment.go -index f1a73744d4..538a353401 100644 +index 459438b54d..05a49d1f51 100644 --- a/internal/service/auditmanager/assessment.go +++ b/internal/service/auditmanager/assessment.go @@ -95,7 +95,7 @@ func (r *resourceAssessment) Schema(ctx context.Context, req resource.SchemaRequ @@ -62,7 +62,7 @@ index f1a73744d4..538a353401 100644 Blocks: map[string]schema.Block{ "assessment_reports_destination": schema.ListNestedBlock{ diff --git a/internal/service/auditmanager/control.go b/internal/service/auditmanager/control.go -index 2c9e89000a..14855e58b0 100644 +index 2204efea5a..7c4d78f993 100644 --- a/internal/service/auditmanager/control.go +++ b/internal/service/auditmanager/control.go @@ -67,7 +67,7 @@ func (r *resourceControl) Schema(ctx context.Context, req resource.SchemaRequest @@ -75,7 +75,7 @@ index 2c9e89000a..14855e58b0 100644 Optional: true, }, diff --git a/internal/service/auditmanager/framework.go b/internal/service/auditmanager/framework.go -index 282506089a..3b7a31e7e0 100644 +index bd15eca435..1733d9a441 100644 --- a/internal/service/auditmanager/framework.go +++ b/internal/service/auditmanager/framework.go @@ -69,7 +69,7 @@ func (r *resourceFramework) Schema(ctx context.Context, req resource.SchemaReque @@ -140,7 +140,7 @@ index 1d3452cb18..6e9fbce878 100644 Optional: true, Validators: []validator.Int64{ diff --git a/internal/service/lexv2models/bot.go b/internal/service/lexv2models/bot.go -index 3931a5ecb6..407c5eae54 100644 +index eb9c6f256f..912546358c 100644 --- a/internal/service/lexv2models/bot.go +++ b/internal/service/lexv2models/bot.go @@ -83,7 +83,7 @@ func (r *resourceBot) Schema(ctx context.Context, req resource.SchemaRequest, re @@ -153,7 +153,7 @@ index 3931a5ecb6..407c5eae54 100644 ElementType: types.StringType, Optional: true, diff --git a/internal/service/opensearchserverless/collection.go b/internal/service/opensearchserverless/collection.go -index 89d6bd4b3c..b2ddf2954f 100644 +index 53e6636756..e9cd945e10 100644 --- a/internal/service/opensearchserverless/collection.go +++ b/internal/service/opensearchserverless/collection.go @@ -123,7 +123,7 @@ func (r *resourceCollection) Schema(ctx context.Context, req resource.SchemaRequ @@ -179,7 +179,7 @@ index a3ad529129..8d2e1d913e 100644 Blocks: map[string]schema.Block{ names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ diff --git a/internal/service/quicksight/vpc_connection.go b/internal/service/quicksight/vpc_connection.go -index 73509e4d42..0dc1d90384 100644 +index 93acb145ca..31e333e700 100644 --- a/internal/service/quicksight/vpc_connection.go +++ b/internal/service/quicksight/vpc_connection.go @@ -139,7 +139,7 @@ func (r *vpcConnectionResource) Schema(ctx context.Context, req resource.SchemaR @@ -218,10 +218,10 @@ index 793580c0ad..5c173c826c 100644 Blocks: map[string]schema.Block{ "filters": schema.ListNestedBlock{ diff --git a/internal/service/workspaces/connection_alias.go b/internal/service/workspaces/connection_alias.go -index 382a71bdae..3dfe615fd5 100644 +index caff637895..7567a77160 100644 --- a/internal/service/workspaces/connection_alias.go +++ b/internal/service/workspaces/connection_alias.go -@@ -82,7 +82,7 @@ func (r *resourceConnectionAlias) Schema(ctx context.Context, req resource.Schem +@@ -81,7 +81,7 @@ func (r *resourceConnectionAlias) Schema(ctx context.Context, req resource.Schem }, }, names.AttrTags: tftags.TagsAttribute(), diff --git a/patches/0030-Optimize-startup-performance.patch b/patches/0030-Optimize-startup-performance.patch index 18ad8c563a0..a5791c5ad05 100644 --- a/patches/0030-Optimize-startup-performance.patch +++ b/patches/0030-Optimize-startup-performance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize startup performance diff --git a/internal/provider/provider.go b/internal/provider/provider.go -index c455ac3206..d4a9465a4a 100644 +index 46be10bc97..e49e7ea69d 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -314,7 +314,7 @@ func New(ctx context.Context) (*schema.Provider, error) { diff --git a/patches/0031-DisableTagSchemaCheck-for-PF-provider.patch b/patches/0031-DisableTagSchemaCheck-for-PF-provider.patch index b1ebcb39aef..380c1e399f5 100644 --- a/patches/0031-DisableTagSchemaCheck-for-PF-provider.patch +++ b/patches/0031-DisableTagSchemaCheck-for-PF-provider.patch @@ -5,7 +5,7 @@ Subject: [PATCH] DisableTagSchemaCheck for PF provider diff --git a/internal/provider/fwprovider/provider.go b/internal/provider/fwprovider/provider.go -index 1876032e5c..b715492b90 100644 +index 3a654af572..5fe2a71b55 100644 --- a/internal/provider/fwprovider/provider.go +++ b/internal/provider/fwprovider/provider.go @@ -417,8 +417,7 @@ func (p *fwprovider) Resources(ctx context.Context) []func() resource.Resource { diff --git a/patches/0032-Run-scripts-patch_computed_only.sh-to-patch-eks-pod_.patch b/patches/0032-Run-scripts-patch_computed_only.sh-to-patch-eks-pod_.patch index c5780c9c026..ce7cfa0c897 100644 --- a/patches/0032-Run-scripts-patch_computed_only.sh-to-patch-eks-pod_.patch +++ b/patches/0032-Run-scripts-patch_computed_only.sh-to-patch-eks-pod_.patch @@ -32,7 +32,7 @@ index ce583fa5c4..9fdeea49d8 100644 } } diff --git a/internal/service/s3control/access_grant.go b/internal/service/s3control/access_grant.go -index a6d2a07e8f..7a34c4fede 100644 +index ce4d1a042d..f91e56ba64 100644 --- a/internal/service/s3control/access_grant.go +++ b/internal/service/s3control/access_grant.go @@ -103,7 +103,7 @@ func (r *accessGrantResource) Schema(ctx context.Context, request resource.Schem @@ -58,7 +58,7 @@ index 5f13ed2859..5a0e3e931b 100644 } } diff --git a/internal/service/s3control/access_grants_location.go b/internal/service/s3control/access_grants_location.go -index 6e9a31f5fe..a47a337aa0 100644 +index ca060273a1..1189fbc20c 100644 --- a/internal/service/s3control/access_grants_location.go +++ b/internal/service/s3control/access_grants_location.go @@ -84,7 +84,7 @@ func (r *accessGrantsLocationResource) Schema(ctx context.Context, request resou diff --git a/patches/0033-Fail-fast-when-PF-resources-are-dropped.patch b/patches/0033-Fail-fast-when-PF-resources-are-dropped.patch index 1e84b691f6a..5ac59c266a6 100644 --- a/patches/0033-Fail-fast-when-PF-resources-are-dropped.patch +++ b/patches/0033-Fail-fast-when-PF-resources-are-dropped.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fail fast when PF resources are dropped diff --git a/internal/provider/fwprovider/provider.go b/internal/provider/fwprovider/provider.go -index b715492b90..26c1dbadd0 100644 +index 5fe2a71b55..107f224ab0 100644 --- a/internal/provider/fwprovider/provider.go +++ b/internal/provider/fwprovider/provider.go @@ -448,9 +448,8 @@ func (p *fwprovider) Resources(ctx context.Context) []func() resource.Resource { diff --git a/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch index 20383c566ff..96290ba2186 100644 --- a/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch +++ b/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix tags_all Computed for PF resources diff --git a/internal/service/amp/scraper.go b/internal/service/amp/scraper.go -index 33be2171d4..f2f5610ca7 100644 +index b6d8c71ef7..f78c4502b0 100644 --- a/internal/service/amp/scraper.go +++ b/internal/service/amp/scraper.go @@ -84,7 +84,7 @@ func (r *scraperResource) Schema(ctx context.Context, req resource.SchemaRequest @@ -31,7 +31,7 @@ index e0606306fd..61981ae7fb 100644 CustomType: fwtypes.NewListNestedObjectTypeOf[customModelTrainingMetricsModel](ctx), Computed: true, diff --git a/internal/service/codeguruprofiler/profiling_group.go b/internal/service/codeguruprofiler/profiling_group.go -index 8d4b3113e0..ceb385067c 100644 +index 6e8d8de302..af48127242 100644 --- a/internal/service/codeguruprofiler/profiling_group.go +++ b/internal/service/codeguruprofiler/profiling_group.go @@ -73,7 +73,7 @@ func (r *resourceProfilingGroup) Schema(ctx context.Context, req resource.Schema @@ -109,7 +109,7 @@ index 65e308761c..e3660e9b72 100644 Required: true, }, diff --git a/internal/service/ssoadmin/application.go b/internal/service/ssoadmin/application.go -index a95da86dff..be96fdebb6 100644 +index 63a02f6ed6..ae5c3b3b8a 100644 --- a/internal/service/ssoadmin/application.go +++ b/internal/service/ssoadmin/application.go @@ -96,7 +96,7 @@ func (r *resourceApplication) Schema(ctx context.Context, req resource.SchemaReq @@ -122,7 +122,7 @@ index a95da86dff..be96fdebb6 100644 Blocks: map[string]schema.Block{ "portal_options": schema.ListNestedBlock{ diff --git a/internal/service/ssoadmin/trusted_token_issuer.go b/internal/service/ssoadmin/trusted_token_issuer.go -index 815c50fb5a..bc084e6a9c 100644 +index c54807a8eb..b34e6641c7 100644 --- a/internal/service/ssoadmin/trusted_token_issuer.go +++ b/internal/service/ssoadmin/trusted_token_issuer.go @@ -86,7 +86,7 @@ func (r *resourceTrustedTokenIssuer) Schema(ctx context.Context, req resource.Sc diff --git a/patches/0037-Restore-legacy-bucket.patch b/patches/0037-Restore-legacy-bucket.patch index caa28f8fe06..a613373ba36 100644 --- a/patches/0037-Restore-legacy-bucket.patch +++ b/patches/0037-Restore-legacy-bucket.patch @@ -5,104 +5,196 @@ Subject: [PATCH] Restore legacy bucket diff --git a/go.mod b/go.mod -index 5b8c85d7d3..a145fa7f16 100644 +index 4aaa6dff00..98ebf73d9f 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/hashicorp/terraform-provider-aws --go 1.22.6 +-go 1.22.7 +go 1.23.0 require ( github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton -@@ -11,246 +11,246 @@ require ( - github.com/aws/aws-sdk-go-v2/config v1.27.33 - github.com/aws/aws-sdk-go-v2/credentials v1.17.32 +@@ -8,250 +8,250 @@ require ( + github.com/YakDriver/regexache v0.24.0 + github.com/aws/aws-sdk-go v1.55.5 + github.com/aws/aws-sdk-go-v2 v1.30.5 +- github.com/aws/aws-sdk-go-v2/config v1.27.35 +- github.com/aws/aws-sdk-go-v2/credentials v1.17.33 ++ github.com/aws/aws-sdk-go-v2/config v1.27.33 ++ github.com/aws/aws-sdk-go-v2/credentials v1.17.32 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.13 -- github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.18 -- github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.7 -- github.com/aws/aws-sdk-go-v2/service/account v1.19.6 -- github.com/aws/aws-sdk-go-v2/service/acm v1.28.8 -- github.com/aws/aws-sdk-go-v2/service/acmpca v1.35.4 -- github.com/aws/aws-sdk-go-v2/service/amp v1.27.6 -- github.com/aws/aws-sdk-go-v2/service/amplify v1.24.3 -- github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.8 -- github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.8 -- github.com/aws/aws-sdk-go-v2/service/appconfig v1.32.2 -- github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.6 -- github.com/aws/aws-sdk-go-v2/service/appflow v1.43.6 -- github.com/aws/aws-sdk-go-v2/service/appintegrations v1.28.3 -- github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.31.4 -- github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.26.6 -- github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.4.0 -- github.com/aws/aws-sdk-go-v2/service/appmesh v1.27.7 -- github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.6 -- github.com/aws/aws-sdk-go-v2/service/appstream v1.38.3 -- github.com/aws/aws-sdk-go-v2/service/appsync v1.36.0 -- github.com/aws/aws-sdk-go-v2/service/athena v1.44.7 -- github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.6 -- github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.7 -- github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.7 -- github.com/aws/aws-sdk-go-v2/service/backup v1.37.2 -- github.com/aws/aws-sdk-go-v2/service/batch v1.44.3 -- github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.5.6 -- github.com/aws/aws-sdk-go-v2/service/bedrock v1.16.2 -- github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.19.0 -- github.com/aws/aws-sdk-go-v2/service/budgets v1.25.7 -- github.com/aws/aws-sdk-go-v2/service/chatbot v1.5.2 -- github.com/aws/aws-sdk-go-v2/service/chime v1.32.6 -- github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.6 -- github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.7 -- github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.4 -- github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.6 -- github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.7 -- github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.7 -- github.com/aws/aws-sdk-go-v2/service/cloudfront v1.38.7 -- github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.6.6 -- github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.25.5 -- github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.24.6 -- github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.42.7 -- github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.40.7 -- github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.39.0 -- github.com/aws/aws-sdk-go-v2/service/codeartifact v1.30.6 -- github.com/aws/aws-sdk-go-v2/service/codebuild v1.42.3 -- github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.15.6 -- github.com/aws/aws-sdk-go-v2/service/codecommit v1.25.3 -- github.com/aws/aws-sdk-go-v2/service/codedeploy v1.27.7 -- github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.22.6 -- github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.27.6 -- github.com/aws/aws-sdk-go-v2/service/codepipeline v1.31.4 -- github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.27.6 -- github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.24.6 -- github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.25.8 -- github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.43.4 -- github.com/aws/aws-sdk-go-v2/service/comprehend v1.33.6 -- github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.37.7 -- github.com/aws/aws-sdk-go-v2/service/configservice v1.48.7 -- github.com/aws/aws-sdk-go-v2/service/connect v1.109.0 -- github.com/aws/aws-sdk-go-v2/service/connectcases v1.19.6 -- github.com/aws/aws-sdk-go-v2/service/controltower v1.16.7 -- github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.26.6 -- github.com/aws/aws-sdk-go-v2/service/costexplorer v1.40.6 -- github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.8.3 -- github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.39.6 -- github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.40.7 -- github.com/aws/aws-sdk-go-v2/service/databrew v1.31.6 -- github.com/aws/aws-sdk-go-v2/service/dataexchange v1.30.6 -- github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.6 -- github.com/aws/aws-sdk-go-v2/service/datasync v1.40.7 -- github.com/aws/aws-sdk-go-v2/service/datazone v1.20.1 -- github.com/aws/aws-sdk-go-v2/service/dax v1.21.7 -- github.com/aws/aws-sdk-go-v2/service/detective v1.29.6 -- github.com/aws/aws-sdk-go-v2/service/devicefarm v1.26.2 -- github.com/aws/aws-sdk-go-v2/service/devopsguru v1.32.6 -- github.com/aws/aws-sdk-go-v2/service/directconnect v1.27.9 -- github.com/aws/aws-sdk-go-v2/service/directoryservice v1.27.6 -- github.com/aws/aws-sdk-go-v2/service/dlm v1.26.7 -- github.com/aws/aws-sdk-go-v2/service/docdb v1.37.3 -- github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.6 -- github.com/aws/aws-sdk-go-v2/service/drs v1.28.6 +- github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.21 +- github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.8 +- github.com/aws/aws-sdk-go-v2/service/account v1.19.7 +- github.com/aws/aws-sdk-go-v2/service/acm v1.28.9 +- github.com/aws/aws-sdk-go-v2/service/acmpca v1.35.5 +- github.com/aws/aws-sdk-go-v2/service/amp v1.27.7 +- github.com/aws/aws-sdk-go-v2/service/amplify v1.24.5 +- github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.9 +- github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.9 +- github.com/aws/aws-sdk-go-v2/service/appconfig v1.32.3 +- github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.7 +- github.com/aws/aws-sdk-go-v2/service/appflow v1.43.7 +- github.com/aws/aws-sdk-go-v2/service/appintegrations v1.28.4 +- github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.31.5 +- github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.4.1 +- github.com/aws/aws-sdk-go-v2/service/appmesh v1.27.8 +- github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.7 +- github.com/aws/aws-sdk-go-v2/service/appstream v1.38.4 +- github.com/aws/aws-sdk-go-v2/service/appsync v1.36.1 +- github.com/aws/aws-sdk-go-v2/service/athena v1.44.8 +- github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.7 +- github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.8 +- github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.8 +- github.com/aws/aws-sdk-go-v2/service/backup v1.37.3 +- github.com/aws/aws-sdk-go-v2/service/batch v1.44.4 +- github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.5.7 +- github.com/aws/aws-sdk-go-v2/service/bedrock v1.17.1 +- github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.19.1 +- github.com/aws/aws-sdk-go-v2/service/budgets v1.25.8 +- github.com/aws/aws-sdk-go-v2/service/chatbot v1.5.3 +- github.com/aws/aws-sdk-go-v2/service/chime v1.32.7 +- github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.7 +- github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.8 +- github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.5 +- github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.8 +- github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.8 +- github.com/aws/aws-sdk-go-v2/service/cloudfront v1.38.8 +- github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.6.7 +- github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.25.6 +- github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.24.7 +- github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.42.8 +- github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.40.8 +- github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.39.1 +- github.com/aws/aws-sdk-go-v2/service/codeartifact v1.30.7 +- github.com/aws/aws-sdk-go-v2/service/codebuild v1.43.0 +- github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.15.7 +- github.com/aws/aws-sdk-go-v2/service/codecommit v1.25.4 +- github.com/aws/aws-sdk-go-v2/service/codedeploy v1.27.8 +- github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.22.7 +- github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.27.7 +- github.com/aws/aws-sdk-go-v2/service/codepipeline v1.31.5 +- github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.27.7 +- github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.24.7 +- github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.25.9 +- github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.44.1 +- github.com/aws/aws-sdk-go-v2/service/comprehend v1.33.7 +- github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.37.8 +- github.com/aws/aws-sdk-go-v2/service/configservice v1.48.8 +- github.com/aws/aws-sdk-go-v2/service/connect v1.109.1 +- github.com/aws/aws-sdk-go-v2/service/connectcases v1.19.7 +- github.com/aws/aws-sdk-go-v2/service/controltower v1.16.8 +- github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/costexplorer v1.41.0 +- github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.8.4 +- github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.39.7 +- github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.40.8 +- github.com/aws/aws-sdk-go-v2/service/databrew v1.31.7 +- github.com/aws/aws-sdk-go-v2/service/dataexchange v1.30.7 +- github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.7 +- github.com/aws/aws-sdk-go-v2/service/datasync v1.40.8 +- github.com/aws/aws-sdk-go-v2/service/datazone v1.20.2 +- github.com/aws/aws-sdk-go-v2/service/dax v1.21.8 +- github.com/aws/aws-sdk-go-v2/service/detective v1.29.7 +- github.com/aws/aws-sdk-go-v2/service/devicefarm v1.26.3 +- github.com/aws/aws-sdk-go-v2/service/devopsguru v1.32.7 +- github.com/aws/aws-sdk-go-v2/service/directconnect v1.27.10 +- github.com/aws/aws-sdk-go-v2/service/directoryservice v1.28.0 +- github.com/aws/aws-sdk-go-v2/service/dlm v1.26.8 +- github.com/aws/aws-sdk-go-v2/service/docdb v1.37.4 +- github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.7 +- github.com/aws/aws-sdk-go-v2/service/drs v1.28.7 +- github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.10 +- github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.4 +- github.com/aws/aws-sdk-go-v2/service/ecr v1.34.0 +- github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.7 +- github.com/aws/aws-sdk-go-v2/service/ecs v1.45.5 +- github.com/aws/aws-sdk-go-v2/service/efs v1.31.8 +- github.com/aws/aws-sdk-go-v2/service/eks v1.48.5 +- github.com/aws/aws-sdk-go-v2/service/elasticache v1.40.10 +- github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.26.8 +- github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.37.1 +- github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.30.8 +- github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.25.7 +- github.com/aws/aws-sdk-go-v2/service/emr v1.43.1 +- github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.31.3 +- github.com/aws/aws-sdk-go-v2/service/emrserverless v1.23.7 +- github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.8 +- github.com/aws/aws-sdk-go-v2/service/evidently v1.21.7 +- github.com/aws/aws-sdk-go-v2/service/finspace v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/firehose v1.32.5 +- github.com/aws/aws-sdk-go-v2/service/fis v1.28.1 +- github.com/aws/aws-sdk-go-v2/service/fms v1.35.7 +- github.com/aws/aws-sdk-go-v2/service/fsx v1.47.6 +- github.com/aws/aws-sdk-go-v2/service/gamelift v1.34.1 +- github.com/aws/aws-sdk-go-v2/service/glacier v1.24.7 +- github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.4 +- github.com/aws/aws-sdk-go-v2/service/glue v1.96.1 +- github.com/aws/aws-sdk-go-v2/service/grafana v1.24.7 +- github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.7 +- github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.8 +- github.com/aws/aws-sdk-go-v2/service/guardduty v1.47.0 +- github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/iam v1.35.3 +- github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.7 +- github.com/aws/aws-sdk-go-v2/service/inspector v1.23.7 +- github.com/aws/aws-sdk-go-v2/service/inspector2 v1.30.3 +- github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.17.3 +- github.com/aws/aws-sdk-go-v2/service/iot v1.56.1 +- github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.7 +- github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.7 +- github.com/aws/aws-sdk-go-v2/service/ivs v1.38.5 +- github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.9 +- github.com/aws/aws-sdk-go-v2/service/kafka v1.36.1 +- github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.19.7 +- github.com/aws/aws-sdk-go-v2/service/kendra v1.52.7 +- github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.7 +- github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.8 +- github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.7 +- github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.29.1 +- github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.25.7 +- github.com/aws/aws-sdk-go-v2/service/kms v1.35.8 +- github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.7 +- github.com/aws/aws-sdk-go-v2/service/lambda v1.59.0 +- github.com/aws/aws-sdk-go-v2/service/launchwizard v1.6.7 +- github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.47.1 +- github.com/aws/aws-sdk-go-v2/service/licensemanager v1.27.7 +- github.com/aws/aws-sdk-go-v2/service/lightsail v1.40.7 +- github.com/aws/aws-sdk-go-v2/service/location v1.40.7 +- github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.29.7 +- github.com/aws/aws-sdk-go-v2/service/m2 v1.15.7 +- github.com/aws/aws-sdk-go-v2/service/macie2 v1.41.7 +- github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.33.2 +- github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.58.1 +- github.com/aws/aws-sdk-go-v2/service/medialive v1.59.1 +- github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.7 +- github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.5 +- github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.7 +- github.com/aws/aws-sdk-go-v2/service/memorydb v1.21.9 +- github.com/aws/aws-sdk-go-v2/service/mq v1.25.7 +- github.com/aws/aws-sdk-go-v2/service/mwaa v1.29.8 +- github.com/aws/aws-sdk-go-v2/service/neptune v1.33.8 +- github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.11.4 +- github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.41.4 +- github.com/aws/aws-sdk-go-v2/service/networkmanager v1.29.7 +- github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.5.7 +- github.com/aws/aws-sdk-go-v2/service/oam v1.13.10 +- github.com/aws/aws-sdk-go-v2/service/opensearch v1.39.7 +- github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.14.4 +- github.com/aws/aws-sdk-go-v2/service/opsworks v1.24.7 +- github.com/aws/aws-sdk-go-v2/service/organizations v1.31.4 +- github.com/aws/aws-sdk-go-v2/service/osis v1.12.7 +- github.com/aws/aws-sdk-go-v2/service/outposts v1.42.4 +- github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.12.7 +- github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.7 +- github.com/aws/aws-sdk-go-v2/service/pcs v1.0.3 +- github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.7 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.12 + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.4 + github.com/aws/aws-sdk-go-v2/service/account v1.19.4 @@ -186,38 +278,7 @@ index 5b8c85d7d3..a145fa7f16 100644 + github.com/aws/aws-sdk-go-v2/service/docdb v1.37.0 + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.4 + github.com/aws/aws-sdk-go-v2/service/drs v1.28.4 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.9 -- github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.3 -- github.com/aws/aws-sdk-go-v2/service/ecr v1.33.0 -- github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.6 -- github.com/aws/aws-sdk-go-v2/service/ecs v1.45.4 -- github.com/aws/aws-sdk-go-v2/service/efs v1.31.6 -- github.com/aws/aws-sdk-go-v2/service/eks v1.48.4 -- github.com/aws/aws-sdk-go-v2/service/elasticache v1.40.9 -- github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.26.6 -- github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.26.7 -- github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.36.0 -- github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.30.7 -- github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.25.6 -- github.com/aws/aws-sdk-go-v2/service/emr v1.42.6 -- github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.31.2 -- github.com/aws/aws-sdk-go-v2/service/emrserverless v1.23.6 -- github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.7 -- github.com/aws/aws-sdk-go-v2/service/evidently v1.21.6 -- github.com/aws/aws-sdk-go-v2/service/finspace v1.26.6 -- github.com/aws/aws-sdk-go-v2/service/firehose v1.32.4 -- github.com/aws/aws-sdk-go-v2/service/fis v1.28.0 -- github.com/aws/aws-sdk-go-v2/service/fms v1.35.6 -- github.com/aws/aws-sdk-go-v2/service/fsx v1.47.5 -- github.com/aws/aws-sdk-go-v2/service/gamelift v1.34.0 -- github.com/aws/aws-sdk-go-v2/service/glacier v1.24.6 -- github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.3 -- github.com/aws/aws-sdk-go-v2/service/glue v1.95.2 -- github.com/aws/aws-sdk-go-v2/service/grafana v1.24.6 -- github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.6 -- github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.7 -- github.com/aws/aws-sdk-go-v2/service/guardduty v1.46.0 -- github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.6 ++ github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.9 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0 + github.com/aws/aws-sdk-go-v2/service/ecr v1.32.1 + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.4 @@ -249,59 +310,7 @@ index 5b8c85d7d3..a145fa7f16 100644 + github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.5 + github.com/aws/aws-sdk-go-v2/service/guardduty v1.45.4 + github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.4 - github.com/aws/aws-sdk-go-v2/service/iam v1.35.2 -- github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.6 -- github.com/aws/aws-sdk-go-v2/service/inspector v1.23.6 -- github.com/aws/aws-sdk-go-v2/service/inspector2 v1.30.2 -- github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.17.2 -- github.com/aws/aws-sdk-go-v2/service/iot v1.55.6 -- github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.6 -- github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.6 -- github.com/aws/aws-sdk-go-v2/service/ivs v1.38.3 -- github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.7 -- github.com/aws/aws-sdk-go-v2/service/kafka v1.36.0 -- github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.19.6 -- github.com/aws/aws-sdk-go-v2/service/kendra v1.52.6 -- github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.6 -- github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.7 -- github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.6 -- github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.29.0 -- github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.25.6 -- github.com/aws/aws-sdk-go-v2/service/kms v1.35.7 -- github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.6 -- github.com/aws/aws-sdk-go-v2/service/lambda v1.58.3 -- github.com/aws/aws-sdk-go-v2/service/launchwizard v1.6.6 -- github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.26.6 -- github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.47.0 -- github.com/aws/aws-sdk-go-v2/service/licensemanager v1.27.6 -- github.com/aws/aws-sdk-go-v2/service/lightsail v1.40.6 -- github.com/aws/aws-sdk-go-v2/service/location v1.40.6 -- github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.29.6 -- github.com/aws/aws-sdk-go-v2/service/m2 v1.15.6 -- github.com/aws/aws-sdk-go-v2/service/macie2 v1.41.6 -- github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.33.1 -- github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.57.6 -- github.com/aws/aws-sdk-go-v2/service/medialive v1.58.0 -- github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.6 -- github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.4 -- github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.6 -- github.com/aws/aws-sdk-go-v2/service/memorydb v1.21.8 -- github.com/aws/aws-sdk-go-v2/service/mq v1.25.6 -- github.com/aws/aws-sdk-go-v2/service/mwaa v1.29.7 -- github.com/aws/aws-sdk-go-v2/service/neptune v1.33.7 -- github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.11.3 -- github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.41.3 -- github.com/aws/aws-sdk-go-v2/service/networkmanager v1.29.6 -- github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.5.6 -- github.com/aws/aws-sdk-go-v2/service/oam v1.13.9 -- github.com/aws/aws-sdk-go-v2/service/opensearch v1.39.6 -- github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.14.3 -- github.com/aws/aws-sdk-go-v2/service/opsworks v1.24.6 -- github.com/aws/aws-sdk-go-v2/service/organizations v1.31.2 -- github.com/aws/aws-sdk-go-v2/service/osis v1.12.6 -- github.com/aws/aws-sdk-go-v2/service/outposts v1.42.3 -- github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.12.6 -- github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.6 ++ github.com/aws/aws-sdk-go-v2/service/iam v1.35.2 + github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.4 + github.com/aws/aws-sdk-go-v2/service/inspector v1.23.4 + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.29.0 @@ -354,39 +363,85 @@ index 5b8c85d7d3..a145fa7f16 100644 + github.com/aws/aws-sdk-go-v2/service/outposts v1.42.1 + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.12.4 + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.4 - github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2 -- github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.6 -- github.com/aws/aws-sdk-go-v2/service/pipes v1.15.0 -- github.com/aws/aws-sdk-go-v2/service/polly v1.43.2 -- github.com/aws/aws-sdk-go-v2/service/pricing v1.30.6 -- github.com/aws/aws-sdk-go-v2/service/qbusiness v1.11.2 -- github.com/aws/aws-sdk-go-v2/service/qldb v1.23.6 ++ github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2 + github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4 + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9 +- github.com/aws/aws-sdk-go-v2/service/pipes v1.15.1 +- github.com/aws/aws-sdk-go-v2/service/polly v1.43.3 +- github.com/aws/aws-sdk-go-v2/service/pricing v1.30.7 +- github.com/aws/aws-sdk-go-v2/service/qbusiness v1.11.3 +- github.com/aws/aws-sdk-go-v2/service/qldb v1.23.7 +- github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.3 +- github.com/aws/aws-sdk-go-v2/service/ram v1.27.8 +- github.com/aws/aws-sdk-go-v2/service/rbin v1.18.8 +- github.com/aws/aws-sdk-go-v2/service/rds v1.83.2 +- github.com/aws/aws-sdk-go-v2/service/redshift v1.46.9 +- github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.28.3 +- github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.6 +- github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.6 +- github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.24.4 +- github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.7 +- github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.24.8 +- github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.23.8 +- github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.14.4 +- github.com/aws/aws-sdk-go-v2/service/route53 v1.43.3 +- github.com/aws/aws-sdk-go-v2/service/route53domains v1.25.7 +- github.com/aws/aws-sdk-go-v2/service/route53profiles v1.2.7 +- github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.23.7 +- github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.19.7 +- github.com/aws/aws-sdk-go-v2/service/route53resolver v1.30.9 +- github.com/aws/aws-sdk-go-v2/service/rum v1.19.7 +- github.com/aws/aws-sdk-go-v2/service/s3 v1.62.0 +- github.com/aws/aws-sdk-go-v2/service/s3control v1.47.1 +- github.com/aws/aws-sdk-go-v2/service/s3outposts v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/sagemaker v1.157.1 +- github.com/aws/aws-sdk-go-v2/service/scheduler v1.10.7 +- github.com/aws/aws-sdk-go-v2/service/schemas v1.26.7 +- github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.9 +- github.com/aws/aws-sdk-go-v2/service/securityhub v1.52.5 +- github.com/aws/aws-sdk-go-v2/service/securitylake v1.16.7 +- github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.22.8 +- github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.30.7 +- github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.28.7 +- github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.8 +- github.com/aws/aws-sdk-go-v2/service/servicequotas v1.23.8 +- github.com/aws/aws-sdk-go-v2/service/ses v1.26.3 +- github.com/aws/aws-sdk-go-v2/service/sesv2 v1.33.3 +- github.com/aws/aws-sdk-go-v2/service/sfn v1.31.3 +- github.com/aws/aws-sdk-go-v2/service/shield v1.27.7 +- github.com/aws/aws-sdk-go-v2/service/signer v1.24.7 +- github.com/aws/aws-sdk-go-v2/service/sns v1.31.8 +- github.com/aws/aws-sdk-go-v2/service/sqs v1.34.9 +- github.com/aws/aws-sdk-go-v2/service/ssm v1.53.0 +- github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.24.7 +- github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.32.7 +- github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.4 +- github.com/aws/aws-sdk-go-v2/service/sso v1.22.8 +- github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.8 +- github.com/aws/aws-sdk-go-v2/service/storagegateway v1.32.1 +- github.com/aws/aws-sdk-go-v2/service/sts v1.30.8 +- github.com/aws/aws-sdk-go-v2/service/swf v1.25.8 +- github.com/aws/aws-sdk-go-v2/service/synthetics v1.27.1 +- github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.3.2 +- github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.27.7 +- github.com/aws/aws-sdk-go-v2/service/transcribe v1.39.7 +- github.com/aws/aws-sdk-go-v2/service/transfer v1.50.7 +- github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.17.7 +- github.com/aws/aws-sdk-go-v2/service/vpclattice v1.10.8 +- github.com/aws/aws-sdk-go-v2/service/waf v1.23.7 +- github.com/aws/aws-sdk-go-v2/service/wafregional v1.23.7 +- github.com/aws/aws-sdk-go-v2/service/wafv2 v1.52.3 +- github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.32.7 +- github.com/aws/aws-sdk-go-v2/service/worklink v1.22.7 +- github.com/aws/aws-sdk-go-v2/service/workspaces v1.46.4 +- github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.21.8 +- github.com/aws/aws-sdk-go-v2/service/xray v1.27.8 + github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4 + github.com/aws/aws-sdk-go-v2/service/polly v1.42.4 + github.com/aws/aws-sdk-go-v2/service/pricing v1.30.4 + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.10.3 + github.com/aws/aws-sdk-go-v2/service/qldb v1.23.4 - github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.2 -- github.com/aws/aws-sdk-go-v2/service/ram v1.27.7 -- github.com/aws/aws-sdk-go-v2/service/rbin v1.18.7 -- github.com/aws/aws-sdk-go-v2/service/rds v1.82.4 -- github.com/aws/aws-sdk-go-v2/service/redshift v1.46.8 -- github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.28.2 -- github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.4 -- github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.5 -- github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.24.3 -- github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.6 -- github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.24.7 -- github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.23.7 -- github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.14.3 -- github.com/aws/aws-sdk-go-v2/service/route53 v1.43.2 -- github.com/aws/aws-sdk-go-v2/service/route53domains v1.25.6 -- github.com/aws/aws-sdk-go-v2/service/route53profiles v1.2.6 -- github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.23.6 -- github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.19.6 -- github.com/aws/aws-sdk-go-v2/service/route53resolver v1.30.8 -- github.com/aws/aws-sdk-go-v2/service/rum v1.19.6 ++ github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.2 + github.com/aws/aws-sdk-go-v2/service/ram v1.27.4 + github.com/aws/aws-sdk-go-v2/service/rbin v1.18.4 + github.com/aws/aws-sdk-go-v2/service/rds v1.82.1 @@ -406,26 +461,7 @@ index 5b8c85d7d3..a145fa7f16 100644 + github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.19.4 + github.com/aws/aws-sdk-go-v2/service/route53resolver v1.30.4 + github.com/aws/aws-sdk-go-v2/service/rum v1.19.4 - github.com/aws/aws-sdk-go-v2/service/s3 v1.61.2 -- github.com/aws/aws-sdk-go-v2/service/s3control v1.47.0 -- github.com/aws/aws-sdk-go-v2/service/s3outposts v1.26.6 -- github.com/aws/aws-sdk-go-v2/service/sagemaker v1.157.0 -- github.com/aws/aws-sdk-go-v2/service/scheduler v1.10.6 -- github.com/aws/aws-sdk-go-v2/service/schemas v1.26.6 -- github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.8 -- github.com/aws/aws-sdk-go-v2/service/securityhub v1.52.4 -- github.com/aws/aws-sdk-go-v2/service/securitylake v1.16.6 -- github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.22.7 -- github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.30.6 -- github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.28.6 -- github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.7 -- github.com/aws/aws-sdk-go-v2/service/servicequotas v1.23.7 -- github.com/aws/aws-sdk-go-v2/service/ses v1.26.2 -- github.com/aws/aws-sdk-go-v2/service/sesv2 v1.33.2 -- github.com/aws/aws-sdk-go-v2/service/sfn v1.31.2 -- github.com/aws/aws-sdk-go-v2/service/shield v1.27.6 -- github.com/aws/aws-sdk-go-v2/service/signer v1.24.6 -- github.com/aws/aws-sdk-go-v2/service/sns v1.31.7 ++ github.com/aws/aws-sdk-go-v2/service/s3 v1.61.2 + github.com/aws/aws-sdk-go-v2/service/s3control v1.46.4 + github.com/aws/aws-sdk-go-v2/service/s3outposts v1.26.4 + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.154.0 @@ -445,37 +481,15 @@ index 5b8c85d7d3..a145fa7f16 100644 + github.com/aws/aws-sdk-go-v2/service/shield v1.27.4 + github.com/aws/aws-sdk-go-v2/service/signer v1.24.4 + github.com/aws/aws-sdk-go-v2/service/sns v1.31.4 - github.com/aws/aws-sdk-go-v2/service/sqs v1.34.8 -- github.com/aws/aws-sdk-go-v2/service/ssm v1.52.8 -- github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.24.6 -- github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.32.6 -- github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.2 ++ github.com/aws/aws-sdk-go-v2/service/sqs v1.34.8 + github.com/aws/aws-sdk-go-v2/service/ssm v1.52.5 + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.24.4 + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.32.4 + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.0 - github.com/aws/aws-sdk-go-v2/service/sso v1.22.7 -- github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.7 -- github.com/aws/aws-sdk-go-v2/service/storagegateway v1.31.6 ++ github.com/aws/aws-sdk-go-v2/service/sso v1.22.7 + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.5 + github.com/aws/aws-sdk-go-v2/service/storagegateway v1.31.4 - github.com/aws/aws-sdk-go-v2/service/sts v1.30.7 -- github.com/aws/aws-sdk-go-v2/service/swf v1.25.7 -- github.com/aws/aws-sdk-go-v2/service/synthetics v1.26.8 -- github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.3.1 -- github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.27.6 -- github.com/aws/aws-sdk-go-v2/service/transcribe v1.39.6 -- github.com/aws/aws-sdk-go-v2/service/transfer v1.50.6 -- github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.17.6 -- github.com/aws/aws-sdk-go-v2/service/vpclattice v1.10.7 -- github.com/aws/aws-sdk-go-v2/service/waf v1.23.6 -- github.com/aws/aws-sdk-go-v2/service/wafregional v1.23.6 -- github.com/aws/aws-sdk-go-v2/service/wafv2 v1.52.2 -- github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.32.6 -- github.com/aws/aws-sdk-go-v2/service/worklink v1.22.6 -- github.com/aws/aws-sdk-go-v2/service/workspaces v1.46.3 -- github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.21.7 -- github.com/aws/aws-sdk-go-v2/service/xray v1.27.7 ++ github.com/aws/aws-sdk-go-v2/service/sts v1.30.7 + github.com/aws/aws-sdk-go-v2/service/swf v1.25.4 + github.com/aws/aws-sdk-go-v2/service/synthetics v1.26.4 + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.2.4 @@ -495,18 +509,19 @@ index 5b8c85d7d3..a145fa7f16 100644 github.com/aws/smithy-go v1.20.4 github.com/beevik/etree v1.4.1 github.com/cedar-policy/cedar-go v0.1.0 -@@ -259,8 +259,9 @@ require ( +@@ -260,8 +260,9 @@ 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 +- github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.57 +- github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.58 + github.com/hashicorp/aws-sdk-go-base v1.1.0 - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.56 -- github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.57 ++ github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.56 + github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.56 github.com/hashicorp/awspolicyequivalence v1.6.0 github.com/hashicorp/cli v1.1.6 github.com/hashicorp/go-cleanhttp v0.5.2 -@@ -269,7 +270,7 @@ require ( +@@ -270,7 +271,7 @@ require ( github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/go-uuid v1.0.3 github.com/hashicorp/go-version v1.7.0 @@ -514,8 +529,8 @@ index 5b8c85d7d3..a145fa7f16 100644 + github.com/hashicorp/hcl/v2 v2.21.0 github.com/hashicorp/terraform-json v0.22.1 github.com/hashicorp/terraform-plugin-framework v1.11.0 - github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 -@@ -282,7 +283,7 @@ require ( + github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 +@@ -283,7 +284,7 @@ require ( github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 github.com/hashicorp/terraform-plugin-testing v1.10.0 github.com/jmespath/go-jmespath v0.4.0 @@ -524,7 +539,19 @@ index 5b8c85d7d3..a145fa7f16 100644 github.com/mitchellh/copystructure v1.2.0 github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/go-testing-interface v1.14.1 -@@ -299,7 +300,7 @@ require ( +@@ -291,9 +292,9 @@ require ( + github.com/pquerna/otp v1.4.0 + github.com/shopspring/decimal v1.4.0 + golang.org/x/crypto v0.27.0 +- golang.org/x/mod v0.21.0 ++ golang.org/x/mod v0.20.0 + golang.org/x/text v0.18.0 +- golang.org/x/tools v0.25.0 ++ golang.org/x/tools v0.24.0 + gopkg.in/dnaeon/go-vcr.v3 v3.2.1 + gopkg.in/yaml.v2 v2.4.0 + syreclabs.com/go/faker v1.2.3 +@@ -301,7 +302,7 @@ require ( require ( github.com/Masterminds/goutils v1.1.1 // indirect @@ -533,11 +560,13 @@ index 5b8c85d7d3..a145fa7f16 100644 github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect -@@ -315,12 +316,13 @@ require ( +@@ -316,13 +317,14 @@ require ( + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.18 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.19 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.17 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.7 // indirect +- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.8 // indirect - github.com/bgentry/speakeasy v0.2.0 // indirect ++ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.7 // indirect + github.com/bgentry/speakeasy v0.1.0 // indirect github.com/boombuler/barcode v1.0.1 // indirect github.com/bufbuild/protocompile v0.6.0 // indirect @@ -549,7 +578,7 @@ index 5b8c85d7d3..a145fa7f16 100644 github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-test/deep v1.1.0 // indirect -@@ -328,7 +330,7 @@ require ( +@@ -330,7 +332,7 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect @@ -558,7 +587,7 @@ index 5b8c85d7d3..a145fa7f16 100644 github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/hc-install v0.8.0 // indirect github.com/hashicorp/logutils v1.0.0 // indirect -@@ -336,7 +338,7 @@ require ( +@@ -338,7 +340,7 @@ require ( github.com/hashicorp/terraform-registry-address v0.2.3 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/yamux v0.1.1 // indirect @@ -567,7 +596,7 @@ index 5b8c85d7d3..a145fa7f16 100644 github.com/imdario/mergo v0.3.16 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect -@@ -345,7 +347,7 @@ require ( +@@ -347,7 +349,7 @@ require ( github.com/oklog/run v1.1.0 // indirect github.com/posener/complete v1.2.3 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect @@ -576,7 +605,16 @@ index 5b8c85d7d3..a145fa7f16 100644 github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect -@@ -362,9 +364,9 @@ require ( +@@ -355,7 +357,7 @@ require ( + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + github.com/xeipuuv/gojsonschema v1.2.0 // indirect + github.com/zclconf/go-cty v1.15.0 // indirect +- go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.55.0 // indirect ++ go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.54.0 // indirect + go.opentelemetry.io/otel v1.30.0 // indirect + go.opentelemetry.io/otel/metric v1.30.0 // indirect + go.opentelemetry.io/otel/trace v1.30.0 // indirect +@@ -363,9 +365,9 @@ require ( golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.25.0 // indirect google.golang.org/appengine v1.6.8 // indirect @@ -590,7 +628,7 @@ index 5b8c85d7d3..a145fa7f16 100644 gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum -index 966c7df257..cfa521aa50 100644 +index 8dbe86f32d..3339e3b4e6 100644 --- a/go.sum +++ b/go.sum @@ -3,8 +3,8 @@ dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= @@ -604,7 +642,7 @@ index 966c7df257..cfa521aa50 100644 github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA= github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= -@@ -22,6 +22,7 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew +@@ -22,20 +22,21 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -612,12 +650,21 @@ index 966c7df257..cfa521aa50 100644 github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aws/aws-sdk-go-v2 v1.30.5 h1:mWSRTwQAb0aLE17dSzztCVJWI9+cRMgqebndjwDyK0g= -@@ -34,8 +35,8 @@ github.com/aws/aws-sdk-go-v2/credentials v1.17.32 h1:7Cxhp/BnT2RcGy4VisJ9miUPecY - github.com/aws/aws-sdk-go-v2/credentials v1.17.32/go.mod h1:P5/QMF3/DCHbXGEGkdbilXHsyTBX5D3HSwcrSc9p20I= + github.com/aws/aws-sdk-go-v2 v1.30.5/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU= + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw= +-github.com/aws/aws-sdk-go-v2/config v1.27.35 h1:jeFgiWYNV0vrgdZqB4kZBjYNdy0IKkwrAjr2fwpHIig= +-github.com/aws/aws-sdk-go-v2/config v1.27.35/go.mod h1:qnpEvTq8ZfjrCqmJGRfWZuF+lGZ/vG8LK2K0L/TY1gQ= +-github.com/aws/aws-sdk-go-v2/credentials v1.17.33 h1:lBHAQQznENv0gLHAZ73ONiTSkCtr8q3pSqWrpbBBZz0= +-github.com/aws/aws-sdk-go-v2/credentials v1.17.33/go.mod h1:MBuqCUOT3ChfLuxNDGyra67eskx7ge9e3YKYBce7wpI= ++github.com/aws/aws-sdk-go-v2/config v1.27.33 h1:Nof9o/MsmH4oa0s2q9a0k7tMz5x/Yj5k06lDODWz3BU= ++github.com/aws/aws-sdk-go-v2/config v1.27.33/go.mod h1:kEqdYzRb8dd8Sy2pOdEbExTTF5v7ozEXX0McgPE7xks= ++github.com/aws/aws-sdk-go-v2/credentials v1.17.32 h1:7Cxhp/BnT2RcGy4VisJ9miUPecY+lyE9I8JvcZofn9I= ++github.com/aws/aws-sdk-go-v2/credentials v1.17.32/go.mod h1:P5/QMF3/DCHbXGEGkdbilXHsyTBX5D3HSwcrSc9p20I= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.13 h1:pfQ2sqNpMVK6xz2RbqLEL0GH87JOwSxPV2rzm8Zsb74= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.13/go.mod h1:NG7RXPUlqfsCLLFfi0+IpKN4sCB9D9fw/qTaSB+xRoU= --github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.18 h1:9DIp7vhmOPmueCDwpXa45bEbLHHTt1kcxChdTJWWxvI= --github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.18/go.mod h1:aJv/Fwz8r56ozwYFRC4bzoeL1L17GYQYemfblOBux1M= +-github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.21 h1:sV0doPPsRT7gMP0BnDPwSsysVTV/nKpB/nFmMnz8goE= +-github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.21/go.mod h1:ictvfJWqE2gkUFDRJVp5VU/TrytuzK88DYcpan7UYuA= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.12 h1:i7cJ1izNlox4ka6cvbHPTztYGtbpW4Je/jyQIKOIU4A= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.12/go.mod h1:lHnam/4CTEVHaANZD54IrpE80VLK+lUU84WEeJ1FJ8M= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.17 h1:pI7Bzt0BJtYA0N/JEC6B8fJ4RBrEMi1LBrkMdFYNSnQ= @@ -627,170 +674,242 @@ index 966c7df257..cfa521aa50 100644 github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.17 h1:Roo69qTpfu8OlJ2Tb7pAYVuF0CpuUMB0IYWwYP/4DZM= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.17/go.mod h1:NcWPxQzGM1USQggaTVwz6VpqMZPX1CvDJLDh6jnOCa4= --github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.7 h1:iPG5X9YjkqKjRvFWIQCl6hqSj04AjHiK++bzhNclwMY= --github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.7/go.mod h1:GKj0oiKdzsHxynFVgI7CqGU61ZkdtwVf0qzDlz/9bS8= --github.com/aws/aws-sdk-go-v2/service/account v1.19.6 h1:YyMPN2rajxhAjCOdAwWDSLBrniSXYQKxIYtclIb6gS0= --github.com/aws/aws-sdk-go-v2/service/account v1.19.6/go.mod h1:mrppE/AdKXh/4QOWhpLGdgX7bsf1PEGjq7yZFM+Vzc0= --github.com/aws/aws-sdk-go-v2/service/acm v1.28.8 h1:rYhl6VU4k4LFq1nlyDPiJhzyVGe7Db1gZ8JreaFuK/0= --github.com/aws/aws-sdk-go-v2/service/acm v1.28.8/go.mod h1:EXQpa2D/M+7s40fTH326dmErpfW+UqJnKcfhpG3wN+M= --github.com/aws/aws-sdk-go-v2/service/acmpca v1.35.4 h1:KihljJ1EQhv7H19B3xqvDmLh0jsomk0BLf6ILolY9qE= --github.com/aws/aws-sdk-go-v2/service/acmpca v1.35.4/go.mod h1:1gyhCVvhECL8PQQGA8CFuQmTw6pC83iJPURZ/6ESlt8= --github.com/aws/aws-sdk-go-v2/service/amp v1.27.6 h1:fdloGlPv85X7xljjEytOgkf2Ooo4X+bRgRwd4VsteIo= --github.com/aws/aws-sdk-go-v2/service/amp v1.27.6/go.mod h1:9om9+RWkFPh5o/kxJf3oPJGdlExpIFzRh3WeHZR8kZw= --github.com/aws/aws-sdk-go-v2/service/amplify v1.24.3 h1:Ajo2jZY3KynmYu4LqbUER8sXFUfELBrElB3MPDTEqp0= --github.com/aws/aws-sdk-go-v2/service/amplify v1.24.3/go.mod h1:AEJHCkEbyY4f8Fh5iLRz9I9FkQzVDIUsc6SWcp3AGzU= --github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.8 h1:CgEyY7gfTf7lHYcCi7+w6jJ1XQBugjpadtsuN3TGxdQ= --github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.8/go.mod h1:z99ur4Ha5540t8hb5XtqV/UMOnEoEZK22lhr5ZBS0zw= --github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.8 h1:SWBNBbVbThg5Hdi3hWbVaDFjV/OyPbuqZLu4N+mj/Es= --github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.8/go.mod h1:lz2IT8gzzSwao0Pa6uMSdCIPsprmgCkW83q6sHGZFDw= --github.com/aws/aws-sdk-go-v2/service/appconfig v1.32.2 h1:H5KTCcCBL4zYbU989nQ7e6P6rYABmXaIS870P3eIX7s= --github.com/aws/aws-sdk-go-v2/service/appconfig v1.32.2/go.mod h1:UW+iM6Meg+4MDb21vivnP0VrIWtJLHd+kYsl/tDs3Ww= --github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.6 h1:esAINPLBcsVZhr4yzwxGNGXOksuADLe/zPnzIE/FiKI= --github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.6/go.mod h1:qVCMTfRC5iWwGTl6nGvhr859jaP26fY3BpYnVVLv03A= --github.com/aws/aws-sdk-go-v2/service/appflow v1.43.6 h1:Kvfd358i54ueNpOp8A18PVbheeKRn0GAqFu9JtZ9NOU= --github.com/aws/aws-sdk-go-v2/service/appflow v1.43.6/go.mod h1:AiMwrZdtLmnoNd8FaCUN+umNB75RmA0JYV9wU46Ze7s= --github.com/aws/aws-sdk-go-v2/service/appintegrations v1.28.3 h1:c6q3AnjLlGVKVIawFJSecJPKPs2NBlYiJKxsRJ7ML3Q= --github.com/aws/aws-sdk-go-v2/service/appintegrations v1.28.3/go.mod h1:OL31C0vQpC6JnJ1DwDN26JDie1ASL5ioH8xwGXRd96s= --github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.31.4 h1:dNfBU0AkiW9a4Fj5XPHhDIs03rlSt/9Fi99v9yqmZGg= --github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.31.4/go.mod h1:ErwldjHfakUkiCI/79rr4dMe09Ip8H+yYNl9Dfl0s5Q= --github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.26.6 h1:j8FJYqYu51WRY9yKmbtwXAwt0g31HKaewhqzhbj/bCk= --github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.26.6/go.mod h1:e7C1DdWfAgI5Q+5G5w6gqleqQw9IivaRZzc0gCJNzOk= --github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.4.0 h1:xCO7ivLk/RAR372+4D9AQGFd/+Hs8Ehg79l9bfj32kQ= --github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.4.0/go.mod h1:oLl30psMIxqSF8EIbJBajb2VoLKcC97OVBUxaoBmsBU= --github.com/aws/aws-sdk-go-v2/service/appmesh v1.27.7 h1:q44a6kysAfej9zZwRnraOg9sBVIKhxKjPbqYs44Vpdk= --github.com/aws/aws-sdk-go-v2/service/appmesh v1.27.7/go.mod h1:ZYSmrgAMp0rTCHH+SGsoxZo+PPbgsDqBzewTp3tSJ60= --github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.6 h1:mW4u4cf8FaJG9x2m0ks5G365dzcdgdwiQqphC/oy6As= --github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.6/go.mod h1:d7zoUA4UluxSKaj6kfOy/VL0oaUJzw+QVGmErLaM0JE= --github.com/aws/aws-sdk-go-v2/service/appstream v1.38.3 h1:6Msa6KNRVYJYV6NCpKS/2A8T1j9CCksajKOz58oUJac= --github.com/aws/aws-sdk-go-v2/service/appstream v1.38.3/go.mod h1:qukWMKRrFUNI66U/PKPz4FzRjPeLqn7kxNQD7NUL320= --github.com/aws/aws-sdk-go-v2/service/appsync v1.36.0 h1:vkSefOjyBVFxQFbBanZqC86lYT2vCb0deyrTTpHhcpI= --github.com/aws/aws-sdk-go-v2/service/appsync v1.36.0/go.mod h1:8MjMPuuDBZDYkOJ2LbdWX9oqeSd+OW0HkVEpFAFkI9o= --github.com/aws/aws-sdk-go-v2/service/athena v1.44.7 h1:b/igmXwHASFS4ef7qJaGH/jRVPQ0kaV2M+vz/y81pek= --github.com/aws/aws-sdk-go-v2/service/athena v1.44.7/go.mod h1:gKQRkbgmZ4fE9gU1S43NoxcKyctSbrvMMeg0ImWXb+Y= --github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.6 h1:AMDy+5NZW97NL5P8ASqUwaD0+6rGGMKK3APYdDh7zFE= --github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.6/go.mod h1:lNEwOsVNqHmzDtcvvo/EnMJc8sOGNKwyT5RPew/b++s= --github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.7 h1:F0HcD8t3BCS5qqdLZzep3NBj5mmqpTNbdVws2l4tFfI= --github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.7/go.mod h1:bfjSD4lHRjHgXmqdwOIZ2EW5AisvpOuLhP/ADKIVUP8= --github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.7 h1:Eaz1H10cJ8K7UFEHL/GgZp47aSI2dl6vRUO97w4U3BI= --github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.7/go.mod h1:u5zgiwlr6yQh9bKAcoeCy/h5vLC9HqzwxV0YkUesayQ= --github.com/aws/aws-sdk-go-v2/service/backup v1.37.2 h1:bHpZ900zMMsFpgnlNdzeNdOAUwrHD3YBkj80LJZquH8= --github.com/aws/aws-sdk-go-v2/service/backup v1.37.2/go.mod h1:8Gg8n/Hq4/EegF64SJfJtAZtoFhsZrv1T1uz/rqw8ow= --github.com/aws/aws-sdk-go-v2/service/batch v1.44.3 h1:kSpG/qEeMgxdbxAr5vwT4441n675rIP7DuGYXIapQM8= --github.com/aws/aws-sdk-go-v2/service/batch v1.44.3/go.mod h1:m4EOt3yb2HPqXyQnww7wOPUNbS2cvdwjyGhDlrwMA1o= --github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.5.6 h1:yV12yVfkFECmgYkSXsm5BqNYxOAMdSyb29I4jVM3gJU= --github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.5.6/go.mod h1:8Batdc1SWCkzR7QB5Jys5ioBS19u1Hfh+d00ebvYJwU= --github.com/aws/aws-sdk-go-v2/service/bedrock v1.16.2 h1:N+E+UCy7YiUT1hu0c0F8DhO9Fdx8KIg/u1m2csGW9Co= --github.com/aws/aws-sdk-go-v2/service/bedrock v1.16.2/go.mod h1:7CCNXL2qhI91wcy+GCt+rg9fzwwET0XlavHQiPSimyA= --github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.19.0 h1:eD80H6CccoJoMQvpL8Ulk/+s8Vw8PhPGR3VQgxbiRXY= --github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.19.0/go.mod h1:d+N4lx2jC4eBcGjAfV4qufcdI9T0YqiE+tbNKz3r1a0= --github.com/aws/aws-sdk-go-v2/service/budgets v1.25.7 h1:nMFSy+QpgPttfz6NtmXk0lZGrGTuKvizG1xb0hsj0sI= --github.com/aws/aws-sdk-go-v2/service/budgets v1.25.7/go.mod h1:deOaC3EOD0iA7qtte6SOaMGYMpM8vNPtjgVMqP6/GpQ= --github.com/aws/aws-sdk-go-v2/service/chatbot v1.5.2 h1:UPPmuR0UN4G5r9ncb2GTupOMVIrept2DHGVaYxQHAwQ= --github.com/aws/aws-sdk-go-v2/service/chatbot v1.5.2/go.mod h1:3FbQI53yRYyty4ERw3bGoMMEJgV72JR9HbsJW1YZaQs= --github.com/aws/aws-sdk-go-v2/service/chime v1.32.6 h1:iBDDbTuH9qH2V7hb6CsB/a/3ccy3JpRmaUIq8Ki22Po= --github.com/aws/aws-sdk-go-v2/service/chime v1.32.6/go.mod h1:ScfDPCk4PB1CI2FVGseVD0f4HlPQcOuhhMshDJF9OY8= --github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.6 h1:2n7ZdkAGyMO+PRlrAq8uICojVuiPZL2W+Ttq8PVUE8g= --github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.6/go.mod h1:piUYRN/bkSojQEQ42+BQzlVuU3VGivrRXovpBxcLlvk= --github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.7 h1:w4u9Tcb0140px53K4u+j8KzWzyHDhQYjpGJiZDvT6r4= --github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.7/go.mod h1:wmxh9CSS48Rrp+HDYv0R0aExFHQkneNPJkcJ7eux2NA= --github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.4 h1:4uQCkI9sD2Ipmf7jQe7VcTgtgtRbEG4eEbi90l/zv/k= --github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.4/go.mod h1:ohkkMq2Br5djAnAOzzqs45tAGD1eu/EOJbhcwn+oJRw= --github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.6 h1:F2wKOhq+y1AyCcZmF1pezw5PkHNE28s0vH2m7f6AFmw= --github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.6/go.mod h1:GZuSYq2+DIyyXZQl8CtJr/70zCxO5MyfgGM44eluZs8= --github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.7 h1:dqv3Kjj6wUSVnAIcjLUYmdOA+uWJxjKu4P1IFOAs5nA= --github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.7/go.mod h1:aiOymhljgGMZYl4V8sSGPbOT7fnWruJEe+HjyJaxHXU= --github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.7 h1:pWuvZn0cGEybhLxYUZBlUQF8vaIcJ11I/8o8i1QjdZ0= --github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.7/go.mod h1:TXiuXcbBl1rEAy9xhZi2TBZeWfoRhJ6ymMfepMxJnZk= --github.com/aws/aws-sdk-go-v2/service/cloudfront v1.38.7 h1:XAIxPw6FUxGv2xCB+7GapxB/H1LxfUogdzHbL6Pn3kI= --github.com/aws/aws-sdk-go-v2/service/cloudfront v1.38.7/go.mod h1:R7mWBZ2a/EnExUNP+vkBBQGTz7+ZCcT16Mm6a9XZ/0A= --github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.6.6 h1:RuRzhxGSlxkxEH0I2fc44D27ODljrmPFumrzn9TJTGs= --github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.6.6/go.mod h1:B6djS2mK38QoSzZ5SiAKA0VwS5jxGrhWIMRdNt/O19M= --github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.25.5 h1:zcS83Bg8oNjSjFbeGAtzBkMYKNBbfPXTl+W8K8EWBq8= --github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.25.5/go.mod h1:TNPxioDBxuavXAl0/n4vZleItLBRGuYmi4pr1Pex6UY= --github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.24.6 h1:tzJdP0e6ugo/yzcmGCshsu6pDMTKQy5WHbjngo5fiBo= --github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.24.6/go.mod h1:ItOmWyypVkD+AjYE5Id/3ZqBRvycGQjIipFjkYOErtI= --github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.42.7 h1:+7EsNQnh7S5I4KAPMK98sSl3e2kJw4BgFI/vVJoVg7U= --github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.42.7/go.mod h1:4PmgiDQI9Q/CyWAIj/RFZXapY1URHE181UDKEk+NOeg= --github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.40.7 h1:G8JC8KCrNiQiyK61CYyzRDixCb+XNktVcaQzlG95yJI= --github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.40.7/go.mod h1:HeDvLYJALo05N6wCx3Ufa1rHGL1mz9ON312O2yVclIs= --github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.39.0 h1:FL5Gfgg2Cp669y7egTKUH6lVHOwFbNdm2VbCZvmzeho= --github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.39.0/go.mod h1:bDqBjrjbgWKyis9R6mf3NcjoIrgnrBA9L4W724mg7pA= --github.com/aws/aws-sdk-go-v2/service/codeartifact v1.30.6 h1:ye9thrghs/eZswlBYai+LkorJ1EEKq3eFBQsN7G+RJE= --github.com/aws/aws-sdk-go-v2/service/codeartifact v1.30.6/go.mod h1:gwMTciwKCosuVemRGAM0oVqynyni1YeMbCMfgLEKKIo= --github.com/aws/aws-sdk-go-v2/service/codebuild v1.42.3 h1:87+ZhNzVZO5fMhrdcz7lABEEk1aoetBZqhiOM0Tew8M= --github.com/aws/aws-sdk-go-v2/service/codebuild v1.42.3/go.mod h1:oYJd2vaRXsIzY78pjT5xtjH5aFOy/5F3Vue1j5tzIwU= --github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.15.6 h1:aFpaofo39Ipn+Cb6vwkxzoqoHwnvTcWRlPLLx0FET2g= --github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.15.6/go.mod h1:78fuDwyIegLi8uCoBRFTEzph4A7pm4keD7Y/YHAOMYY= --github.com/aws/aws-sdk-go-v2/service/codecommit v1.25.3 h1:KIk3jPjpQ0nM1YBVRGiLaG+gN4OUkiCtjSIfNtlLL2M= --github.com/aws/aws-sdk-go-v2/service/codecommit v1.25.3/go.mod h1:48i3wz1suHCRGmoD0EAhhA0DrGVJ/LG5kCMFY0YBG8c= --github.com/aws/aws-sdk-go-v2/service/codedeploy v1.27.7 h1:lDItwMlsg0W5HRq/7rQMXIxzTGDK9/90kmbFjdFffUU= --github.com/aws/aws-sdk-go-v2/service/codedeploy v1.27.7/go.mod h1:ybVdl0hhR61vKUyazymzA1pwZa66WfFeAbBstFz9nws= --github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.22.6 h1:qBTePkdnTOVlWiJME4EwgZVv0nHoNlQ9M7HuaKvkK8E= --github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.22.6/go.mod h1:IllGluwCAVtiFVwlFd/mrYVT4y+Hnsk7WAdsYsfzufg= --github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.27.6 h1:kVoh4EUk7gYfIXw5T4ciKOD130lyom1wSOeptUT+jt0= --github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.27.6/go.mod h1:2rPMZlcgz83WovcZ+UhuJBcrVeYqK6QowE+dio9EjF4= --github.com/aws/aws-sdk-go-v2/service/codepipeline v1.31.4 h1:VivhN5GEvu/uR9nlFYF1I4B7XlpTny7mKHl2lljXiq4= --github.com/aws/aws-sdk-go-v2/service/codepipeline v1.31.4/go.mod h1:DZH9UNjLXRPicX0YkMQYEOB08ZcepqQniJeU5vdbFE8= --github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.27.6 h1:/YY3C00+C8wcLr1ZbKgy6hPN8kaMkEheJ5IQRu4Z3iI= --github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.27.6/go.mod h1:NJjgmdDBrJnrhI5eUtyq+PH9ccIS3cn4Zc5vg1oscys= --github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.24.6 h1:R4qs0tGGAnJLE1jVE1KelInhWzYzPcLZjdqojpJzIsE= --github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.24.6/go.mod h1:OXwESSfg+T1o/fVT16Jx4seP9Wd9AMPlXT05NxwdJCI= --github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.25.8 h1:d2DO2X3fqSwewLBANRrSYSpVXFHTkSH2gBo02sXUHCo= --github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.25.8/go.mod h1:qBI14uSJrQOnsQUIU4/7pDlFluu788Q1Uep7lR0ISY4= --github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.43.4 h1:C8uf+nwieFWZtdPTCYOM8u/UyaIsDPfr95TJrfYekwQ= --github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.43.4/go.mod h1:hsciKQ2xFfOPEuebyKmFo7wOSVNoLuzmCi6Qtol4UDc= --github.com/aws/aws-sdk-go-v2/service/comprehend v1.33.6 h1:2ijlFnEdpEA8wkDVzLxcCeaPNgcB1+Rzj80gluRjcqc= --github.com/aws/aws-sdk-go-v2/service/comprehend v1.33.6/go.mod h1:bdPZgvsZ7vZoQcVAkdvu4qRozXLno+2GmH6Z8XcGuuA= --github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.37.7 h1:RgLcpZIEmzP+qhiIANUA3Ek3sGdEl8n1wZtwZKhaiSQ= --github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.37.7/go.mod h1:lwMedQ/Cpq5Joyzdairh2NYXImA3mQrQsLLx85CnHVY= --github.com/aws/aws-sdk-go-v2/service/configservice v1.48.7 h1:oW8nuPClzVAbtR6epLv7AEJ19Dylx3nPCJ5jva850Xk= --github.com/aws/aws-sdk-go-v2/service/configservice v1.48.7/go.mod h1:6E4R5sSS371Datvjx0G3dJYlHPv1n4M3fnB1NmOfHqo= --github.com/aws/aws-sdk-go-v2/service/connect v1.109.0 h1:iuCKsKgrvo8kwS/N48TcVtdY7YTh7r7J8nJL5bOpduE= --github.com/aws/aws-sdk-go-v2/service/connect v1.109.0/go.mod h1:yeG18cCkNgajStq+4tvtqfxn+JYIexdyzLySPwEj3e4= --github.com/aws/aws-sdk-go-v2/service/connectcases v1.19.6 h1:4FZdqxY8fjGVVQoEsGZn/XZnud741mre1s+/l6/dVfM= --github.com/aws/aws-sdk-go-v2/service/connectcases v1.19.6/go.mod h1:Nzt8+BlKC3Gaq8diRazTgpFX8Hxib8uEmpE4I5MnQGI= --github.com/aws/aws-sdk-go-v2/service/controltower v1.16.7 h1:58mBJhLlcKBoB7y2a6I8FtfVZMS8CMHoffqPtA7MIdo= --github.com/aws/aws-sdk-go-v2/service/controltower v1.16.7/go.mod h1:z3V2Giio3W2OiVaWgb0C74T6rwjK6K1g5nL6Yl7f9xc= --github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.26.6 h1:PnfHWMCQP4M2EhXmqaRqHJLl4FXDCFxHKmMtOGPOY4c= --github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.26.6/go.mod h1:kZbM+hR3qt6a09bbVzYfPBFejcJ4FU5hAjplWyA2AMg= --github.com/aws/aws-sdk-go-v2/service/costexplorer v1.40.6 h1:/CdTDwR9NrrQDmKfjs+h4ilRv3TGVbh6IsbeTyTVLlQ= --github.com/aws/aws-sdk-go-v2/service/costexplorer v1.40.6/go.mod h1:akQZlT9zDoPSlpRSiKb8UxaM2PpcjSFWVK++Suw4seI= --github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.8.3 h1:OV6tgOtuxThmJf3dlAOsabpaq+kShOndxrFyhz8Lq18= --github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.8.3/go.mod h1:0gNr6B2d/6rwUKHxxmTy8hkX2p9ejYmXSgpE4hCm65U= --github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.39.6 h1:xQvcuaHaAFQ2IFypb7BUiBSjng+G/ax8yKoBO4IC0+M= --github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.39.6/go.mod h1:t1rmiblqqUHbR/kpM7EFqEiNuvdLjsQ6hmNt2zdppgw= --github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.40.7 h1:ZwMn5sKSUCT7p7+uin9k+gn7IIIB+sSWhc6LcPTlnFE= --github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.40.7/go.mod h1:fzszPZHVqQrn/SByw/g14QCz0DHyRiDaO4rkCVgd9tQ= --github.com/aws/aws-sdk-go-v2/service/databrew v1.31.6 h1:9RZ018yrLjoy205RQ9kYSkT4r16HCQDoKC4es27tHMg= --github.com/aws/aws-sdk-go-v2/service/databrew v1.31.6/go.mod h1:LDFo1Ooir2xf/17j2DVr/IGK/WqnvtgIDuTbtcSPs9Q= --github.com/aws/aws-sdk-go-v2/service/dataexchange v1.30.6 h1:JKv/JqDFo5WIEcnr5PgsV4V3FW9q91uktbwydJT51IA= --github.com/aws/aws-sdk-go-v2/service/dataexchange v1.30.6/go.mod h1:Iy8tBqEq45JY9j9hRO6/RJFvC94dCAWJR/qdcMzWhGs= --github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.6 h1:TBQ0H1+M89GEEV1CyYcisPyliXX8VPXKiU2tIa7DTpk= --github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.6/go.mod h1:o5QrEscMR8hoOhVi9b4oOQsdNvP3zM1GeTi681Mzm7M= --github.com/aws/aws-sdk-go-v2/service/datasync v1.40.7 h1:FoU+id5t0c+g2nUxJH4YbbmJbIAOzDpYGOWncl5+NUw= --github.com/aws/aws-sdk-go-v2/service/datasync v1.40.7/go.mod h1:gbLN7Yh73nS30MZCiZX+JPoTUbUj2DMuvg2t8CGtXVc= --github.com/aws/aws-sdk-go-v2/service/datazone v1.20.1 h1:dMqUYmVz0BwjMZzGSkqHT/uyENHFaGy20Hh6YU9Qj1g= --github.com/aws/aws-sdk-go-v2/service/datazone v1.20.1/go.mod h1:Y+hG5ws9mJakkBC9YhkE7tpGme1MNTmSZQOCaNJ9SBY= --github.com/aws/aws-sdk-go-v2/service/dax v1.21.7 h1:eIQf6Ym5a9plwTEvUcOzeNIbnEp/AFNxL8nF8IvQLCg= --github.com/aws/aws-sdk-go-v2/service/dax v1.21.7/go.mod h1:GyuHJOLjGqUU3B7qihnS4pby/N+QfExMNty/liZCjxY= --github.com/aws/aws-sdk-go-v2/service/detective v1.29.6 h1:pnw0VqX5dY3LE2OdIQsYCySod/lzxv0tAI8qgRM2riA= --github.com/aws/aws-sdk-go-v2/service/detective v1.29.6/go.mod h1:i2I6RuLyaEi2JlsNH0B+Rb3Azvo3nP97B8OtnUMPBgg= --github.com/aws/aws-sdk-go-v2/service/devicefarm v1.26.2 h1:0PgiUEFwbSJNnQQcVRwbxX7Z0ltnh2yTIxUEqWKw3VU= --github.com/aws/aws-sdk-go-v2/service/devicefarm v1.26.2/go.mod h1:vLqiiwGVeb1+H8+XCw59/8QijK1Us941egdxG1S0Fu8= --github.com/aws/aws-sdk-go-v2/service/devopsguru v1.32.6 h1:irn1E1CLgpVl5sTEAfkVUmBUbdVq2Sks7YOrmdYVju4= --github.com/aws/aws-sdk-go-v2/service/devopsguru v1.32.6/go.mod h1:MiYxf/sR/XTNKfOPOSeBOxr2znK1r6Mk3ZNsoxOYVjg= --github.com/aws/aws-sdk-go-v2/service/directconnect v1.27.9 h1:orJr+QTCZ0lW08DyjsPfElRu8u2zeSohG133BLz+YJI= --github.com/aws/aws-sdk-go-v2/service/directconnect v1.27.9/go.mod h1:fCz4GqdJcE/zPbT2CuE3kIk/nZcNEJ5L3gEN0eazWE0= --github.com/aws/aws-sdk-go-v2/service/directoryservice v1.27.6 h1:nQV88/jreS1or9DvpCFVTs5PIBLAKxlq77d4kCBY17E= --github.com/aws/aws-sdk-go-v2/service/directoryservice v1.27.6/go.mod h1:+/2vLT6+9X2PNK2BqT+LPuLNvg7j5Wu1N5aaelvFTFQ= --github.com/aws/aws-sdk-go-v2/service/dlm v1.26.7 h1:fELYOuAm+hS5jmNfZMgDO9C0VtwYQmxINPBizTiL79M= --github.com/aws/aws-sdk-go-v2/service/dlm v1.26.7/go.mod h1:JTA7DoC9zlMfODYSBS3Zc8eU62F7TYZ38noumRHZ6so= --github.com/aws/aws-sdk-go-v2/service/docdb v1.37.3 h1:+mlXbc9L8KtZlCn9fKy4LYNlDkbaK6kdQmCdLTg6dgU= --github.com/aws/aws-sdk-go-v2/service/docdb v1.37.3/go.mod h1:vK7CvmoPMCmY1WtY1rH+28fuV/LVu3IkgsG/GrLbjkU= --github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.6 h1:XXlZR/RX0MyKamzlkAuoMnaNMoYdCg9exR4GKAkkjXU= --github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.6/go.mod h1:YOiVMK7MdBmgr+AloOz7ODxRi7g1aTU79TqKyShjtjA= --github.com/aws/aws-sdk-go-v2/service/drs v1.28.6 h1:C+d/Zj1xqhf/J6YXpZFdHJ9NDcB3gdWgD9GHpD0VMoc= --github.com/aws/aws-sdk-go-v2/service/drs v1.28.6/go.mod h1:reZp7PI5GHAIOxbOyg0Ksdy1QzgyAkbaQz9pKE5tnWI= +-github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.8 h1:HqAG0lcbM780mkxRvRDNeUe5+KtGuRG8QV7NITNw2yY= +-github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.8/go.mod h1:GKj0oiKdzsHxynFVgI7CqGU61ZkdtwVf0qzDlz/9bS8= +-github.com/aws/aws-sdk-go-v2/service/account v1.19.7 h1:k1LU3Cfp2FToUHpdAI7eQ/aTa3IXYzHiZN+CihWHnLo= +-github.com/aws/aws-sdk-go-v2/service/account v1.19.7/go.mod h1:mrppE/AdKXh/4QOWhpLGdgX7bsf1PEGjq7yZFM+Vzc0= +-github.com/aws/aws-sdk-go-v2/service/acm v1.28.9 h1:biKsAlIognjdEJ4RjmcmyApbwGDS3Nt788cJPp+xqBw= +-github.com/aws/aws-sdk-go-v2/service/acm v1.28.9/go.mod h1:EXQpa2D/M+7s40fTH326dmErpfW+UqJnKcfhpG3wN+M= +-github.com/aws/aws-sdk-go-v2/service/acmpca v1.35.5 h1:woq2X8jSTmXR0NBC0Hx+1vfYDlts1vMIQeanpYzQIjs= +-github.com/aws/aws-sdk-go-v2/service/acmpca v1.35.5/go.mod h1:1gyhCVvhECL8PQQGA8CFuQmTw6pC83iJPURZ/6ESlt8= +-github.com/aws/aws-sdk-go-v2/service/amp v1.27.7 h1:y8mW/fXjJ6Ho7kL8PUv8bnJCejkkRnTdZCbIrq5/voc= +-github.com/aws/aws-sdk-go-v2/service/amp v1.27.7/go.mod h1:9om9+RWkFPh5o/kxJf3oPJGdlExpIFzRh3WeHZR8kZw= +-github.com/aws/aws-sdk-go-v2/service/amplify v1.24.5 h1:+wB8ci/xEJXzasg+E1nCtwpeGQRrdwkagltroaNTgLk= +-github.com/aws/aws-sdk-go-v2/service/amplify v1.24.5/go.mod h1:AEJHCkEbyY4f8Fh5iLRz9I9FkQzVDIUsc6SWcp3AGzU= +-github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.9 h1:oSiLogmzjAMnHrcSIl/CAfP3ywFD8R2KQVDad6Evjzc= +-github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.9/go.mod h1:z99ur4Ha5540t8hb5XtqV/UMOnEoEZK22lhr5ZBS0zw= +-github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.9 h1:XgVoJoG2nYgWKg2qlMFFknt68Z83B5Ld0ZrWp/7xUYQ= +-github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.9/go.mod h1:lz2IT8gzzSwao0Pa6uMSdCIPsprmgCkW83q6sHGZFDw= +-github.com/aws/aws-sdk-go-v2/service/appconfig v1.32.3 h1:/RlbKIAT+aS3twzexd/S6mzskuLWysbdY+N7ibtvpZk= +-github.com/aws/aws-sdk-go-v2/service/appconfig v1.32.3/go.mod h1:UW+iM6Meg+4MDb21vivnP0VrIWtJLHd+kYsl/tDs3Ww= +-github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.7 h1:5c7BwEs77l72AxcaZZe9pACFuXuhIQWnkb9HD/P0hLA= +-github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.7/go.mod h1:qVCMTfRC5iWwGTl6nGvhr859jaP26fY3BpYnVVLv03A= +-github.com/aws/aws-sdk-go-v2/service/appflow v1.43.7 h1:7zhOkbBP4A0hbJKwvd6zbTDigEdzV66ojCzL/U/vmPE= +-github.com/aws/aws-sdk-go-v2/service/appflow v1.43.7/go.mod h1:AiMwrZdtLmnoNd8FaCUN+umNB75RmA0JYV9wU46Ze7s= +-github.com/aws/aws-sdk-go-v2/service/appintegrations v1.28.4 h1:7KWcQKH/DyYYvHoPDaLe7GM5Ul5InpaWexbzDK3JnUo= +-github.com/aws/aws-sdk-go-v2/service/appintegrations v1.28.4/go.mod h1:OL31C0vQpC6JnJ1DwDN26JDie1ASL5ioH8xwGXRd96s= +-github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.31.5 h1:FfkEpbkkn7+w9srIYcv5EVll3JUjSmxCzDV45vg2DUg= +-github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.31.5/go.mod h1:ErwldjHfakUkiCI/79rr4dMe09Ip8H+yYNl9Dfl0s5Q= +-github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.26.7 h1:S9E1bKCL/3Tre7wmALHPWaDBP132h6YGVKxrzkZa570= +-github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.26.7/go.mod h1:e7C1DdWfAgI5Q+5G5w6gqleqQw9IivaRZzc0gCJNzOk= +-github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.4.1 h1:SWvjOiGeGPy+R3d4TFL6cb/X/Ouulbxtr1VKqoa/UV8= +-github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.4.1/go.mod h1:oLl30psMIxqSF8EIbJBajb2VoLKcC97OVBUxaoBmsBU= +-github.com/aws/aws-sdk-go-v2/service/appmesh v1.27.8 h1:Yk/TXuxzm1qjt7B+NAcQs3HMBdTdWxWhl1eObx4tAMI= +-github.com/aws/aws-sdk-go-v2/service/appmesh v1.27.8/go.mod h1:ZYSmrgAMp0rTCHH+SGsoxZo+PPbgsDqBzewTp3tSJ60= +-github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.7 h1:DAlkFlzPjr80tNXT3zXukVKghYxP3dh+Ir3q82WZvuc= +-github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.7/go.mod h1:d7zoUA4UluxSKaj6kfOy/VL0oaUJzw+QVGmErLaM0JE= +-github.com/aws/aws-sdk-go-v2/service/appstream v1.38.4 h1:6rvZidBEKGRR7hEFPoUeeiAvPobVpikIXfVd7NuUFlg= +-github.com/aws/aws-sdk-go-v2/service/appstream v1.38.4/go.mod h1:qukWMKRrFUNI66U/PKPz4FzRjPeLqn7kxNQD7NUL320= +-github.com/aws/aws-sdk-go-v2/service/appsync v1.36.1 h1:qe33iQ0KEUS8hMV26TS33DZhbR5qpAtbsyBfOpTX3Cw= +-github.com/aws/aws-sdk-go-v2/service/appsync v1.36.1/go.mod h1:8MjMPuuDBZDYkOJ2LbdWX9oqeSd+OW0HkVEpFAFkI9o= +-github.com/aws/aws-sdk-go-v2/service/athena v1.44.8 h1:eD5mqOpn5tFxh7xHPfaCVA3xTumXCKFxV1ORjY3NdNM= +-github.com/aws/aws-sdk-go-v2/service/athena v1.44.8/go.mod h1:gKQRkbgmZ4fE9gU1S43NoxcKyctSbrvMMeg0ImWXb+Y= +-github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.7 h1:Y+9BgK7ZTOzdwzQJ8AqiLh+SrE4+B9Thj9NLcuUqNdY= +-github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.7/go.mod h1:lNEwOsVNqHmzDtcvvo/EnMJc8sOGNKwyT5RPew/b++s= +-github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.8 h1:shE+vQu67H71UdCiCmVN3WNxSC1odR0Q5fVrdlbUD9k= +-github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.8/go.mod h1:bfjSD4lHRjHgXmqdwOIZ2EW5AisvpOuLhP/ADKIVUP8= +-github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.8 h1:CjG6zY51ChHKGmbHDJx4uLDCMZdkPH8unhKyqZspC4w= +-github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.8/go.mod h1:u5zgiwlr6yQh9bKAcoeCy/h5vLC9HqzwxV0YkUesayQ= +-github.com/aws/aws-sdk-go-v2/service/backup v1.37.3 h1:1moVmJmsgWcMNzeQtv1WxPgj+z9sroEHQK8X1PHDr1o= +-github.com/aws/aws-sdk-go-v2/service/backup v1.37.3/go.mod h1:8Gg8n/Hq4/EegF64SJfJtAZtoFhsZrv1T1uz/rqw8ow= +-github.com/aws/aws-sdk-go-v2/service/batch v1.44.4 h1:qTH4dr1XXWq7Pa+LpUh7AmyPEIR7OCLEz67hWo1oyJ0= +-github.com/aws/aws-sdk-go-v2/service/batch v1.44.4/go.mod h1:m4EOt3yb2HPqXyQnww7wOPUNbS2cvdwjyGhDlrwMA1o= +-github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.5.7 h1:oKm/9OT8f9u2HH1WhJ5nU/sHfKYL8UgYmn3sn9Ne8NM= +-github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.5.7/go.mod h1:8Batdc1SWCkzR7QB5Jys5ioBS19u1Hfh+d00ebvYJwU= +-github.com/aws/aws-sdk-go-v2/service/bedrock v1.17.1 h1:dNqMVodFzLbDZ3xh0qoznI75WvR0NXzigAFGAVH+CI4= +-github.com/aws/aws-sdk-go-v2/service/bedrock v1.17.1/go.mod h1:7CCNXL2qhI91wcy+GCt+rg9fzwwET0XlavHQiPSimyA= +-github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.19.1 h1:ZX5fSmRchoKp1S5VZ/zeYU4mAO7diSwtBanJD/PlBVE= +-github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.19.1/go.mod h1:d+N4lx2jC4eBcGjAfV4qufcdI9T0YqiE+tbNKz3r1a0= +-github.com/aws/aws-sdk-go-v2/service/budgets v1.25.8 h1:krWSQ9UtO4KWspZHm97eVJNjg5NEWeKictLy4H2zO7M= +-github.com/aws/aws-sdk-go-v2/service/budgets v1.25.8/go.mod h1:deOaC3EOD0iA7qtte6SOaMGYMpM8vNPtjgVMqP6/GpQ= +-github.com/aws/aws-sdk-go-v2/service/chatbot v1.5.3 h1:i38JNUo2uoJNaA1GTXKtPu9l3zkiVJEJKKjOkAfdFfQ= +-github.com/aws/aws-sdk-go-v2/service/chatbot v1.5.3/go.mod h1:3FbQI53yRYyty4ERw3bGoMMEJgV72JR9HbsJW1YZaQs= +-github.com/aws/aws-sdk-go-v2/service/chime v1.32.7 h1:Fw6jb3EDz0uhnrjGOwruTTZKyvFn1O1hD7nRCtEbbCM= +-github.com/aws/aws-sdk-go-v2/service/chime v1.32.7/go.mod h1:ScfDPCk4PB1CI2FVGseVD0f4HlPQcOuhhMshDJF9OY8= +-github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.7 h1:v2lfZUj6WPU9WX+EpHPWnUiKLcCGJRWvSOvMYMpXofA= +-github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.7/go.mod h1:piUYRN/bkSojQEQ42+BQzlVuU3VGivrRXovpBxcLlvk= +-github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.8 h1:Is/JmfUGXzE0jsPrV0zpMvqINbTMbFgF/yb/bKjwBkI= +-github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.8/go.mod h1:wmxh9CSS48Rrp+HDYv0R0aExFHQkneNPJkcJ7eux2NA= +-github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.5 h1:cGgxVtgm1fVa0AIZaIfOx9QUZ3Ya8wtPQGe2SPz3FvU= +-github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.5/go.mod h1:ohkkMq2Br5djAnAOzzqs45tAGD1eu/EOJbhcwn+oJRw= +-github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.7 h1:93nQxaTOHWWpy/fRY4F+00vkpwR/EHouw5QUn7R2HYU= +-github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.7/go.mod h1:GZuSYq2+DIyyXZQl8CtJr/70zCxO5MyfgGM44eluZs8= +-github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.8 h1:QLKIR/M7rtqGgPkhvZYVeahpJM2kHAKGKSxqAdm4FGA= +-github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.8/go.mod h1:aiOymhljgGMZYl4V8sSGPbOT7fnWruJEe+HjyJaxHXU= +-github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.8 h1:zhDl3UrTl2IO+C4Ub7TmNNXfxmDOZ7VKIpV+Ayf7f9M= +-github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.8/go.mod h1:TXiuXcbBl1rEAy9xhZi2TBZeWfoRhJ6ymMfepMxJnZk= +-github.com/aws/aws-sdk-go-v2/service/cloudfront v1.38.8 h1:4O76oA4I+juxEKtuUsfmQq7mZj8PkGYVBivLgr69lrg= +-github.com/aws/aws-sdk-go-v2/service/cloudfront v1.38.8/go.mod h1:R7mWBZ2a/EnExUNP+vkBBQGTz7+ZCcT16Mm6a9XZ/0A= +-github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.6.7 h1:tgne/8APnj8t0OtemlMZUhMe/m03c4bAal7ZniH8EVI= +-github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.6.7/go.mod h1:B6djS2mK38QoSzZ5SiAKA0VwS5jxGrhWIMRdNt/O19M= +-github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.25.6 h1:Dkh+yFfuJp1BQJRDEeSPOrlm1Ca87Ifae8tuaMF2wKc= +-github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.25.6/go.mod h1:TNPxioDBxuavXAl0/n4vZleItLBRGuYmi4pr1Pex6UY= +-github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.24.7 h1:AS6r3KcPSGW84w8QjBY9kQN5pToY6Gdjb/nEOZjoLdU= +-github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.24.7/go.mod h1:ItOmWyypVkD+AjYE5Id/3ZqBRvycGQjIipFjkYOErtI= +-github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.42.8 h1:Lo4azJshfkB3cBoBK3arOyQUi0wxa9ju4f7s6RDEdE8= +-github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.42.8/go.mod h1:4PmgiDQI9Q/CyWAIj/RFZXapY1URHE181UDKEk+NOeg= +-github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.40.8 h1:+TC6bH5yzGSJPDQ+NKmbXpy2r346JGJb5QT0Mpe4xLE= +-github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.40.8/go.mod h1:HeDvLYJALo05N6wCx3Ufa1rHGL1mz9ON312O2yVclIs= +-github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.39.1 h1:Dq5eJF3+dVXM2gArgW8x3lu7WyEz7q/RrRdLuyWb19E= +-github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.39.1/go.mod h1:bDqBjrjbgWKyis9R6mf3NcjoIrgnrBA9L4W724mg7pA= +-github.com/aws/aws-sdk-go-v2/service/codeartifact v1.30.7 h1:dSgOkWv1taKJI8RsBc0D/0HXIsZIe2UFladjTnNfRuE= +-github.com/aws/aws-sdk-go-v2/service/codeartifact v1.30.7/go.mod h1:gwMTciwKCosuVemRGAM0oVqynyni1YeMbCMfgLEKKIo= +-github.com/aws/aws-sdk-go-v2/service/codebuild v1.43.0 h1:k+WvJPQNtuTyBiIIhEj9yomuIn5D8y5MP5tUmJBstEQ= +-github.com/aws/aws-sdk-go-v2/service/codebuild v1.43.0/go.mod h1:oYJd2vaRXsIzY78pjT5xtjH5aFOy/5F3Vue1j5tzIwU= +-github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.15.7 h1:6tPo56CzeCD1osM1eAJS7DuZPHBXJfIK4pttxzki45k= +-github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.15.7/go.mod h1:78fuDwyIegLi8uCoBRFTEzph4A7pm4keD7Y/YHAOMYY= +-github.com/aws/aws-sdk-go-v2/service/codecommit v1.25.4 h1:sJDQxd9ccSyquSH/FT4L13F9gzXtk9ANgdH5sv84/NM= +-github.com/aws/aws-sdk-go-v2/service/codecommit v1.25.4/go.mod h1:48i3wz1suHCRGmoD0EAhhA0DrGVJ/LG5kCMFY0YBG8c= +-github.com/aws/aws-sdk-go-v2/service/codedeploy v1.27.8 h1:dGs7994xfSgPwOaEiRjZqDtPMwKNpO3UOk3hAsC8fRM= +-github.com/aws/aws-sdk-go-v2/service/codedeploy v1.27.8/go.mod h1:ybVdl0hhR61vKUyazymzA1pwZa66WfFeAbBstFz9nws= +-github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.22.7 h1:ig14u1bw9xAS2ok5lXAm+Lg1oLPpVTzpPL8hAGPBwjk= +-github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.22.7/go.mod h1:IllGluwCAVtiFVwlFd/mrYVT4y+Hnsk7WAdsYsfzufg= +-github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.27.7 h1:VDylVoQesB7vQ9SOD20e4mS50YwDk0c+WjVEMRrqVVs= +-github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.27.7/go.mod h1:2rPMZlcgz83WovcZ+UhuJBcrVeYqK6QowE+dio9EjF4= +-github.com/aws/aws-sdk-go-v2/service/codepipeline v1.31.5 h1:uzKg+5kz/KAjQNVrCytWMXstGicOXBaoiuViY8L3R6c= +-github.com/aws/aws-sdk-go-v2/service/codepipeline v1.31.5/go.mod h1:DZH9UNjLXRPicX0YkMQYEOB08ZcepqQniJeU5vdbFE8= +-github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.27.7 h1:fqXfKcrw2gYUdkBlsYfHeaam65LB4wbZfY2HQ5NjKeM= +-github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.27.7/go.mod h1:NJjgmdDBrJnrhI5eUtyq+PH9ccIS3cn4Zc5vg1oscys= +-github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.24.7 h1:9oSOGQEA2UZvrFXtPGITnH1pXM5I0y7jV/Zlt3BXhHw= +-github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.24.7/go.mod h1:OXwESSfg+T1o/fVT16Jx4seP9Wd9AMPlXT05NxwdJCI= +-github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.25.9 h1:29yuuQA9GCLok0kNJiizvr38vO0d9mcNJXYWxX4JZL8= +-github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.25.9/go.mod h1:qBI14uSJrQOnsQUIU4/7pDlFluu788Q1Uep7lR0ISY4= +-github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.44.1 h1:Nn3bGq+1nNw+kAfcwUs6LZXi175KoejFyvtjB49WvHw= +-github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.44.1/go.mod h1:hsciKQ2xFfOPEuebyKmFo7wOSVNoLuzmCi6Qtol4UDc= +-github.com/aws/aws-sdk-go-v2/service/comprehend v1.33.7 h1:R6pZN6OrbYnWcWNPtuWGSlBHBkxAD5sppJAUa4Jk7VM= +-github.com/aws/aws-sdk-go-v2/service/comprehend v1.33.7/go.mod h1:bdPZgvsZ7vZoQcVAkdvu4qRozXLno+2GmH6Z8XcGuuA= +-github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.37.8 h1:ijpU4AByoIpOIXsE0FGdt7K8HoSruDf3Gv+k2LnIQzc= +-github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.37.8/go.mod h1:lwMedQ/Cpq5Joyzdairh2NYXImA3mQrQsLLx85CnHVY= +-github.com/aws/aws-sdk-go-v2/service/configservice v1.48.8 h1:QZGrY4iHw7fyIs/oc/BamyPHikeJyvmmPNxjInCrX4I= +-github.com/aws/aws-sdk-go-v2/service/configservice v1.48.8/go.mod h1:6E4R5sSS371Datvjx0G3dJYlHPv1n4M3fnB1NmOfHqo= +-github.com/aws/aws-sdk-go-v2/service/connect v1.109.1 h1:Alzn5h1Z7/1urZVtfCY/D8jTxI/VLx7r40MAItD4SVY= +-github.com/aws/aws-sdk-go-v2/service/connect v1.109.1/go.mod h1:yeG18cCkNgajStq+4tvtqfxn+JYIexdyzLySPwEj3e4= +-github.com/aws/aws-sdk-go-v2/service/connectcases v1.19.7 h1:AoJnLCA9kMC0RNCEAzaRxBlc/BBE65GMh85ThJt4rTk= +-github.com/aws/aws-sdk-go-v2/service/connectcases v1.19.7/go.mod h1:Nzt8+BlKC3Gaq8diRazTgpFX8Hxib8uEmpE4I5MnQGI= +-github.com/aws/aws-sdk-go-v2/service/controltower v1.16.8 h1:Ojd4lkmOrDzTMfwQg97iu6j6KV63cnxmqvvwYBP5pgY= +-github.com/aws/aws-sdk-go-v2/service/controltower v1.16.8/go.mod h1:z3V2Giio3W2OiVaWgb0C74T6rwjK6K1g5nL6Yl7f9xc= +-github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.26.7 h1:IvO3ffq4N3sLox0O4DJffzd85IrmwyeZBhXiRF8h4fM= +-github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.26.7/go.mod h1:kZbM+hR3qt6a09bbVzYfPBFejcJ4FU5hAjplWyA2AMg= +-github.com/aws/aws-sdk-go-v2/service/costexplorer v1.41.0 h1:J1QB6AvYegp0TIju8W/Prl/neFDcQRBEauEbIp4TK+E= +-github.com/aws/aws-sdk-go-v2/service/costexplorer v1.41.0/go.mod h1:akQZlT9zDoPSlpRSiKb8UxaM2PpcjSFWVK++Suw4seI= +-github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.8.4 h1:N/kdkFGz6ta8Fz4mwjjrLHCM/CET8AZ6PSlIgXZTUH0= +-github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.8.4/go.mod h1:0gNr6B2d/6rwUKHxxmTy8hkX2p9ejYmXSgpE4hCm65U= +-github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.39.7 h1:jEWQkbbU4X91twdpW4G4PAqFgia/eX/UrTDCAp+g0c8= +-github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.39.7/go.mod h1:t1rmiblqqUHbR/kpM7EFqEiNuvdLjsQ6hmNt2zdppgw= +-github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.40.8 h1:kYYPX4ZmBza6vwZwdPjQKfASPdYjBCYCS5Qq0VOSQ8Y= +-github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.40.8/go.mod h1:fzszPZHVqQrn/SByw/g14QCz0DHyRiDaO4rkCVgd9tQ= +-github.com/aws/aws-sdk-go-v2/service/databrew v1.31.7 h1:YLEmleWTtouYKxye0hmqquFAfgjicZUe6n2kSs/RsC0= +-github.com/aws/aws-sdk-go-v2/service/databrew v1.31.7/go.mod h1:LDFo1Ooir2xf/17j2DVr/IGK/WqnvtgIDuTbtcSPs9Q= +-github.com/aws/aws-sdk-go-v2/service/dataexchange v1.30.7 h1:ceVmkM3KMiD3cI2deWMvLFXwmhxCHhacUfFFGiGPy1Q= +-github.com/aws/aws-sdk-go-v2/service/dataexchange v1.30.7/go.mod h1:Iy8tBqEq45JY9j9hRO6/RJFvC94dCAWJR/qdcMzWhGs= +-github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.7 h1:BcSeaV5H6yShI4cvma+8Ni/PWfp7gjI2Ng/U5x702RM= +-github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.7/go.mod h1:o5QrEscMR8hoOhVi9b4oOQsdNvP3zM1GeTi681Mzm7M= +-github.com/aws/aws-sdk-go-v2/service/datasync v1.40.8 h1:WW61+K6b4wG+I1Ofkb7N9qY4NMUnIC/ZBEKzl8vvMjA= +-github.com/aws/aws-sdk-go-v2/service/datasync v1.40.8/go.mod h1:gbLN7Yh73nS30MZCiZX+JPoTUbUj2DMuvg2t8CGtXVc= +-github.com/aws/aws-sdk-go-v2/service/datazone v1.20.2 h1:TNWuXp6ESr+VVfzvefkFWEJgthy5HMeK46jliOKNKag= +-github.com/aws/aws-sdk-go-v2/service/datazone v1.20.2/go.mod h1:Y+hG5ws9mJakkBC9YhkE7tpGme1MNTmSZQOCaNJ9SBY= +-github.com/aws/aws-sdk-go-v2/service/dax v1.21.8 h1:dLonkX49vvCzsDigRtNM6snj9tF8L80qXIr0KGSho8g= +-github.com/aws/aws-sdk-go-v2/service/dax v1.21.8/go.mod h1:GyuHJOLjGqUU3B7qihnS4pby/N+QfExMNty/liZCjxY= +-github.com/aws/aws-sdk-go-v2/service/detective v1.29.7 h1:2MlL3ThkGc+V/EgBTPO/rHg/7T6Qj7dlFt+JNGqdgIg= +-github.com/aws/aws-sdk-go-v2/service/detective v1.29.7/go.mod h1:i2I6RuLyaEi2JlsNH0B+Rb3Azvo3nP97B8OtnUMPBgg= +-github.com/aws/aws-sdk-go-v2/service/devicefarm v1.26.3 h1:P/0uku3q+mFliIq7+8fLEJJLS8qm5E67ZXgX+tRdXtA= +-github.com/aws/aws-sdk-go-v2/service/devicefarm v1.26.3/go.mod h1:vLqiiwGVeb1+H8+XCw59/8QijK1Us941egdxG1S0Fu8= +-github.com/aws/aws-sdk-go-v2/service/devopsguru v1.32.7 h1:0ewwLu+2pVkUvno4m2qkQ5kifoUYHCo/i3ydrZVwboA= +-github.com/aws/aws-sdk-go-v2/service/devopsguru v1.32.7/go.mod h1:MiYxf/sR/XTNKfOPOSeBOxr2znK1r6Mk3ZNsoxOYVjg= +-github.com/aws/aws-sdk-go-v2/service/directconnect v1.27.10 h1:c8aR/RsenrzC/ILi9VdNFDU6jQWZeRby+8WXgrY9Ltw= +-github.com/aws/aws-sdk-go-v2/service/directconnect v1.27.10/go.mod h1:fCz4GqdJcE/zPbT2CuE3kIk/nZcNEJ5L3gEN0eazWE0= +-github.com/aws/aws-sdk-go-v2/service/directoryservice v1.28.0 h1:KGJa1lGXfgO8WAF+LchWp2ffKw7TuMLQq8yOkH40b4M= +-github.com/aws/aws-sdk-go-v2/service/directoryservice v1.28.0/go.mod h1:+/2vLT6+9X2PNK2BqT+LPuLNvg7j5Wu1N5aaelvFTFQ= +-github.com/aws/aws-sdk-go-v2/service/dlm v1.26.8 h1:QiG0rp7LTu8LAYysDsjOQ18jCRqWOE+wyqyaA8kKHpM= +-github.com/aws/aws-sdk-go-v2/service/dlm v1.26.8/go.mod h1:JTA7DoC9zlMfODYSBS3Zc8eU62F7TYZ38noumRHZ6so= +-github.com/aws/aws-sdk-go-v2/service/docdb v1.37.4 h1:JbpDYyfxryXm2rLPkebVimYZ8TrVT+h4MktnuWSzXog= +-github.com/aws/aws-sdk-go-v2/service/docdb v1.37.4/go.mod h1:vK7CvmoPMCmY1WtY1rH+28fuV/LVu3IkgsG/GrLbjkU= +-github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.7 h1:itpY9Tnl44m9FjDJ6AXEKR4eVbGUWzhpH/ZxZxTmStY= +-github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.7/go.mod h1:YOiVMK7MdBmgr+AloOz7ODxRi7g1aTU79TqKyShjtjA= +-github.com/aws/aws-sdk-go-v2/service/drs v1.28.7 h1:X3NsqRDlhfBNaTaLcPu9ar2yidvBoVrnGwPOqwA3pPQ= +-github.com/aws/aws-sdk-go-v2/service/drs v1.28.7/go.mod h1:reZp7PI5GHAIOxbOyg0Ksdy1QzgyAkbaQz9pKE5tnWI= +-github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.10 h1:ozHHSE9Hflrf2DZmJEoqIO+bK6E6rAfID8PSCv2rgG8= +-github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.10/go.mod h1:N3YdUYxyxhiuAelUgCpSVBuBI1klobJxZrDtL+olu10= +-github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.4 h1:LgQ6qyFVk1fehExC4nMBuwWC38SQai1jhpS9GQPkHTo= +-github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.4/go.mod h1:TFSALWR7Xs7+KyMM87ZAYxncKFBvzEt2rpK/BJCH2ps= +-github.com/aws/aws-sdk-go-v2/service/ecr v1.34.0 h1:kDSbKHvFf4I7Aw7wJSd2vGprafZbTEMUgwAxKXcnkVQ= +-github.com/aws/aws-sdk-go-v2/service/ecr v1.34.0/go.mod h1:keOS9j4fv5ASh7dV29lIpGw2QgoJwGFAyMU0uPvfax4= +-github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.7 h1:6IuewShsZ2MLMVx39fGnsGWBDz+IPj6O/LhpQvdLjls= +-github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.7/go.mod h1:Mrlicf7xXyuelm+q8XVMblDxJq2pKpKGXiWx/3uqjqs= +-github.com/aws/aws-sdk-go-v2/service/ecs v1.45.5 h1:bsOJ/yl4QKZqyMjJPNuj3JIgsz6mML4VjcveupRaebk= +-github.com/aws/aws-sdk-go-v2/service/ecs v1.45.5/go.mod h1:YF27tGN94jGsy9s7/EvbdZcnvQZo+3pmXQ2xyT90wI0= +-github.com/aws/aws-sdk-go-v2/service/efs v1.31.8 h1:jAfe2YLd59Sr1QdHF42xHdEwaCWTrOe6EU4+BzA8xdo= +-github.com/aws/aws-sdk-go-v2/service/efs v1.31.8/go.mod h1:XGcTOlJ2nuj3KemxjGAGc/fpl2Cb8Z0DE+cTnKHmBGU= +-github.com/aws/aws-sdk-go-v2/service/eks v1.48.5 h1:vMwwdzKoUBt7vMHNkF16Hh7+8ndVGOAAEgqcrbz17M4= +-github.com/aws/aws-sdk-go-v2/service/eks v1.48.5/go.mod h1:9dn8p15siUL80NCTPVNd+YvEpVTmWO+rboGx6qOMBa0= +-github.com/aws/aws-sdk-go-v2/service/elasticache v1.40.10 h1:59kugj8qrVPhDIloWA5aAF/GZTr95puG3Z4t+GpU9DY= +-github.com/aws/aws-sdk-go-v2/service/elasticache v1.40.10/go.mod h1:9kiB0lv0Aqy4togiiSS83Ji2RWwNyriSp+7AhFM7nV0= +-github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.26.7 h1:DUdtGQGifxYLBUbgfMqPyHsZFN8V9cKrOKgBhlionK0= +-github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.26.7/go.mod h1:ta3dKDvwowInSiVHTbcPAeFpQbo7ix3nKg92rEM89v4= +-github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.26.8 h1:ZzdtO9vtppVzh2/x8JCTZOvdynBrFYP0mGo7I1X7StA= +-github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.26.8/go.mod h1:dY3XGX8oXzFkl6PYxcSccHePPb7AbxMzpbjwBvEysfQ= +-github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.37.1 h1:qQAmLVnqkL8RVhAK30GQuoLOJc+AEE4p7dzBzR/LBws= +-github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.37.1/go.mod h1:jk+iid9R4MN7UVDwSTK/ZDDO8WNhxnO2WVzfYOMLh+4= +-github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.30.8 h1:bg5m5ldB2DcbSM0TZrHhcUvICRGdfmi9Lbew9u7Bmxw= +-github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.30.8/go.mod h1:HLDGgfqy/Wi1zjCOnoWKuZth3M4uSP2a0XT+zEmTiNw= +-github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.25.7 h1:MUC9OHGR4EXdbeeCTy1QtBAMLFxvbRbqKEPNeY73r8s= +-github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.25.7/go.mod h1:z8o4DEfFOiYjkvMi8YYBlHgoUdsI/lsrtQfk8R+LOW8= +-github.com/aws/aws-sdk-go-v2/service/emr v1.43.1 h1:Ez0zR4W/tHGpi5yBddH1/GhjA77jVbPDwFxYJWjtPgM= +-github.com/aws/aws-sdk-go-v2/service/emr v1.43.1/go.mod h1:xIT9TIOC6uTM/BW0gidLi1YFZIwKTLKerkO/xFYgcRM= +-github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.31.3 h1:74sYlwTrRg2fAfESoWlAXtgOzuwGEiIRGjNw8lo9iLo= +-github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.31.3/go.mod h1:0kgGwsgKXZjk3i8qJY99bqYUkD5pN6jz1VJ9YCVlZO4= +-github.com/aws/aws-sdk-go-v2/service/emrserverless v1.23.7 h1:dzO3ZF5E5g3aaZo5+bZYTPvM3nl3mKVVcqvnjjPF4RQ= +-github.com/aws/aws-sdk-go-v2/service/emrserverless v1.23.7/go.mod h1:tNmPakl/bPt/OI0NT0JXKopJiVmBaPipaFBj8+NoSaU= +-github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.8 h1:qsJCjuhYMhVL6rheYWYBUwrZY9SGRQIG7rrTzPByef0= +-github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.8/go.mod h1:iQCsmx9LyBMyMEkLCBVqnIAz+rfo6/ss3oLcYn26+no= +-github.com/aws/aws-sdk-go-v2/service/evidently v1.21.7 h1:AnUxrHvrW+Wt9S0kXf4VMM7cAmq6mXFV60PVzIwtZoA= +-github.com/aws/aws-sdk-go-v2/service/evidently v1.21.7/go.mod h1:ShWsOKkdTc1e2TP/u+/mxWq4YOzSayLiFZZo2LLLXRg= +-github.com/aws/aws-sdk-go-v2/service/finspace v1.26.7 h1:nLsbGjhVdTXpmbw5yEo8+z6M5KbYkwNjaDKXJozYRCo= +-github.com/aws/aws-sdk-go-v2/service/finspace v1.26.7/go.mod h1:cVWKWY+vSgHCfpkC3tawraWYjNNfxxpX3e523aDp+OE= +-github.com/aws/aws-sdk-go-v2/service/firehose v1.32.5 h1:yUznLtavFnbvT/ZWAla0DypjwkcQQXgk6PINvrdZc4U= +-github.com/aws/aws-sdk-go-v2/service/firehose v1.32.5/go.mod h1:+uFa7Ht2YowkYUVV3t8DxTZkpW+93VEb3I4WyXWXKw4= +-github.com/aws/aws-sdk-go-v2/service/fis v1.28.1 h1:zmplX0rxoyxcvRzcKYqSBN633D5IvnFaSfv/g8exVwQ= +-github.com/aws/aws-sdk-go-v2/service/fis v1.28.1/go.mod h1:gU/GYwS3OGQe7D1K2EjMPSFKkCvbfEY+26t/dPZm1U8= +-github.com/aws/aws-sdk-go-v2/service/fms v1.35.7 h1:kieV9M2MrhXLO5sv4OSq/cDGKyHGBM5OimckupEQHrE= +-github.com/aws/aws-sdk-go-v2/service/fms v1.35.7/go.mod h1:o+jBDvvGgz3Bx0Y6D/1kRo5sJ0UzGQ7fRvgc+CKHx4U= +-github.com/aws/aws-sdk-go-v2/service/fsx v1.47.6 h1:0MmTUzjasyX14KpZHy6pGnlR8sjBtR7L1Huhqj2U0ow= +-github.com/aws/aws-sdk-go-v2/service/fsx v1.47.6/go.mod h1:TErpcr0lieYwELLAtYx8QpPYwCvzjhB8Gr2JteL5jaM= +-github.com/aws/aws-sdk-go-v2/service/gamelift v1.34.1 h1:InD2oPg+u7caeOUZWJ8FdzLuUXUReZhNaZPJkx/8Law= +-github.com/aws/aws-sdk-go-v2/service/gamelift v1.34.1/go.mod h1:+DKpDDM9g4dsMsSnydPPpBWGH76/ianVaZnBh7NGjRg= +-github.com/aws/aws-sdk-go-v2/service/glacier v1.24.7 h1:BXIZhVrM/oInzJrxhFYJV58nsXgcNL8nR/WUVsfhs8g= +-github.com/aws/aws-sdk-go-v2/service/glacier v1.24.7/go.mod h1:GXu+dcd4HBHm7b454M0drWn9QddmF212fitCOk3gejQ= +-github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.4 h1:iX38bXf8On0FYs1a1pGOVZDfcGBWllCwmSZllIqiQK8= +-github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.4/go.mod h1:Mq6txyFrglBWifzrJ2ncK+5QYtsRQxOM7myTIPCgnO4= +-github.com/aws/aws-sdk-go-v2/service/glue v1.96.1 h1:jjGT277wMML/NxuAU/clCabe4TOLtmmmRJgThOjK1pE= +-github.com/aws/aws-sdk-go-v2/service/glue v1.96.1/go.mod h1:SvyxwlMgjRoWPUsmLpKA/FTu1c/AKwDySchuYkKSO4E= +-github.com/aws/aws-sdk-go-v2/service/grafana v1.24.7 h1:y2Vnr8SlK/XvVkfSuIXFCFMLO/hcwWZAkipUqmMoSZ4= +-github.com/aws/aws-sdk-go-v2/service/grafana v1.24.7/go.mod h1:boScWixSJS51cQ+fuiwVZiNRkzLDotc+G3dP4fos1i4= +-github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.7 h1:8evnX/Ac5bBk5aV5B1ybjxN+lyPerhQ1GDJRV5y4G2M= +-github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.7/go.mod h1:ypoxzPLdr3d2hSne8j7IK6iq2OD312j+ayHSMnwG/YY= +-github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.8 h1:zfw6gHsENmbvBiddGUSvskEZyRfdFCiJYPCYtl8qafM= +-github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.8/go.mod h1:jwLyvMMyc6aX72hKxmIeTmgSpEq7BlCpcVHl82Nsk0I= +-github.com/aws/aws-sdk-go-v2/service/guardduty v1.47.0 h1:IprnMi03zUZFvvRwkIKXqsSkTqmnJr/k+Mq44mnAHig= +-github.com/aws/aws-sdk-go-v2/service/guardduty v1.47.0/go.mod h1:JbyF12s4+70H3K8aIRMBYBuxjoMHgILTSx2OI569ltE= +-github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.7 h1:+Wt2oixwgkWTsZ0wg1ysrgUjNqHUgDzQuQVmcb3HECs= +-github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.7/go.mod h1:Q1aRlKiQqksFAWnROIg5z8Nk3XH5THj3LoJ6h5pMet0= +-github.com/aws/aws-sdk-go-v2/service/iam v1.35.3 h1:bWFkGGea2UoD/m229uuRfT0mu+6pKNB0Kq4U6j/Qz3U= +-github.com/aws/aws-sdk-go-v2/service/iam v1.35.3/go.mod h1:PpmEOH3ZTQlDAezieBVdFMjPO1jovUMNPA4OpCtnwbY= +-github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.7 h1:JqvfG/gZrNDFB/iWVUAJn/hsTrwE1CjF1pRi/cA/Sb8= +-github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.7/go.mod h1:fq+cNWiXgowe+m4sb480ujFAIweiADATBq+ElZ9NsUg= +-github.com/aws/aws-sdk-go-v2/service/inspector v1.23.7 h1:EitiLyRaNN+NtZ4+YpoihzgNRbv4I3/sCA8asnckriU= +-github.com/aws/aws-sdk-go-v2/service/inspector v1.23.7/go.mod h1:7orD2T4sgGuQUssxL7cjoMqHyQvnplA4bUYyPCBPZO4= +-github.com/aws/aws-sdk-go-v2/service/inspector2 v1.30.3 h1:j8QZbTQUPDypIMQA5xEVT0miknK9KkvVX4v8H0FC4Xk= +-github.com/aws/aws-sdk-go-v2/service/inspector2 v1.30.3/go.mod h1:Fen4s2OfwgDSc94t6xLTV7s0EJdVbIeHfhNNzjQSa7I= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.4 h1:8hsGX13lDLAOuW0RCz1vf5Ke6SoGmo8cRIuLxGqE6rs= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.32.4/go.mod h1:j7QmbsuRrU17hdKR7UoiSXjKbzx65NGApP2/AKSIZws= +github.com/aws/aws-sdk-go-v2/service/account v1.19.4 h1:v/rx7sJ6N9y3XObIyfJOLQnu0G6V/eBVkC5X79N/32Y= @@ -955,70 +1074,8 @@ index 966c7df257..cfa521aa50 100644 +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.4/go.mod h1:f4jPGrPClbLTF4rwjGZ2Lfx+ETG6gU2j8m4zGNRGArA= +github.com/aws/aws-sdk-go-v2/service/drs v1.28.4 h1:81aZMHBglrjRRcXiF/PNa5zQrHwAQXNU2qDaKDsPexA= +github.com/aws/aws-sdk-go-v2/service/drs v1.28.4/go.mod h1:0jA7cK0TQBureDXRvNrNYHOImf+WOK9X1rBtDK5znxQ= - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.9 h1:jbqgtdKfAXebx2/l2UhDEe/jmmCIhaCO3HFK71M7VzM= - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.9/go.mod h1:N3YdUYxyxhiuAelUgCpSVBuBI1klobJxZrDtL+olu10= --github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.3 h1:dqdCh1M8h+j8OGNUpxTs7eBPFr6lOdLpdlE6IPLLSq4= --github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.3/go.mod h1:TFSALWR7Xs7+KyMM87ZAYxncKFBvzEt2rpK/BJCH2ps= --github.com/aws/aws-sdk-go-v2/service/ecr v1.33.0 h1:/xDTA98i4mebwufX9B39eoQmKq4ffRgCnNbsTvkwaj4= --github.com/aws/aws-sdk-go-v2/service/ecr v1.33.0/go.mod h1:keOS9j4fv5ASh7dV29lIpGw2QgoJwGFAyMU0uPvfax4= --github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.6 h1:D9C5XIIciGM6mRZTi7zDdFsBsPsgzbsPwwN0wLCymnc= --github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.6/go.mod h1:Mrlicf7xXyuelm+q8XVMblDxJq2pKpKGXiWx/3uqjqs= --github.com/aws/aws-sdk-go-v2/service/ecs v1.45.4 h1:X/PuKPsmoa1ol/ZHVnt5Saw/dFbuYD+tn9DFJraFt+A= --github.com/aws/aws-sdk-go-v2/service/ecs v1.45.4/go.mod h1:YF27tGN94jGsy9s7/EvbdZcnvQZo+3pmXQ2xyT90wI0= --github.com/aws/aws-sdk-go-v2/service/efs v1.31.6 h1:XyitYkJyUWkgZ3Ob7yI65MtCgp+TB9Em6Vdqo/TLKWY= --github.com/aws/aws-sdk-go-v2/service/efs v1.31.6/go.mod h1:XGcTOlJ2nuj3KemxjGAGc/fpl2Cb8Z0DE+cTnKHmBGU= --github.com/aws/aws-sdk-go-v2/service/eks v1.48.4 h1:rgYF107dG64XdYhQ1N0ac2G+8L3I+fD4Vsw8zz9wOKA= --github.com/aws/aws-sdk-go-v2/service/eks v1.48.4/go.mod h1:9dn8p15siUL80NCTPVNd+YvEpVTmWO+rboGx6qOMBa0= --github.com/aws/aws-sdk-go-v2/service/elasticache v1.40.9 h1:Tmq43TMTNjPS9Rl6nWCSRzauXpuwweeoT4lWgT6+nxo= --github.com/aws/aws-sdk-go-v2/service/elasticache v1.40.9/go.mod h1:9kiB0lv0Aqy4togiiSS83Ji2RWwNyriSp+7AhFM7nV0= --github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.26.6 h1:F1OC4S6KB+tNgp2G/znmg6BUqFexDDKejnjoebjBIUc= --github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.26.6/go.mod h1:ta3dKDvwowInSiVHTbcPAeFpQbo7ix3nKg92rEM89v4= --github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.26.7 h1:0tUfOZVLJmVFQiPGEUHkv9fVO4lyuuzD6nLePcyDyOY= --github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.26.7/go.mod h1:dY3XGX8oXzFkl6PYxcSccHePPb7AbxMzpbjwBvEysfQ= --github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.36.0 h1:3t8g6wmPA9hr69qzDraI1umO2An7jKNe75dBsxbI30E= --github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.36.0/go.mod h1:jk+iid9R4MN7UVDwSTK/ZDDO8WNhxnO2WVzfYOMLh+4= --github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.30.7 h1:hCBbSh3KzOK2q/rBZtoe3L0n8er5m5QgrKfVWA5hQ3g= --github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.30.7/go.mod h1:HLDGgfqy/Wi1zjCOnoWKuZth3M4uSP2a0XT+zEmTiNw= --github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.25.6 h1:uIfVUQXDVo7tTJksxYB8n6j7R61w+TPoaM6xf7XvR+4= --github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.25.6/go.mod h1:z8o4DEfFOiYjkvMi8YYBlHgoUdsI/lsrtQfk8R+LOW8= --github.com/aws/aws-sdk-go-v2/service/emr v1.42.6 h1:z5pSn9xPGxBcdaebwUN6PJw66YOpGh/ROmJZlGO6vxs= --github.com/aws/aws-sdk-go-v2/service/emr v1.42.6/go.mod h1:xIT9TIOC6uTM/BW0gidLi1YFZIwKTLKerkO/xFYgcRM= --github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.31.2 h1:OQtsRRs+fIMdE7TODSijlZ1Jlq4D7iZ6J1uOuAa87rQ= --github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.31.2/go.mod h1:0kgGwsgKXZjk3i8qJY99bqYUkD5pN6jz1VJ9YCVlZO4= --github.com/aws/aws-sdk-go-v2/service/emrserverless v1.23.6 h1:v6Ku4QVQ/mQl16UrVQruPygHxGcmmNQi2BTupoIXz7Q= --github.com/aws/aws-sdk-go-v2/service/emrserverless v1.23.6/go.mod h1:tNmPakl/bPt/OI0NT0JXKopJiVmBaPipaFBj8+NoSaU= --github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.7 h1:q+xiPu+Dk5MFC20ZjdGGhbihD39Xsih98epvVjnOjyE= --github.com/aws/aws-sdk-go-v2/service/eventbridge v1.33.7/go.mod h1:iQCsmx9LyBMyMEkLCBVqnIAz+rfo6/ss3oLcYn26+no= --github.com/aws/aws-sdk-go-v2/service/evidently v1.21.6 h1:7PxWx7VVO1KfyrJOKppLIVJeTYrS67NcasqFuVHZjLM= --github.com/aws/aws-sdk-go-v2/service/evidently v1.21.6/go.mod h1:ShWsOKkdTc1e2TP/u+/mxWq4YOzSayLiFZZo2LLLXRg= --github.com/aws/aws-sdk-go-v2/service/finspace v1.26.6 h1:2c9T3CaiQg3LzmAKgfb99GdiFSnM2nDryQfetw5sRUg= --github.com/aws/aws-sdk-go-v2/service/finspace v1.26.6/go.mod h1:cVWKWY+vSgHCfpkC3tawraWYjNNfxxpX3e523aDp+OE= --github.com/aws/aws-sdk-go-v2/service/firehose v1.32.4 h1:OLlyxsGz3TdqZZlkeFdZmWg+BW+tzuwXBVO0NZ5ExaE= --github.com/aws/aws-sdk-go-v2/service/firehose v1.32.4/go.mod h1:+uFa7Ht2YowkYUVV3t8DxTZkpW+93VEb3I4WyXWXKw4= --github.com/aws/aws-sdk-go-v2/service/fis v1.28.0 h1:RAxMLlVzZIAzG1znuLfB2s9wsqgWsUgCtmCJQpk+gsE= --github.com/aws/aws-sdk-go-v2/service/fis v1.28.0/go.mod h1:gU/GYwS3OGQe7D1K2EjMPSFKkCvbfEY+26t/dPZm1U8= --github.com/aws/aws-sdk-go-v2/service/fms v1.35.6 h1:zDTErm3sf8pQyQMftDxb9H6VreOF3HKBQW/UvCnHw+8= --github.com/aws/aws-sdk-go-v2/service/fms v1.35.6/go.mod h1:o+jBDvvGgz3Bx0Y6D/1kRo5sJ0UzGQ7fRvgc+CKHx4U= --github.com/aws/aws-sdk-go-v2/service/fsx v1.47.5 h1:SI5BSEyGlUZocfJmaEOtPUTS0P5xDIg9BexeDaA/5uw= --github.com/aws/aws-sdk-go-v2/service/fsx v1.47.5/go.mod h1:TErpcr0lieYwELLAtYx8QpPYwCvzjhB8Gr2JteL5jaM= --github.com/aws/aws-sdk-go-v2/service/gamelift v1.34.0 h1:4XuXBUvvJGIhYvgbq73dt+Ods0mNOWk2Tp+z81GZKwQ= --github.com/aws/aws-sdk-go-v2/service/gamelift v1.34.0/go.mod h1:+DKpDDM9g4dsMsSnydPPpBWGH76/ianVaZnBh7NGjRg= --github.com/aws/aws-sdk-go-v2/service/glacier v1.24.6 h1:fx0YQGnRK7RMpggC747OEyhvykd2owvFscrKZJnLhrI= --github.com/aws/aws-sdk-go-v2/service/glacier v1.24.6/go.mod h1:GXu+dcd4HBHm7b454M0drWn9QddmF212fitCOk3gejQ= --github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.3 h1:H487tKlCS/AQT6dFCLsIhSARxNAnZ957CHWvIfE9vBE= --github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.3/go.mod h1:Mq6txyFrglBWifzrJ2ncK+5QYtsRQxOM7myTIPCgnO4= --github.com/aws/aws-sdk-go-v2/service/glue v1.95.2 h1:lIHRS5g6YKQYVEIVCub0YO4HQveyo0Y9sL3CTJoDA/A= --github.com/aws/aws-sdk-go-v2/service/glue v1.95.2/go.mod h1:SvyxwlMgjRoWPUsmLpKA/FTu1c/AKwDySchuYkKSO4E= --github.com/aws/aws-sdk-go-v2/service/grafana v1.24.6 h1:X/LfZO976ZLEXWOs3j7GaxVlCfIwYjWd9CML3s9aBgk= --github.com/aws/aws-sdk-go-v2/service/grafana v1.24.6/go.mod h1:boScWixSJS51cQ+fuiwVZiNRkzLDotc+G3dP4fos1i4= --github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.6 h1:r/6ruHi8paWGwrhS7SidQs4oufkrTKjEJoc+P8DpIp8= --github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.6/go.mod h1:ypoxzPLdr3d2hSne8j7IK6iq2OD312j+ayHSMnwG/YY= --github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.7 h1:MtSJdTIV3c4p+c7h57cljhk0NSIE6Jif8h07fzQnpP4= --github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.7/go.mod h1:jwLyvMMyc6aX72hKxmIeTmgSpEq7BlCpcVHl82Nsk0I= --github.com/aws/aws-sdk-go-v2/service/guardduty v1.46.0 h1:X2CeBztw2N9Kz16E+ZovH4WenLzkohEnuJZrgaQBwL0= --github.com/aws/aws-sdk-go-v2/service/guardduty v1.46.0/go.mod h1:JbyF12s4+70H3K8aIRMBYBuxjoMHgILTSx2OI569ltE= --github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.6 h1:nWOdYuU9fn98sVYPrbA9OrPTZ2diTm+rCXtOidoDRfI= --github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.6/go.mod h1:Q1aRlKiQqksFAWnROIg5z8Nk3XH5THj3LoJ6h5pMet0= ++github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.9 h1:jbqgtdKfAXebx2/l2UhDEe/jmmCIhaCO3HFK71M7VzM= ++github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.9/go.mod h1:N3YdUYxyxhiuAelUgCpSVBuBI1klobJxZrDtL+olu10= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0 h1:fWhkSvaQqa5eWiRwBw10FUnk1YatAQ9We4GdGxKiCtg= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0/go.mod h1:ISODge3zgdwOEa4Ou6WM9PKbxJWJ15DYKnr2bfmCAIA= +github.com/aws/aws-sdk-go-v2/service/ecr v1.32.1 h1:PxM8EHsv1sd9eWGamMQCvqBEjxytK5kAwjrxlfG3tac= @@ -1081,14 +1138,8 @@ index 966c7df257..cfa521aa50 100644 +github.com/aws/aws-sdk-go-v2/service/guardduty v1.45.4/go.mod h1:eGhhoh+XTAdulvlhOIQXK9gipUQDFK9dxhcteHgAYsc= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.4 h1:4FY/41U61VR0VNqBUfwQw1ZYJAtCGRE2H2fP1Y5eWWE= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.4/go.mod h1:EZlPk44EBqBUSEztm6dGdAQcQc2pG0KSedULolUnw+Y= - github.com/aws/aws-sdk-go-v2/service/iam v1.35.2 h1:CK5cIZTxza9ki/4eghMeLk32/UeVcPgyDBNiFfbcG0U= - github.com/aws/aws-sdk-go-v2/service/iam v1.35.2/go.mod h1:PpmEOH3ZTQlDAezieBVdFMjPO1jovUMNPA4OpCtnwbY= --github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.6 h1:Xu8OUu28LD5+RzZmf3G7Kyneo5QikheYJqAmPSyS/CI= --github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.6/go.mod h1:fq+cNWiXgowe+m4sb480ujFAIweiADATBq+ElZ9NsUg= --github.com/aws/aws-sdk-go-v2/service/inspector v1.23.6 h1:schYIVsOIGs0kKlTBlKNQLuwdgovuquwghkmdoB9UCw= --github.com/aws/aws-sdk-go-v2/service/inspector v1.23.6/go.mod h1:7orD2T4sgGuQUssxL7cjoMqHyQvnplA4bUYyPCBPZO4= --github.com/aws/aws-sdk-go-v2/service/inspector2 v1.30.2 h1:Qai9+7qYH7qpYhquvLan0cSBurHYorZN0vjYXGRBDkM= --github.com/aws/aws-sdk-go-v2/service/inspector2 v1.30.2/go.mod h1:Fen4s2OfwgDSc94t6xLTV7s0EJdVbIeHfhNNzjQSa7I= ++github.com/aws/aws-sdk-go-v2/service/iam v1.35.2 h1:CK5cIZTxza9ki/4eghMeLk32/UeVcPgyDBNiFfbcG0U= ++github.com/aws/aws-sdk-go-v2/service/iam v1.35.2/go.mod h1:PpmEOH3ZTQlDAezieBVdFMjPO1jovUMNPA4OpCtnwbY= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.4 h1:icyZwij1BqzyW5yZGcfHIftrPogK9LgiWt08B1IYyWQ= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.4/go.mod h1:NPEyhoIDtRHby3oWpLFUdGrfbMwM8f/4u57VdtRdH8g= +github.com/aws/aws-sdk-go-v2/service/inspector v1.23.4 h1:LMurtFmS0KLuSDNYiWZVmyaTmkbu5HJeJvySzoJ33XA= @@ -1098,108 +1149,112 @@ index 966c7df257..cfa521aa50 100644 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.19 h1:FLMkfEiRjhgeDTCjjLoc3URo/TBkgeQbocA78lfkzSI= -@@ -290,256 +291,256 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.19 h1:rfprUlsd +@@ -290,258 +291,258 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.19 h1:rfprUlsd github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.19/go.mod h1:SCWkEdRq8/7EK60NcvvQ6NXKuTcchAD4ROAsC37VEZE= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.17 h1:u+EfGmksnJc/x5tq3A+OD7LrMbSSR/5TrKLvkdy/fhY= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.17/go.mod h1:VaMx6302JHax2vHJWgRo+5n9zvbacs3bLU/23DNQrTY= --github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.17.2 h1:oKOsZbKqmGVfbVW+kNkSfjPJo91co9XTu0TW0EhmYJ0= --github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.17.2/go.mod h1:W/zLpcGzbcUHW1Qeb/mchLVAKOG/wUNZ91/6Vqk8Mzk= --github.com/aws/aws-sdk-go-v2/service/iot v1.55.6 h1:ne6OgBCIEb3L2Hfq0l4Ucz4Eq2yEOzxQ6DnJfNHDtso= --github.com/aws/aws-sdk-go-v2/service/iot v1.55.6/go.mod h1:mgVTUjayo8w9tYzOINbrSFGRwHGv6r6a8yY+I3REtqE= --github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.6 h1:+1U3WfqLkiXPVqkIh9bKHZMDtOzIi/E8Hl1haWtV3mA= --github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.6/go.mod h1:vxKTn6HxISghOFlulw2RNzt+oGCJrU9yXv1qs3o4BdU= --github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.6 h1:2sSDmW9rP8BMcRdPYecUm2UTwYn+yEyTqQorwguYw3s= --github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.6/go.mod h1:GJ/qdiX9bik1A5ZtMBAVe+PrtIOWtV1pJpDIKPHbFX0= --github.com/aws/aws-sdk-go-v2/service/ivs v1.38.3 h1:FZOt6WsqNcvrMmhV7O5mNI3C2gtB+C4zhDhWFzhuU2Y= --github.com/aws/aws-sdk-go-v2/service/ivs v1.38.3/go.mod h1:0zbldZ1SfuX7fwhgekjM+1NzQcZFhmrAJMPUNxFt0Io= --github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.7 h1:Hq2NuyfmSoy6jl4+5BJ4EiDAeGK7K4bTL/wAFQysLO0= --github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.7/go.mod h1:BfAd5zUwQ9ZLXHkl+jFhUZjFBzWi/CTu8+ohGhYgPLs= --github.com/aws/aws-sdk-go-v2/service/kafka v1.36.0 h1:fB7srMp2lJOMewS2j3s+2r42Pnzy1SfaQgUfkuxaUjM= --github.com/aws/aws-sdk-go-v2/service/kafka v1.36.0/go.mod h1:98CTuDLE8H42YdqQf5yrRukrda+y7ff0apdsFoecYNU= --github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.19.6 h1:zgSH+dEU9dsy0fgodQpGAeNONZrBuUu/Q3C5Eyhj9hE= --github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.19.6/go.mod h1:8KBlrnKHT/4vwijdtrcBDByiV04/Nsh+Ue46M33cQZ0= --github.com/aws/aws-sdk-go-v2/service/kendra v1.52.6 h1:P13XssmTby05dkL4pko0nyKichNNwZz3hPeEOUuFFtM= --github.com/aws/aws-sdk-go-v2/service/kendra v1.52.6/go.mod h1:MCYcQieAgJm1IQ6P1FcwNEUWs+3TPcS1HGRimEn+RY4= --github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.6 h1:IcR60ensPzbFBAwdbDFgUhe4v2jED34MiUWp2gyQQoA= --github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.6/go.mod h1:9MIK9eLvuq6fuhtw7/nEJVFoqfXTj1FgMz435zMIdrA= --github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.7 h1:vIyT3PV/OTjhi3mY6wWDpHQ0sbp7zB7lH6g/63N5ZlY= --github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.7/go.mod h1:URGOU9fStCYx2LYLwT0g8XpsIa5CAk8mq+MbrxCgJDc= --github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.6 h1:EsOzNbaUBQFd7r8zVBRopeauM0GGbzUU3e3X1244Hw8= --github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.6/go.mod h1:e3vPP9vSctBl2SImCMd1GQJqLHpyj4oNEhq2h5pXpas= --github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.29.0 h1:uVVnCjE63a+lszTX7ep+Ne/q4puCiljt3lxBF7/N7hI= --github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.29.0/go.mod h1:zgSyKhIH0ZOsdogR8DuP+uNIhR+l2kT3pu1FMaqVofA= --github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.25.6 h1:d3PQOmyzfalVrPzpfA1ixuJtVD7qUAMhUSAUZ1Qox/A= --github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.25.6/go.mod h1:XWMH3P5Mrt7ZL5a4SI2cG28oZp/HW2FsivUCviOgNEM= --github.com/aws/aws-sdk-go-v2/service/kms v1.35.7 h1:v0D1LeMkA/X+JHAZWERrr+sUGOt8KrCZKnJA6KszkcE= --github.com/aws/aws-sdk-go-v2/service/kms v1.35.7/go.mod h1:K9lwD0Rsx9+NSaJKsdAdlDK4b2G4KKOEve9PzHxPoMI= --github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.6 h1:EkVH2juM9Il0Kt4eNa/4kvK3HwEMAPDxCyNdOPg1Has= --github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.6/go.mod h1:rJMEWbar0JIpSwNT0M3IcIqeLUx0bBBIeZ7iWDZ78l4= --github.com/aws/aws-sdk-go-v2/service/lambda v1.58.3 h1:jG5WkOpwHICcDQfR+o3r4YYCFeghnHQBQyp5YRmKN9w= --github.com/aws/aws-sdk-go-v2/service/lambda v1.58.3/go.mod h1:Y8hbqj7E9G7kQU3Y5btZNVXedcBQ1WVfLRkDSFXDzXI= --github.com/aws/aws-sdk-go-v2/service/launchwizard v1.6.6 h1:pmaTEKhGTYy4PGPA1lwaUER/NtGr2ox93nTQgPczwnc= --github.com/aws/aws-sdk-go-v2/service/launchwizard v1.6.6/go.mod h1:TuySudqKtaN6NrvOTpQku8aqHfwRzTEuY4j3zhA9ID0= --github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.26.6 h1:Kw4i0iqHlgi1EpagnynrXJAACQDYRDJF8zY0h/D34Qk= --github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.26.6/go.mod h1:UTd0ypdsWaZ4Bx6AWOSlhGyYH90zRPGw0YL6ebR5L04= --github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.47.0 h1:8IyfUXLlLQVt1j6qcIyJ5oinu0Qik98kOf2up05BtNw= --github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.47.0/go.mod h1:GTGZY0IwHS08ix20czNR7F+nEJz9Z94zTZacZn18Elo= --github.com/aws/aws-sdk-go-v2/service/licensemanager v1.27.6 h1:zT9VD7w/W+yiZe+XCMs27J+0fK91sV/yN4UgJA21L00= --github.com/aws/aws-sdk-go-v2/service/licensemanager v1.27.6/go.mod h1:qNbQu8IO8En5Wxb2n7DYc72DiTezUuiRhjJ+JcBNl3Q= --github.com/aws/aws-sdk-go-v2/service/lightsail v1.40.6 h1:ea6TO3HgVeVTB2Ie1djyBFWBOc9CohpKbo/QZbGTCJQ= --github.com/aws/aws-sdk-go-v2/service/lightsail v1.40.6/go.mod h1:D2TUTD3v6AWmE5LzdCXLWNFtoYbSf6IEjKh1ggbuVdw= --github.com/aws/aws-sdk-go-v2/service/location v1.40.6 h1:zSBqca5J9mw00R4Fz3mRqi9z7bGn7D/DgqzhYwu8adI= --github.com/aws/aws-sdk-go-v2/service/location v1.40.6/go.mod h1:UmreCrklVAcAPU5zoEKBB9PMRxJrSa7uVzAGLmXIQNg= --github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.29.6 h1:v/ztyNE1xcFYblyKKynpjiqhcAeScO/0sMRKu9jdnO4= --github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.29.6/go.mod h1:NBbVOG78Qp8YSXvXnk5E+bB0HF9wTAu59/0erqSGXT4= --github.com/aws/aws-sdk-go-v2/service/m2 v1.15.6 h1:o3e0f2CsOxKpVmOzGzab1l33aGH8Id8sUOnXp/4LBII= --github.com/aws/aws-sdk-go-v2/service/m2 v1.15.6/go.mod h1:z6WZyYFG2kuVtnXkFU+z2Nt/wCRY1G0y2+HtFVpyit0= --github.com/aws/aws-sdk-go-v2/service/macie2 v1.41.6 h1:0s6ur0SR/HCB06pO+nWXqvXE1x2nCSmtF1QO1FhSwHg= --github.com/aws/aws-sdk-go-v2/service/macie2 v1.41.6/go.mod h1:A7NaPnKw+wuqtk+2NNRIgVYQ+vJS569LGtjdy70ehKk= --github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.33.1 h1:EE9I3aw+SvM4ySSjfS7oKTBbsVamxEII8hk9pJreekE= --github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.33.1/go.mod h1:YcMbRpJw/bmsK6OZ0EGdliCslD/SwjLEIrf1VdSeHXU= --github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.57.6 h1:WkJlvewLhJfRVuw63A5p1HIchVEPiyhrjYVWpN6IAUA= --github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.57.6/go.mod h1:RwnsicpR2A7mSYDU3sKqTBRHq4eRyxKTO3icPZ3uOcw= --github.com/aws/aws-sdk-go-v2/service/medialive v1.58.0 h1:HLAbMDk6ReDjrGVSzSaryeAZ6rbdWntsgY5l076x2iY= --github.com/aws/aws-sdk-go-v2/service/medialive v1.58.0/go.mod h1:AnCra/unOM4CDpjdHHzyVXWgpX/myXK250loaUnH9e8= --github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.6 h1:Zy+CId+M4L9DrO10YsQ3Pb8zTK8/0XiTfoT/qIszPI0= --github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.6/go.mod h1:ru85SD5KKEIWr+2Mf2QVl973mhTn/ZXWCfj2ROJjRro= --github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.4 h1:gNlcpzZYDC2AsdG0c9GiMzbCN3BfgwCV2b7PvYTJDjQ= --github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.4/go.mod h1:qvsRZpNE105XIRdZvBgGVVqYZ2qjy+Iyo5ZOe73H/HU= --github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.6 h1:TOtPCs0RP5BxYA+AcRCqt6FfnsRFLDSYpK25LHDY2F8= --github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.6/go.mod h1:wm6ndgDOq7N6sqdTwmO5UzZskmflkUyEY4YlHdqws10= --github.com/aws/aws-sdk-go-v2/service/memorydb v1.21.8 h1:QqT2x+13J9uhiALg72P8tCMD0tBtewb4hq8FwqKOR6k= --github.com/aws/aws-sdk-go-v2/service/memorydb v1.21.8/go.mod h1:sn5tS/MAK2uX+/Pk7oRf/n5HfQEHs7a4jWik2SpBvFc= --github.com/aws/aws-sdk-go-v2/service/mq v1.25.6 h1:1SzrrTdLoSmhGfxWWZaVV31o9vBA7pJEvstXfLNA/hM= --github.com/aws/aws-sdk-go-v2/service/mq v1.25.6/go.mod h1:Sjes0ifD0ZTZHOVTg8ogBu7V3iJY2DupXItnCs501LM= --github.com/aws/aws-sdk-go-v2/service/mwaa v1.29.7 h1:o4JN1x1LnryHE1PQfWh47UhO+17L8X//uIxVjyuFHFY= --github.com/aws/aws-sdk-go-v2/service/mwaa v1.29.7/go.mod h1:NXy6G+Rp9vPBBx13ZFNYiZ5U/0urwrlKsm+PsUuPSgk= --github.com/aws/aws-sdk-go-v2/service/neptune v1.33.7 h1:JRhbEZui2fhZm8BJLfkORVNv028WYBeY91J7SnGlCko= --github.com/aws/aws-sdk-go-v2/service/neptune v1.33.7/go.mod h1:AqEkRs57soni6putUq3HNkLLZ6nYjk0pBRxK+cDvh0M= --github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.11.3 h1:OGTozg9gBxOcqaUwZkp3h0i67c8JP43I6zKxS6YehMw= --github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.11.3/go.mod h1:9xS7BzMg9Rfgtgm+JZKBQYQZB+TPaN3i0ff9D7zMdC8= --github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.41.3 h1:GN0pP32wAvy7u3fxfzW6mJSQJH80Hrb7iJ9AVGPPbQo= --github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.41.3/go.mod h1:h/bacGCd5VoL19uG10XXQC7olnLCAwZCu4h2H+BpPnE= --github.com/aws/aws-sdk-go-v2/service/networkmanager v1.29.6 h1:v/87UJJhI97jn+rn8x95wyghpiPdhmZJMlD5kDnMoTI= --github.com/aws/aws-sdk-go-v2/service/networkmanager v1.29.6/go.mod h1:Wgci/tYvO2iAaFk2VaXyYjGfRN75JLyGw9cbEmvtRmY= --github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.5.6 h1:HYx6nryYf8EWhxubfRgjdfWZmzG2YvXRIpyQi7I048I= --github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.5.6/go.mod h1:zW+AlnFs0U1bJbhfVt4d4VNyFmIwvpexG+XL95pJx7A= --github.com/aws/aws-sdk-go-v2/service/oam v1.13.9 h1:81A4UgHS0ly/7n2mPf9W9gnbriuAxZ0LpDxpkEeyLww= --github.com/aws/aws-sdk-go-v2/service/oam v1.13.9/go.mod h1:UcRvC5z9q2iUUHvOSU89CtHRWkAsoNt37lshTjpOJBI= --github.com/aws/aws-sdk-go-v2/service/opensearch v1.39.6 h1:sWyswmyfDgiiIvTIBxf3vRG1B1WG1b8k4nWPgDZgJt0= --github.com/aws/aws-sdk-go-v2/service/opensearch v1.39.6/go.mod h1:Z0qaCcaI4e2goDMLQ5Rpx/uGa9AApurUP+I+6BTzXm4= --github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.14.3 h1:68oxMuTVhZUj12EejFQBVXLHpY/SKgWKRM8uw+SzxGQ= --github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.14.3/go.mod h1:yrsYrXeiFIqj5/zoL7Ij051xl6QaY8w8ucxh4uvtTdo= --github.com/aws/aws-sdk-go-v2/service/opsworks v1.24.6 h1:Ew1ExGvbONuUDl4EbfIqrEk7Nqox5CzMPCBspqfswbA= --github.com/aws/aws-sdk-go-v2/service/opsworks v1.24.6/go.mod h1:1K4R0MLSYitNkxMTT+7anIr2Mm3PCQCkFRE/slcRSdE= --github.com/aws/aws-sdk-go-v2/service/organizations v1.31.2 h1:Rr6Byaerc+OhvjFMo5ra83dGIE7VCPeyYGouvCUhm88= --github.com/aws/aws-sdk-go-v2/service/organizations v1.31.2/go.mod h1:crvPx+ybt0EEqe9BwAOIVL/euowlIyvRVWi2koe6MLY= --github.com/aws/aws-sdk-go-v2/service/osis v1.12.6 h1:qbb34E5WzCGXXuf4DF9ivRcHwMJ3fnZt2QSClqbeumA= --github.com/aws/aws-sdk-go-v2/service/osis v1.12.6/go.mod h1:zprpiiw7M93T3gPKWsZIefmcfWSmgoKBTZd7xhDf93c= --github.com/aws/aws-sdk-go-v2/service/outposts v1.42.3 h1:dG72MrDOimyCRMvVDJTHPBs5zAUgUkL8mYyIQsCCTZ0= --github.com/aws/aws-sdk-go-v2/service/outposts v1.42.3/go.mod h1:3IN9O861on998sGsh1LDD1rUgxX72H6bDv+ErFdr0GU= --github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.12.6 h1:bicsqtJiYNyjLg7MGYVChfL+YirGRtw5bm9JWd4guG0= --github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.12.6/go.mod h1:k3AOyUUgzuduYLjkRiIqyS19YrWWFwZ8BFUOnY57qM8= --github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.6 h1:9r7Jjsjdsovp1XEQkqmVSA7EWRHBR90PSgoFkFWbgpw= --github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.6/go.mod h1:6Xrv5YXuqWQeZcwF9IGQe4Vd+1cgEL3DkbNXome3Rjo= +-github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.17.3 h1:GED7gF4Jeclblv/ltNGwwglKdV76lNvJDKG1+PFgauw= +-github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.17.3/go.mod h1:W/zLpcGzbcUHW1Qeb/mchLVAKOG/wUNZ91/6Vqk8Mzk= +-github.com/aws/aws-sdk-go-v2/service/iot v1.56.1 h1:DeFA4wZtADcath1u9LzqAX8aLsMWU91FkE1ndidUuvM= +-github.com/aws/aws-sdk-go-v2/service/iot v1.56.1/go.mod h1:mgVTUjayo8w9tYzOINbrSFGRwHGv6r6a8yY+I3REtqE= +-github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.7 h1:iKE4lUn8/WMm7yMFq2brCugSHYeJUJHQ+14Xmbvly30= +-github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.7/go.mod h1:vxKTn6HxISghOFlulw2RNzt+oGCJrU9yXv1qs3o4BdU= +-github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.7 h1:ZgWGceINYoyjbgFATHImdYGDWS/8IYlTVFBEalp4ZAg= +-github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.7/go.mod h1:GJ/qdiX9bik1A5ZtMBAVe+PrtIOWtV1pJpDIKPHbFX0= +-github.com/aws/aws-sdk-go-v2/service/ivs v1.38.5 h1:IYArbwQhqxrAzeqDGrRcyNL7QRqic+1OHMr5uZb2Bko= +-github.com/aws/aws-sdk-go-v2/service/ivs v1.38.5/go.mod h1:0zbldZ1SfuX7fwhgekjM+1NzQcZFhmrAJMPUNxFt0Io= +-github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.9 h1:dfJ5GmjbU7axQVaNb09kekhIzyoLPvUkcUi+sQP6Yks= +-github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.9/go.mod h1:BfAd5zUwQ9ZLXHkl+jFhUZjFBzWi/CTu8+ohGhYgPLs= +-github.com/aws/aws-sdk-go-v2/service/kafka v1.36.1 h1:rSkyeK1AqLlyhpq1LKhbTiNTUe90qBV1ddg2ML4FwyY= +-github.com/aws/aws-sdk-go-v2/service/kafka v1.36.1/go.mod h1:98CTuDLE8H42YdqQf5yrRukrda+y7ff0apdsFoecYNU= +-github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.19.7 h1:XAlvRxIXjy+V0xJ/YHsXGP6kRCiDmXHecPybDovARRc= +-github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.19.7/go.mod h1:8KBlrnKHT/4vwijdtrcBDByiV04/Nsh+Ue46M33cQZ0= +-github.com/aws/aws-sdk-go-v2/service/kendra v1.52.7 h1:oB0cnRaU+i5fUnvY7Y8vB33lsSDwDU7vs/xjwcJrJGI= +-github.com/aws/aws-sdk-go-v2/service/kendra v1.52.7/go.mod h1:MCYcQieAgJm1IQ6P1FcwNEUWs+3TPcS1HGRimEn+RY4= +-github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.7 h1:E/5ke1i/LUCn/a4fvZ7AEtJHRkZuze8F7OAQKhPbhSI= +-github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.7/go.mod h1:9MIK9eLvuq6fuhtw7/nEJVFoqfXTj1FgMz435zMIdrA= +-github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.8 h1:l+OOHQ/s1pV1eWDbxrJKKzdXf1SbMRFpUOqvDVMiV78= +-github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.8/go.mod h1:URGOU9fStCYx2LYLwT0g8XpsIa5CAk8mq+MbrxCgJDc= +-github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.7 h1:GBmRZNBAe2h5XwDQDIQqlbdTrrrsaHRShrwzCrn/DVg= +-github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.7/go.mod h1:e3vPP9vSctBl2SImCMd1GQJqLHpyj4oNEhq2h5pXpas= +-github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.29.1 h1:/+SCn/4NyG2tcy7qlB+KXnxIkNIrhAtbaPyGXMe15uc= +-github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.29.1/go.mod h1:zgSyKhIH0ZOsdogR8DuP+uNIhR+l2kT3pu1FMaqVofA= +-github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.25.7 h1:ukpAJON7xtMQZU/+WLmD6Ra+ZHbTwbbPrByfIs50a58= +-github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.25.7/go.mod h1:XWMH3P5Mrt7ZL5a4SI2cG28oZp/HW2FsivUCviOgNEM= +-github.com/aws/aws-sdk-go-v2/service/kms v1.35.8 h1:9AShwR4JYnpCdVmjyJKXi0Fvjqqze5XVyZFQo4NI4lY= +-github.com/aws/aws-sdk-go-v2/service/kms v1.35.8/go.mod h1:K9lwD0Rsx9+NSaJKsdAdlDK4b2G4KKOEve9PzHxPoMI= +-github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.7 h1:isZ7SVUrLfwZcamtvvpqwY2EyRwWjmluOTl8Tzcw1XY= +-github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.7/go.mod h1:rJMEWbar0JIpSwNT0M3IcIqeLUx0bBBIeZ7iWDZ78l4= +-github.com/aws/aws-sdk-go-v2/service/lambda v1.59.0 h1:kp2SShe++8RYTR4ntoTaDK++aQM4ZPsOtF0Cn50ZO7Y= +-github.com/aws/aws-sdk-go-v2/service/lambda v1.59.0/go.mod h1:Y8hbqj7E9G7kQU3Y5btZNVXedcBQ1WVfLRkDSFXDzXI= +-github.com/aws/aws-sdk-go-v2/service/launchwizard v1.6.7 h1:5Gzl2nTSDvACFrJYMMR2z/GtZoiilmzBjJn/JciV8E8= +-github.com/aws/aws-sdk-go-v2/service/launchwizard v1.6.7/go.mod h1:TuySudqKtaN6NrvOTpQku8aqHfwRzTEuY4j3zhA9ID0= +-github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.26.7 h1:eTFql97WE9q/QALNBeasXUdDlATxUCR8z6FEXIvASLU= +-github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.26.7/go.mod h1:UTd0ypdsWaZ4Bx6AWOSlhGyYH90zRPGw0YL6ebR5L04= +-github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.47.1 h1:XDqDuS10LarURGLi4cS+RHqbceubvMBifboWR0StfTI= +-github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.47.1/go.mod h1:GTGZY0IwHS08ix20czNR7F+nEJz9Z94zTZacZn18Elo= +-github.com/aws/aws-sdk-go-v2/service/licensemanager v1.27.7 h1:XkxvXAjOqbs43mYFoD9zAni3+k50uQdKtH2bVf7k/oY= +-github.com/aws/aws-sdk-go-v2/service/licensemanager v1.27.7/go.mod h1:qNbQu8IO8En5Wxb2n7DYc72DiTezUuiRhjJ+JcBNl3Q= +-github.com/aws/aws-sdk-go-v2/service/lightsail v1.40.7 h1:eP75YjkzQZB+Z8b353yS4m0xWvlUv9nik0b4+ntC/rU= +-github.com/aws/aws-sdk-go-v2/service/lightsail v1.40.7/go.mod h1:D2TUTD3v6AWmE5LzdCXLWNFtoYbSf6IEjKh1ggbuVdw= +-github.com/aws/aws-sdk-go-v2/service/location v1.40.7 h1:cZAFNdBoUT7eiFrmn8j6jt99tP6cjd/DFlz+1F6S16A= +-github.com/aws/aws-sdk-go-v2/service/location v1.40.7/go.mod h1:UmreCrklVAcAPU5zoEKBB9PMRxJrSa7uVzAGLmXIQNg= +-github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.29.7 h1:3nm+WcfueLjdxBPUKSEgLJdf8J6Lz5lvcvvumrKVBmw= +-github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.29.7/go.mod h1:NBbVOG78Qp8YSXvXnk5E+bB0HF9wTAu59/0erqSGXT4= +-github.com/aws/aws-sdk-go-v2/service/m2 v1.15.7 h1:d3skZOTrN1Y80GoPN8JaGr8b/3hogT+TyOFy2d8TyGA= +-github.com/aws/aws-sdk-go-v2/service/m2 v1.15.7/go.mod h1:z6WZyYFG2kuVtnXkFU+z2Nt/wCRY1G0y2+HtFVpyit0= +-github.com/aws/aws-sdk-go-v2/service/macie2 v1.41.7 h1:LXGCP+oT+HSpZmd3zhN3euD5O9rSqKBp1ytlnvO/99M= +-github.com/aws/aws-sdk-go-v2/service/macie2 v1.41.7/go.mod h1:A7NaPnKw+wuqtk+2NNRIgVYQ+vJS569LGtjdy70ehKk= +-github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.33.2 h1:FahaHxGufZvugj4sdtO9eANu0STaqw76vtOFUwmStBQ= +-github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.33.2/go.mod h1:YcMbRpJw/bmsK6OZ0EGdliCslD/SwjLEIrf1VdSeHXU= +-github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.58.1 h1:/BvWZcQlGuKUrWwzoir4RMb+sHb8hXhfl18Cy8RkRRk= +-github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.58.1/go.mod h1:RwnsicpR2A7mSYDU3sKqTBRHq4eRyxKTO3icPZ3uOcw= +-github.com/aws/aws-sdk-go-v2/service/medialive v1.59.1 h1:+0YOSzTBn96yN/4BptdeCdyfhjHxCdXmpDOs7w8pZmw= +-github.com/aws/aws-sdk-go-v2/service/medialive v1.59.1/go.mod h1:AnCra/unOM4CDpjdHHzyVXWgpX/myXK250loaUnH9e8= +-github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.7 h1:WurkrhODejn9woIRtX8V9xSGPf4lBhqHWZOsnncMenA= +-github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.7/go.mod h1:ru85SD5KKEIWr+2Mf2QVl973mhTn/ZXWCfj2ROJjRro= +-github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.5 h1:0KfsifHW78qQts5C0h81w2nz9Hfk3kRCr54uLbwc9ZM= +-github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.5/go.mod h1:qvsRZpNE105XIRdZvBgGVVqYZ2qjy+Iyo5ZOe73H/HU= +-github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.7 h1:799lMbJYLr0BIB8CKUCohRrnfRH200NFTr0B/+dOk/o= +-github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.7/go.mod h1:wm6ndgDOq7N6sqdTwmO5UzZskmflkUyEY4YlHdqws10= +-github.com/aws/aws-sdk-go-v2/service/memorydb v1.21.9 h1:BzvLvP7nuLZVeqHRF/O5DeqWylHeINevAH3CEuQTrDM= +-github.com/aws/aws-sdk-go-v2/service/memorydb v1.21.9/go.mod h1:sn5tS/MAK2uX+/Pk7oRf/n5HfQEHs7a4jWik2SpBvFc= +-github.com/aws/aws-sdk-go-v2/service/mq v1.25.7 h1:wdLlxkih5/Y3KXpA/SQ82XKov3qYqg7M8NO5ISzEamg= +-github.com/aws/aws-sdk-go-v2/service/mq v1.25.7/go.mod h1:Sjes0ifD0ZTZHOVTg8ogBu7V3iJY2DupXItnCs501LM= +-github.com/aws/aws-sdk-go-v2/service/mwaa v1.29.8 h1:/gqNR9BxHet0dqmzNl0zujFMXy/GrAExq/drAZRtFCo= +-github.com/aws/aws-sdk-go-v2/service/mwaa v1.29.8/go.mod h1:NXy6G+Rp9vPBBx13ZFNYiZ5U/0urwrlKsm+PsUuPSgk= +-github.com/aws/aws-sdk-go-v2/service/neptune v1.33.8 h1:Vf6VAU5J+nCpMUaWfdn1QFYSDxt9H7p4MJU6gNQ8Gbk= +-github.com/aws/aws-sdk-go-v2/service/neptune v1.33.8/go.mod h1:AqEkRs57soni6putUq3HNkLLZ6nYjk0pBRxK+cDvh0M= +-github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.11.4 h1:+th2nITxT+M443Z2cYxg8+nhwJH/SFErs7pWblqSoy0= +-github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.11.4/go.mod h1:9xS7BzMg9Rfgtgm+JZKBQYQZB+TPaN3i0ff9D7zMdC8= +-github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.41.4 h1:d0y+W3OuyBtuD0IbToKv/OV8/aV9edioMLeOOhj5T8o= +-github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.41.4/go.mod h1:h/bacGCd5VoL19uG10XXQC7olnLCAwZCu4h2H+BpPnE= +-github.com/aws/aws-sdk-go-v2/service/networkmanager v1.29.7 h1:+i/nMnTYIJoBdJEJdHfod75FJbvIzdxr/ooJuJVjoBY= +-github.com/aws/aws-sdk-go-v2/service/networkmanager v1.29.7/go.mod h1:Wgci/tYvO2iAaFk2VaXyYjGfRN75JLyGw9cbEmvtRmY= +-github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.5.7 h1:7ZBPsi2KxZ5+vh004simCRcRqgXmBlZf/nTI+kgSO4M= +-github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.5.7/go.mod h1:zW+AlnFs0U1bJbhfVt4d4VNyFmIwvpexG+XL95pJx7A= +-github.com/aws/aws-sdk-go-v2/service/oam v1.13.10 h1:OKCG51H4RMNpVTr9wyssJ0eL5N1H/+mVcJQl6M2uQuQ= +-github.com/aws/aws-sdk-go-v2/service/oam v1.13.10/go.mod h1:UcRvC5z9q2iUUHvOSU89CtHRWkAsoNt37lshTjpOJBI= +-github.com/aws/aws-sdk-go-v2/service/opensearch v1.39.7 h1:bNsRpn9BPbyq3b57o0RIhO5ND66Nj5XjFjqj17M3UmQ= +-github.com/aws/aws-sdk-go-v2/service/opensearch v1.39.7/go.mod h1:Z0qaCcaI4e2goDMLQ5Rpx/uGa9AApurUP+I+6BTzXm4= +-github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.14.4 h1:eIlChCCTOEoH2vmQMaKgd75lp6D8savdvCbkoTmbrro= +-github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.14.4/go.mod h1:yrsYrXeiFIqj5/zoL7Ij051xl6QaY8w8ucxh4uvtTdo= +-github.com/aws/aws-sdk-go-v2/service/opsworks v1.24.7 h1:uZnQre+LfijzCNRKW8aZqmsDPFsTWlSYvOxZeRXzwpU= +-github.com/aws/aws-sdk-go-v2/service/opsworks v1.24.7/go.mod h1:1K4R0MLSYitNkxMTT+7anIr2Mm3PCQCkFRE/slcRSdE= +-github.com/aws/aws-sdk-go-v2/service/organizations v1.31.4 h1:TliJBcI9UwXPK4ktobTRCp7WcZhKYAqTiZ9TK5g42bM= +-github.com/aws/aws-sdk-go-v2/service/organizations v1.31.4/go.mod h1:crvPx+ybt0EEqe9BwAOIVL/euowlIyvRVWi2koe6MLY= +-github.com/aws/aws-sdk-go-v2/service/osis v1.12.7 h1:dJTbWfIAH5LzlK3WDrDUTAlQXyNCw1HZ3RttYXi+2MQ= +-github.com/aws/aws-sdk-go-v2/service/osis v1.12.7/go.mod h1:zprpiiw7M93T3gPKWsZIefmcfWSmgoKBTZd7xhDf93c= +-github.com/aws/aws-sdk-go-v2/service/outposts v1.42.4 h1:+FHJLFkSZNuoqQdXhNMX8pNXLdwjTrQVcdUCTDItqik= +-github.com/aws/aws-sdk-go-v2/service/outposts v1.42.4/go.mod h1:3IN9O861on998sGsh1LDD1rUgxX72H6bDv+ErFdr0GU= +-github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.12.7 h1:ZJbTWU4nnSI/r376VyO1uqUvv3dGR8j3Lp0CmzhM4qU= +-github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.12.7/go.mod h1:k3AOyUUgzuduYLjkRiIqyS19YrWWFwZ8BFUOnY57qM8= +-github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.7 h1:D9zl9lpXN8isQYCC+6KJydgvmwZaBai69FBcPLVJ88c= +-github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.7/go.mod h1:6Xrv5YXuqWQeZcwF9IGQe4Vd+1cgEL3DkbNXome3Rjo= +-github.com/aws/aws-sdk-go-v2/service/pcs v1.0.3 h1:zNYOSvh8i8khEJyyoqtJQEqoBEWNIYETCkOmqWNiIqU= +-github.com/aws/aws-sdk-go-v2/service/pcs v1.0.3/go.mod h1:acm3akB4exauzjZeKNonTwkxCPIdWT1LWLRM09eZP7c= +-github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.7 h1:gRtzcvWw2TMr/QNmCMaa3tGzbSvnPe59sH6a3ZitJgc= +-github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.7/go.mod h1:2yK6vZtj8t8tmEOk2/XBk/7oC9QggiRIDhwt1rUNkPE= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.16.4 h1:uEKMRTKNdS2ELDN3Kttfz7IFXanX0+T1sVE13mm/+Vk= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.16.4/go.mod h1:TfxNP+f4gWfHqxnXjHQx3ltEOjE+WBxC/K0cfyaP6K4= +github.com/aws/aws-sdk-go-v2/service/iot v1.55.4 h1:kSWUXF8Bmqt7WA0TkQ/+rrGyNooDmQNno7EMwbRFbIs= @@ -1298,22 +1353,154 @@ index 966c7df257..cfa521aa50 100644 +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.12.4/go.mod h1:ri4Ew+vqZyF3RIGmPvismFkwMvP1XG8okHGbpKEDgi0= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.4 h1:IjFjC4pJQvVOHFwQ/UYYd/HPMYZa4OtBeo+K5Fnge4I= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.4/go.mod h1:injrkDvKGoHeXJrOSmlOqHFwmR4hBwDCx4zPeTlD/zY= - github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2 h1:+PSbd/wTgCueA9agqNNeSmVoOgcgAxtOeeJCxyerkmk= - github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2/go.mod h1:acm3akB4exauzjZeKNonTwkxCPIdWT1LWLRM09eZP7c= --github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.6 h1:S5SxTH9Ue7cwK9O76RQKkt9xY+zapTJv6dutXEyKOGQ= --github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.6/go.mod h1:2yK6vZtj8t8tmEOk2/XBk/7oC9QggiRIDhwt1rUNkPE= --github.com/aws/aws-sdk-go-v2/service/pipes v1.15.0 h1:2P3Y9TFqZP2V8rJquXMEcXQ3D2Ybdvj+qD9wG9m0Sio= --github.com/aws/aws-sdk-go-v2/service/pipes v1.15.0/go.mod h1:JKl45FQijnuqkji3jAlVTH0tRTbYYZSUb00P9HClkRg= --github.com/aws/aws-sdk-go-v2/service/polly v1.43.2 h1:AmoLJRNIJQvN4CcXPhLwXPaDOnke2EXAWe9T+MNloEE= --github.com/aws/aws-sdk-go-v2/service/polly v1.43.2/go.mod h1:/wi/pMDamNplL/g3IoTJk4gv+JuWx4wqu68c37aXWaI= --github.com/aws/aws-sdk-go-v2/service/pricing v1.30.6 h1:JhMUC175bYOCsknlqR9jKw3RUWmw6bL9MQNJtEjo07E= --github.com/aws/aws-sdk-go-v2/service/pricing v1.30.6/go.mod h1:s25xxxgOUJZAyvM3hlt/HKIK8OQa3U+G8dyZpUFSYDU= --github.com/aws/aws-sdk-go-v2/service/qbusiness v1.11.2 h1:bXNE0cL5rHP7JYbblnY3ZGjV04VMSDaUq4gqfKQ5AyE= --github.com/aws/aws-sdk-go-v2/service/qbusiness v1.11.2/go.mod h1:e8F0K5NUf7cov4h8lduiSGS/1Ef1zp0DPodBIjf/J+g= --github.com/aws/aws-sdk-go-v2/service/qldb v1.23.6 h1:UV485oJtf5y2PMLxlKugfMehRcnoUh786bFeFRFGvfQ= --github.com/aws/aws-sdk-go-v2/service/qldb v1.23.6/go.mod h1:MQ41NNzgHzry2L0nN0z1Sy46Co2fgt9eSMaTT6Q6IjM= ++github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2 h1:+PSbd/wTgCueA9agqNNeSmVoOgcgAxtOeeJCxyerkmk= ++github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2/go.mod h1:acm3akB4exauzjZeKNonTwkxCPIdWT1LWLRM09eZP7c= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4 h1:2bJrgP5iz3yVzqVBGSL0UigyyJklo3xkYusu8cfJJOo= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4/go.mod h1:Y7+679QPvkNHVJZuVNdoGVUMViwbTsZn7HgOTxcB5lA= + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9 h1:mnLwmW4bo8scdYo58rxEmpWfdpd+AKEKh9f+k8lWZxQ= + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9/go.mod h1:Ek88Y1SlTvTDgX9L7DWUPfQIYtT++3eqK7cMK0TdW8Q= +-github.com/aws/aws-sdk-go-v2/service/pipes v1.15.1 h1:i+Q7/BH0aXBg6S3ABdDCEtShQM1UG1+G7Cpm/1ZdgL4= +-github.com/aws/aws-sdk-go-v2/service/pipes v1.15.1/go.mod h1:JKl45FQijnuqkji3jAlVTH0tRTbYYZSUb00P9HClkRg= +-github.com/aws/aws-sdk-go-v2/service/polly v1.43.3 h1:HwqACydSnHK2C0gc72HeYsxWcZij63SXmDuuXzHIV+Y= +-github.com/aws/aws-sdk-go-v2/service/polly v1.43.3/go.mod h1:/wi/pMDamNplL/g3IoTJk4gv+JuWx4wqu68c37aXWaI= +-github.com/aws/aws-sdk-go-v2/service/pricing v1.30.7 h1:74MZ+glRV78lwmq5JhR3eOzXxH5eNLXWS5MwtMW+CTI= +-github.com/aws/aws-sdk-go-v2/service/pricing v1.30.7/go.mod h1:s25xxxgOUJZAyvM3hlt/HKIK8OQa3U+G8dyZpUFSYDU= +-github.com/aws/aws-sdk-go-v2/service/qbusiness v1.11.3 h1:QD+yz89Ys+Xy0kzyBblYF3aPZGiHRBQAIUkUA72s2sw= +-github.com/aws/aws-sdk-go-v2/service/qbusiness v1.11.3/go.mod h1:e8F0K5NUf7cov4h8lduiSGS/1Ef1zp0DPodBIjf/J+g= +-github.com/aws/aws-sdk-go-v2/service/qldb v1.23.7 h1:rAtu6C9b0SujEk6dss1Gyl6uPdzGui6eBeTrF/4YQEc= +-github.com/aws/aws-sdk-go-v2/service/qldb v1.23.7/go.mod h1:MQ41NNzgHzry2L0nN0z1Sy46Co2fgt9eSMaTT6Q6IjM= +-github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.3 h1:ykNRudOLg+XDQ5xtCDGQlD4icX2/tQqUq/e+7d+JoZ4= +-github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.3/go.mod h1:f6e2kXac6YYk9f51LW3TwcQk27Y2OF8O68wNxU8WRFU= +-github.com/aws/aws-sdk-go-v2/service/ram v1.27.8 h1:FL7QFhtK/fGzdcHg/10zkORvADIn/urY54DISO95V88= +-github.com/aws/aws-sdk-go-v2/service/ram v1.27.8/go.mod h1:BTnZifpF2qLdpX4pxH/v8N6TbbwKWxPqcW5cACFM/Vw= +-github.com/aws/aws-sdk-go-v2/service/rbin v1.18.8 h1:hbC5/VmPebWkEuE3qO8dNIxUz2FHHXKpPAAhLumJJUw= +-github.com/aws/aws-sdk-go-v2/service/rbin v1.18.8/go.mod h1:olqOgzq5EXmaDtca5gUsKF0YBIZHkduQhHM8rp+EBr0= +-github.com/aws/aws-sdk-go-v2/service/rds v1.83.2 h1:BuKR4y0DGimyLoCylfYR8BiDzVBgAn4PQA+rp/8drKc= +-github.com/aws/aws-sdk-go-v2/service/rds v1.83.2/go.mod h1:zNFNa99yH2j3zzqZgt3Atu197K1UkE+1sfigpi5+eWo= +-github.com/aws/aws-sdk-go-v2/service/redshift v1.46.9 h1:OYxOggKHjh0x1VPqgubniX4OFOs1DQbZRpPd3dvvK2E= +-github.com/aws/aws-sdk-go-v2/service/redshift v1.46.9/go.mod h1:UdcfC9kA4bn3cdUdFYVCeXZcoPka6WNzbYyRAX/Vpy0= +-github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.28.3 h1:eYhIW0FMFTa2FwBmKaFZge6jV6Q3kkLGIfCCsc0bUkc= +-github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.28.3/go.mod h1:9HLbgBikxAqW0V3Q8eQMQvoW1XRq0J7TjqYe8Lpiwx4= +-github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.6 h1:S8dUnFyjyEulLIpRZEBLdUIoApLImXGMoWDUH30zYso= +-github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.6/go.mod h1:ZXoTEWC4VFDJWtZ/4QuHyNQgWDHQPQGfze+aydxWauQ= +-github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.6 h1:zTkbL4FvX6u2ZB1HhLtCcnQCfuBcgt6GTlefazVcLc0= +-github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.6/go.mod h1:yG6PPqzjojOm+Sn/cnHMTP+j7Kx15cLhREpxqFUYCDU= +-github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.24.4 h1:oizI6sEtGtuf8GbhfaCxUJkoZJgRAd+3FKUFYDH7Ics= +-github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.24.4/go.mod h1:RPEXZY4f0MClpnnb9z/pgKnnUHYt2topI5mbEcwNfoM= +-github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.7 h1:NnfWuqpHcOeMEeq/I+IJjqVwc0Gk54cYqkFsSvegl3E= +-github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.7/go.mod h1:mPri2BbgNENJpiIj1Acg3N9LS/FKwtTRjj2JuFbIpZQ= +-github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.24.8 h1:sV8OJWVWEE+kQlHbFuNHkoaQqN0pmZk+d2eyzIx/Lp4= +-github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.24.8/go.mod h1:HdwqSeisRsGJeBYZ7hKeSyRbEUa8VQymBo7VrG5SftY= +-github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.23.8 h1:RsRFh4xV8tKqIzGuElyjAqj6gs1Q69eGnRZtt4ySjbI= +-github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.23.8/go.mod h1:nwLFeYGy+Vd3tjKUpdeBV/i0ccgDDRIE/8ra/uUgOi4= +-github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.14.4 h1:jKXE8FcS1VmaxeEShE0fYDdxjhULZgRKLiESQKTysv4= +-github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.14.4/go.mod h1:LA/kP5T+tv5b+c9V9rOK2IjrY1Rinvz0z3mv7U8uLEA= +-github.com/aws/aws-sdk-go-v2/service/route53 v1.43.3 h1:hMnlDw1V8y9dKmWxxw3CqMCwx+BVQASeTE02ws+DBWo= +-github.com/aws/aws-sdk-go-v2/service/route53 v1.43.3/go.mod h1:343vcjcyOTuHTBBgUrOxPM36/jE96qLZnGL447ldrB0= +-github.com/aws/aws-sdk-go-v2/service/route53domains v1.25.7 h1:O1I1LYKN8EukWmz1yAqfqCEIZUJtpzrMpGLhWe9Y3z4= +-github.com/aws/aws-sdk-go-v2/service/route53domains v1.25.7/go.mod h1:JEql2FZJWlG7D+eJhKUTa0prZ+XVrCgQxIU4y0Up+So= +-github.com/aws/aws-sdk-go-v2/service/route53profiles v1.2.7 h1:+B1xb96u0Pk6V6HrO0aSqM0uYfm4mFQUGNYZQ/Swsm0= +-github.com/aws/aws-sdk-go-v2/service/route53profiles v1.2.7/go.mod h1:NVNxvMuZWnu00ZP+Qt9Ctn9/+7tWx3XuFZ3w0ZhsRWY= +-github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.23.7 h1:HwBkCqOBpLZQj+LdBJ8RfLm9djNBXIrg9cBrlqPq8mo= +-github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.23.7/go.mod h1:u4oMC5p7+ADFCAUi7XKSt/4qicvsm3C8IAT1Rhv9HsE= +-github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.19.7 h1:PNEnWQkCfOmWt09u+OvbxmlIJ9yBsk+54/aZYCEm+To= +-github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.19.7/go.mod h1:VewKW9SIgXeO7n8gAYUprOPlmsEK7t0xr/NqpTp/wFw= +-github.com/aws/aws-sdk-go-v2/service/route53resolver v1.30.9 h1:WMI5Q78CTJ1ecQLLl3vy/DBpr7IF2S9C38xwkxGIRU8= +-github.com/aws/aws-sdk-go-v2/service/route53resolver v1.30.9/go.mod h1:9B3sfWrHSFv5DKs51yrZpTRt/lNWfsz1kYLtVs1jjSE= +-github.com/aws/aws-sdk-go-v2/service/rum v1.19.7 h1:8cHO1/CTMextYFbRsMcM3MHGTqRSCWppHrzwm3fbIWo= +-github.com/aws/aws-sdk-go-v2/service/rum v1.19.7/go.mod h1:UrDJSWJJBZEBFcqSkvzWkTxjgFPmHlUF9TTjNUf3rzc= +-github.com/aws/aws-sdk-go-v2/service/s3 v1.62.0 h1:rd/aA3iDq1q7YsL5sc4dEwChutH7OZF9Ihfst6pXQzI= +-github.com/aws/aws-sdk-go-v2/service/s3 v1.62.0/go.mod h1:5FmD/Dqq57gP+XwaUnd5WFPipAuzrf0HmupX27Gvjvc= +-github.com/aws/aws-sdk-go-v2/service/s3control v1.47.1 h1:65SnDJ6Ohb+uWp99IfdZZBcASmFUMY/WFH9wti1RVWQ= +-github.com/aws/aws-sdk-go-v2/service/s3control v1.47.1/go.mod h1:5rTK8mtR2HvjZ2G9ebpJdaQmLgnme43M0nr6iG7d1cc= +-github.com/aws/aws-sdk-go-v2/service/s3outposts v1.26.7 h1:TIZd9qCQOSLwFvfeB+WVz4ok0MbYzL3DCWGnV2y/5TE= +-github.com/aws/aws-sdk-go-v2/service/s3outposts v1.26.7/go.mod h1:M+fYY5ITWtBj9JWpy7qk8MrZ3hZ+3IElypnuhcbHqx0= +-github.com/aws/aws-sdk-go-v2/service/sagemaker v1.157.1 h1:IldNaSZFAIBzDRW2WxA/LlQlDklUXYV1X7K/C4NlCo8= +-github.com/aws/aws-sdk-go-v2/service/sagemaker v1.157.1/go.mod h1:xU5CLeB+kOnZ5G1I5/sMNvyI9Ogz6av2lgrT76nZHXQ= +-github.com/aws/aws-sdk-go-v2/service/scheduler v1.10.7 h1:EcPyKUUo3neD2tDFKnq3TR3B9s2uZe9eWgxVQgixdzc= +-github.com/aws/aws-sdk-go-v2/service/scheduler v1.10.7/go.mod h1:MlNx35QVGG8TB2x1kOC0TKd9e93+RmFUE8HzYDLDLso= +-github.com/aws/aws-sdk-go-v2/service/schemas v1.26.7 h1:JTq65OJ09cA3Q6bTRmPY/JUtr4eJXaslmptPlvCKXVk= +-github.com/aws/aws-sdk-go-v2/service/schemas v1.26.7/go.mod h1:yQPYNOTbanRoY+vqQw6iKPn4wRskNbph1WNyamdKCyg= +-github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.9 h1:croIrE67fpV6wff+0M8jbrJZpKSlrqVGrCnqNU5rtoI= +-github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.9/go.mod h1:BYr9P/rrcLNJ8A36nT15p8tpoVDZ5lroHuMn/njecBw= +-github.com/aws/aws-sdk-go-v2/service/securityhub v1.52.5 h1:ADikN8FSQ7rd6wOfEuIOVK2uAIfpf/xt8S6uBMfbDgY= +-github.com/aws/aws-sdk-go-v2/service/securityhub v1.52.5/go.mod h1:TccpGcVXrED4xcLhtYFs5qHJEzL8qXCCoQj+TDosCxQ= +-github.com/aws/aws-sdk-go-v2/service/securitylake v1.16.7 h1:GdeWFVCWJvEgOZ7oMkRd4Bq+pKwiLUzwwQqY+Rgs6cs= +-github.com/aws/aws-sdk-go-v2/service/securitylake v1.16.7/go.mod h1:dzjmZN3T7eA/7NjEY6YfLvmBB59nplFzB35ylmbY4NU= +-github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.22.8 h1:fFL9YqGWR/UxlKME5FHujafsC/uVzZl7MOmbT2sUCbA= +-github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.22.8/go.mod h1:GGakjHMB2drDmWmzohN/u/nxCt91574Di6aFUseaAVQ= +-github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.30.7 h1:cZv5/PwYFtFDzh2696g/fxq/DyCKivKHeSkKQb1LdQU= +-github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.30.7/go.mod h1:orlIM5DB1+KVQwFgxRYvO0dlPqa4Z/XX6WeCfqDkt2s= +-github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.28.7 h1:HYWgssFPC09i+ZikqD4hG9WG3whI4UVYlxCyRkOCSkA= +-github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.28.7/go.mod h1:m3Rj1F8GFvbAlQT4LwQIewX9Ojj+vXX0BAMbhSNVPzs= +-github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.8 h1:lR2PZfD1YNEPq0TSljh1Zfxmr53FaKZOTf90hQKmH/4= +-github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.8/go.mod h1:JsD+G3R0ZMWqjt7VDggNsc5SFl4hw+Sk8KQaRN1sltI= +-github.com/aws/aws-sdk-go-v2/service/servicequotas v1.23.8 h1:A8HyQV0i5aDl9uXDbFmBSzrHvrmvciq5njIprehkKdw= +-github.com/aws/aws-sdk-go-v2/service/servicequotas v1.23.8/go.mod h1:Mj9BbPUqXHUD+LaY7GZ9+OSn6kO8MozZGv41/2S0BFo= +-github.com/aws/aws-sdk-go-v2/service/ses v1.26.3 h1:P1wg6h8Jm6BW660d2LsiBN0KdfeXAU+wlJitvPb1Cig= +-github.com/aws/aws-sdk-go-v2/service/ses v1.26.3/go.mod h1:PS2N1JNb+LsgIQA7Iu8PyoXWOUC5HAbt3esVYzWdVEg= +-github.com/aws/aws-sdk-go-v2/service/sesv2 v1.33.3 h1:WiWgFFqFlrMEf1Tu1rmbe16PrnmZixT6Gg4LBDMGzgo= +-github.com/aws/aws-sdk-go-v2/service/sesv2 v1.33.3/go.mod h1:OQqMYY/a4+E+cZsZyaXNqM23vODOgCyRMG3WRYxUnqc= +-github.com/aws/aws-sdk-go-v2/service/sfn v1.31.3 h1:8DEXcCXtjqwP5bcSEY21ZMYS0sxN9zBYWj0/3PDQGf8= +-github.com/aws/aws-sdk-go-v2/service/sfn v1.31.3/go.mod h1:ae7mWKnnn7j/l9Egr8HaUg9hsn6b4jIS7eryh3nqkLg= +-github.com/aws/aws-sdk-go-v2/service/shield v1.27.7 h1:+6htIaoJazNvqyFMTjPtpFWK1R1FhS1DonO7Yn7SMSo= +-github.com/aws/aws-sdk-go-v2/service/shield v1.27.7/go.mod h1:6vpeffPxOOCXeYbfN9VQ4YkezaSfO8DZcJGgoweQGPs= +-github.com/aws/aws-sdk-go-v2/service/signer v1.24.7 h1:iKDC2d19+IPpl+o0pSfpWGd2YDh84WqPDMtuD7isAnA= +-github.com/aws/aws-sdk-go-v2/service/signer v1.24.7/go.mod h1:JtAWXrX+4ZDxy2xBP0MmC80+Q/tHkU4MGetpcsTIKjo= +-github.com/aws/aws-sdk-go-v2/service/sns v1.31.8 h1:vRSk062d1SmaEVbiqFePkvYuhCTnW2JnPkUdt19nqeY= +-github.com/aws/aws-sdk-go-v2/service/sns v1.31.8/go.mod h1:wjhxA9hlVu75dCL/5Wcx8Cwmszvu6t0i8WEDypcB4+s= +-github.com/aws/aws-sdk-go-v2/service/sqs v1.34.9 h1:soISVWbRSqWplczJaEYxj26UrGULnptybx/eA3aGo90= +-github.com/aws/aws-sdk-go-v2/service/sqs v1.34.9/go.mod h1:zn0Oy7oNni7XIGoAd6bHBTVtX06OrnpvT1kww8jxyi8= +-github.com/aws/aws-sdk-go-v2/service/ssm v1.53.0 h1:+btWuHF/6IuNrGgSZTWW4zs3Xz22/1xiv6LDhw10Xao= +-github.com/aws/aws-sdk-go-v2/service/ssm v1.53.0/go.mod h1:nUSNPaG8mv5rIu7EclHnFqZOjhreEUwRKENtKTtJ9aw= +-github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.24.7 h1:JD+nfys7xP30o6525uzFtbh0IcSbl1TKe3SAjtR0ZcY= +-github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.24.7/go.mod h1:ErlGR2/HgpkAaMsxjoGolPNEQAqbAaOPX41GquDwH5Y= +-github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.32.7 h1:4sKXOtmOka4Yjoj7/iRSHYheE1bSCX9ibKCX83cA3xQ= +-github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.32.7/go.mod h1:X8f2Z8KgT3QA9MbNgvS0We5mDIV6ck///1dgB/FFRnk= +-github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.4 h1:xyA6AjItZ0gEJTAkE5aWubfGgl9auiEDlGeftHWYmFU= +-github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.4/go.mod h1:/h15THbnzc13Z5nza7r0aEFVOcKC2qRk7vb8Kk0+3mE= +-github.com/aws/aws-sdk-go-v2/service/sso v1.22.8 h1:JRwuL+S1Qe1owZQoxblV7ORgRf2o0SrtzDVIbaVCdQ0= +-github.com/aws/aws-sdk-go-v2/service/sso v1.22.8/go.mod h1:eEygMHnTKH/3kNp9Jr1n3PdejuSNcgwLe1dWgQtO0VQ= +-github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.8 h1:NrypLLRMrsazAxgVk5xfYbZbTHPIS/hia2N1oYZy7q4= +-github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.8/go.mod h1:4UPEDJSxIkfUEOi5aBMkkyG8SIb8PXMbEGKNnA1qCgg= +-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.8 h1:+HpGETD9463PFSj7lX5+eq7aLDs85QUIA+NBkeAsscA= +-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.8/go.mod h1:bCbAxKDqNvkHxRaIMnyVPXPo+OaPRwvmgzMxbz1VKSA= +-github.com/aws/aws-sdk-go-v2/service/storagegateway v1.32.1 h1:PjTXT77azu4ndyEsouW4bEGEDBRh0OfpfXP5gcw/VCE= +-github.com/aws/aws-sdk-go-v2/service/storagegateway v1.32.1/go.mod h1:DMpqLTXDFFABHttF2PZ6uZwB1JFgQh1Zs9rBvbdXYn8= +-github.com/aws/aws-sdk-go-v2/service/sts v1.30.8 h1:bAi+4p5EKnni+jrfcAhb7iHFQ24bthOAV9t0taf3DCE= +-github.com/aws/aws-sdk-go-v2/service/sts v1.30.8/go.mod h1:NXi1dIAGteSaRLqYgarlhP/Ij0cFT+qmCwiJqWh/U5o= +-github.com/aws/aws-sdk-go-v2/service/swf v1.25.8 h1:8k49Jjnpg7JSR+zLZofhW+uEd/AtlkOj7ul8A/KKXlA= +-github.com/aws/aws-sdk-go-v2/service/swf v1.25.8/go.mod h1:1RWh5vziaTF8NQWfv9HArm2kAQkLhcky744hMqjf1hk= +-github.com/aws/aws-sdk-go-v2/service/synthetics v1.27.1 h1:VT8+zI6vrFe18+tsUqL0mHybxqaHNfFBiAofQBsxdTU= +-github.com/aws/aws-sdk-go-v2/service/synthetics v1.27.1/go.mod h1:teVP9pI4M4wmnulxrsT2YAkDbrkdFrfiAHvzjwgItdY= +-github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.3.2 h1:KmNAKOcI2v/Tt91rOACTR+HBYTuYDtDKnME09cuHBIQ= +-github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.3.2/go.mod h1:w/GSXDm16Biw4jFzXXr0BoLLgbLs9iEso0kBlj2vcKY= +-github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.27.7 h1:RsnaiuJyE7VD2oAdZWqjYbSnhg562hs7N+8KOBkbT8M= +-github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.27.7/go.mod h1:b1Vq5jc+FTVQ2Xj/ELJbeivWB87Md6yBfWMCftvav7Y= +-github.com/aws/aws-sdk-go-v2/service/transcribe v1.39.7 h1:SKnIqxwaUHVrk1/OZxy1pN8ZQUMWBLw/mm/CI7VrOMM= +-github.com/aws/aws-sdk-go-v2/service/transcribe v1.39.7/go.mod h1:VlP1DtljVvBSDiQ5FSxPPlwiD/Yykp2M6L2W4nnZbGA= +-github.com/aws/aws-sdk-go-v2/service/transfer v1.50.7 h1:sb+VsjVoh65H824CvLP/CoT8B6FIlUOqJA61E61F6Cc= +-github.com/aws/aws-sdk-go-v2/service/transfer v1.50.7/go.mod h1:XYGn6B3Hwb1kxF+dAnPhUmZdTUOwEQJDNxVE73tpRnc= +-github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.17.7 h1:1zLYrijPJeJ9BkrfRaC8xvoeo5Mlyyjgnt289MVb2eg= +-github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.17.7/go.mod h1:/il6CcYy1TceX8GhBT8qbEUiqIGP/R+OvlztiT8OMEw= +-github.com/aws/aws-sdk-go-v2/service/vpclattice v1.10.8 h1:96D/oPsLeaiI5iIxcGq6lVmyFwKJiGnP5Ripncyrt7o= +-github.com/aws/aws-sdk-go-v2/service/vpclattice v1.10.8/go.mod h1:0Ob15Jwh3IuF8Bo3BtPqwYzSzg6CLhuGOuDb/YRQYCA= +-github.com/aws/aws-sdk-go-v2/service/waf v1.23.7 h1:Mn6y55lRanGqE9nC5o6T/9hdxWcDt4vymCeCTi4eA6o= +-github.com/aws/aws-sdk-go-v2/service/waf v1.23.7/go.mod h1:2XegKHMpdkoinGtOkwg56o+yICOFXZ5f8wMwfp8AZ/k= +-github.com/aws/aws-sdk-go-v2/service/wafregional v1.23.7 h1:VxdPqEaapMDhirfdDPuMSz/cPVzL4bWRqgIWMA1Hvtg= +-github.com/aws/aws-sdk-go-v2/service/wafregional v1.23.7/go.mod h1:UO0eTOgXrGuaOevcrZmds9eh+NvHOu3J4PMMkt869mc= +-github.com/aws/aws-sdk-go-v2/service/wafv2 v1.52.3 h1:10fpCAetk3SIp+DipAyKhEP9EhdJn4vObeeZfFS15f4= +-github.com/aws/aws-sdk-go-v2/service/wafv2 v1.52.3/go.mod h1:LGwkLWTFrgAA0gZJuQ4q/+qx4QdHtaXEjjpGHkBriNw= +-github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.32.7 h1:ZWPNrm0CnMbJAaDKhRbQaNhQ5eIqiVduN6AZPynkkDE= +-github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.32.7/go.mod h1:kx/rD62XQoHz4BgBpJ3I0jdJUvFtBo7dtZIzNPv7UOY= +-github.com/aws/aws-sdk-go-v2/service/worklink v1.22.7 h1:QnIzRTb57UVRhmDOJ8djNl9AJcMD1uaMrzAITecgwq8= +-github.com/aws/aws-sdk-go-v2/service/worklink v1.22.7/go.mod h1:WMs7M0tobcmvcT9i3a+mIU0XjjNGNvqbvdYBiMtxIkA= +-github.com/aws/aws-sdk-go-v2/service/workspaces v1.46.4 h1:smKZiFGDU6PNYwRQNv9nTVAYPM8kOsjrV5HCbqi7elo= +-github.com/aws/aws-sdk-go-v2/service/workspaces v1.46.4/go.mod h1:ryyAZfOjaiSw2Jhcrih4Tlio4vCBhjYAFts4FHGdRMk= +-github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.21.8 h1:0t40VnvGmkaS2dH/Mxf8ebsGqs8G/KPIvarII0N+kEY= +-github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.21.8/go.mod h1:wJ4LDnmIwBXylODaeYe38Bn+7cz3A31VqASyX0yO8WA= +-github.com/aws/aws-sdk-go-v2/service/xray v1.27.8 h1:K1Tn6HAye76wNYWdKRCs/OjREiQorIsjZNNJIRPmQy0= +-github.com/aws/aws-sdk-go-v2/service/xray v1.27.8/go.mod h1:JrEQI29ArLt7n+/i6/mWmUawN8ac2O+/xV8739EpnPs= +github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4 h1:2fwqaGPD7PKUYKLqeoyEiqYykZE9c/WxuVLUOdPmbEo= +github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4/go.mod h1:IcjocBWL1l0Z1RiLycZYvSGSSbFiZlOxn/ZWt8Pin9E= +github.com/aws/aws-sdk-go-v2/service/polly v1.42.4 h1:aFD49SdTdSj5Mqijyw9g3pkX8BlB4uY9PUQutouOZCA= @@ -1324,46 +1511,8 @@ index 966c7df257..cfa521aa50 100644 +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.10.3/go.mod h1:Pv7rG+8I3W5+tH3J9sUSTr1YSyppDfp6xpW4n39eUxM= +github.com/aws/aws-sdk-go-v2/service/qldb v1.23.4 h1:71m+NvWv63AnrzLpLnLwKs6OlpeJ0g/y+IYInc/V3QI= +github.com/aws/aws-sdk-go-v2/service/qldb v1.23.4/go.mod h1:E6pzF6rAtAfRz2IE1hRho83lQx17IUQGLCrfgS2+s6U= - github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.2 h1:zCXkriVKkUdplraYneawNPsEUe71CKOLHq4HJ6+fYxo= - github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.2/go.mod h1:f6e2kXac6YYk9f51LW3TwcQk27Y2OF8O68wNxU8WRFU= --github.com/aws/aws-sdk-go-v2/service/ram v1.27.7 h1:nUMqIhGe4dkhwxjGWsy3ORaip28HzS/DYOfo3xGfoCQ= --github.com/aws/aws-sdk-go-v2/service/ram v1.27.7/go.mod h1:BTnZifpF2qLdpX4pxH/v8N6TbbwKWxPqcW5cACFM/Vw= --github.com/aws/aws-sdk-go-v2/service/rbin v1.18.7 h1:/pkTZ4ffFV8qBo1d81uyy/x1NZXL9bk+Fw0tI7k/6lk= --github.com/aws/aws-sdk-go-v2/service/rbin v1.18.7/go.mod h1:olqOgzq5EXmaDtca5gUsKF0YBIZHkduQhHM8rp+EBr0= --github.com/aws/aws-sdk-go-v2/service/rds v1.82.4 h1:Go6suRegLmIpQiuiTNyUUyxYrhzbrliD9wD0ZN65hlQ= --github.com/aws/aws-sdk-go-v2/service/rds v1.82.4/go.mod h1:zNFNa99yH2j3zzqZgt3Atu197K1UkE+1sfigpi5+eWo= --github.com/aws/aws-sdk-go-v2/service/redshift v1.46.8 h1:UBqd0JhsXpCDUf/7ulfzYTx4t+OoJ/iOT7+RefurHis= --github.com/aws/aws-sdk-go-v2/service/redshift v1.46.8/go.mod h1:UdcfC9kA4bn3cdUdFYVCeXZcoPka6WNzbYyRAX/Vpy0= --github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.28.2 h1:oNarSIarQfMAZHeUhD2JOkdEpPfUFfoPKmb1GBK17Kc= --github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.28.2/go.mod h1:9HLbgBikxAqW0V3Q8eQMQvoW1XRq0J7TjqYe8Lpiwx4= --github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.4 h1:RHyWeAgzmY1s3dx7Up+YsfHykKxl/D+7KcTers3AnBY= --github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.4/go.mod h1:ZXoTEWC4VFDJWtZ/4QuHyNQgWDHQPQGfze+aydxWauQ= --github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.5 h1:GmkF6zB25oCH/hCTF8V0D/s8ITE0K0sPStSFC+jdKpI= --github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.5/go.mod h1:yG6PPqzjojOm+Sn/cnHMTP+j7Kx15cLhREpxqFUYCDU= --github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.24.3 h1:w6bYHlrjCeixjigkd2x0upNeuQzhTNTBMa2rVNMmy4I= --github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.24.3/go.mod h1:RPEXZY4f0MClpnnb9z/pgKnnUHYt2topI5mbEcwNfoM= --github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.6 h1:DTTEJKA4NvnBQTp36tYt7gV6J+COgAxSoGWWHEFANhM= --github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.6/go.mod h1:mPri2BbgNENJpiIj1Acg3N9LS/FKwtTRjj2JuFbIpZQ= --github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.24.7 h1:L5TlS0lM0lnRvzYOYciv8IL7d3DrYx7xaG2H7YfjaH8= --github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.24.7/go.mod h1:HdwqSeisRsGJeBYZ7hKeSyRbEUa8VQymBo7VrG5SftY= --github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.23.7 h1:yxldeuXX5/aSHGVf0hLVqm0Wq8m5EJGZmKe4v+Fj4iA= --github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.23.7/go.mod h1:nwLFeYGy+Vd3tjKUpdeBV/i0ccgDDRIE/8ra/uUgOi4= --github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.14.3 h1:s4MyzNvff0A8rvsDuzpxBtqJPUDrlcYqukQHmR8D25I= --github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.14.3/go.mod h1:LA/kP5T+tv5b+c9V9rOK2IjrY1Rinvz0z3mv7U8uLEA= --github.com/aws/aws-sdk-go-v2/service/route53 v1.43.2 h1:957e1/SwXIfPi/0OUJkH9YnPZRe9G6Kisd/xUhF7AUE= --github.com/aws/aws-sdk-go-v2/service/route53 v1.43.2/go.mod h1:343vcjcyOTuHTBBgUrOxPM36/jE96qLZnGL447ldrB0= --github.com/aws/aws-sdk-go-v2/service/route53domains v1.25.6 h1:bZhgkE20ADw0wrPvUtU3oYq8wa/Zv1FdwnNEWircjsM= --github.com/aws/aws-sdk-go-v2/service/route53domains v1.25.6/go.mod h1:JEql2FZJWlG7D+eJhKUTa0prZ+XVrCgQxIU4y0Up+So= --github.com/aws/aws-sdk-go-v2/service/route53profiles v1.2.6 h1:wrvBgknl+DcbvF+anR0MpNxEVIp/FH5oOksg1UaGSpY= --github.com/aws/aws-sdk-go-v2/service/route53profiles v1.2.6/go.mod h1:NVNxvMuZWnu00ZP+Qt9Ctn9/+7tWx3XuFZ3w0ZhsRWY= --github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.23.6 h1:IqfoMf7lH/hUkfb3327+dMz1GC+q/CMQfV+SrP/2lfk= --github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.23.6/go.mod h1:u4oMC5p7+ADFCAUi7XKSt/4qicvsm3C8IAT1Rhv9HsE= --github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.19.6 h1:gLXWGcQNAPHehqY26hKsp7hkBtdQN9RtxQa429Rwte0= --github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.19.6/go.mod h1:VewKW9SIgXeO7n8gAYUprOPlmsEK7t0xr/NqpTp/wFw= --github.com/aws/aws-sdk-go-v2/service/route53resolver v1.30.8 h1:o7tdUJxsrIAecxRAiUNMRXOorJKtItmgLRgFkHw5/gY= --github.com/aws/aws-sdk-go-v2/service/route53resolver v1.30.8/go.mod h1:9B3sfWrHSFv5DKs51yrZpTRt/lNWfsz1kYLtVs1jjSE= --github.com/aws/aws-sdk-go-v2/service/rum v1.19.6 h1:zbi+oN+jv6PAKpWkAqlsl86fZmuas3k3cyNabIKii6Y= --github.com/aws/aws-sdk-go-v2/service/rum v1.19.6/go.mod h1:UrDJSWJJBZEBFcqSkvzWkTxjgFPmHlUF9TTjNUf3rzc= ++github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.2 h1:zCXkriVKkUdplraYneawNPsEUe71CKOLHq4HJ6+fYxo= ++github.com/aws/aws-sdk-go-v2/service/quicksight v1.71.2/go.mod h1:f6e2kXac6YYk9f51LW3TwcQk27Y2OF8O68wNxU8WRFU= +github.com/aws/aws-sdk-go-v2/service/ram v1.27.4 h1:/Dq1qVV1GzFvjs5Lz9kE1d03XeiEI+JFzqHtwmnSAx8= +github.com/aws/aws-sdk-go-v2/service/ram v1.27.4/go.mod h1:TWkXQo8ew7pyPtytLlHIL8meywY2lOJk6QdC8zmBD/8= +github.com/aws/aws-sdk-go-v2/service/rbin v1.18.4 h1:oUAgSPugpGNhLsVruLMq7FBHq5DgQzokIh1xfgGB3Ro= @@ -1402,46 +1551,8 @@ index 966c7df257..cfa521aa50 100644 +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.30.4/go.mod h1:nYjNCxhMB3EnfqEZFTqFJ/SmT28TrobM4kx50RuI/ng= +github.com/aws/aws-sdk-go-v2/service/rum v1.19.4 h1:FOIxk29IdEuDQ/OExisyB/j2Gs27+rErI7F2cWQOLv8= +github.com/aws/aws-sdk-go-v2/service/rum v1.19.4/go.mod h1:bdprjbQtxZ1HgvXeDfVzw17CerK0+YCRlDiKGLXIsgU= - github.com/aws/aws-sdk-go-v2/service/s3 v1.61.2 h1:Kp6PWAlXwP1UvIflkIP6MFZYBNDCa4mFCGtxrpICVOg= - github.com/aws/aws-sdk-go-v2/service/s3 v1.61.2/go.mod h1:5FmD/Dqq57gP+XwaUnd5WFPipAuzrf0HmupX27Gvjvc= --github.com/aws/aws-sdk-go-v2/service/s3control v1.47.0 h1:LUJIod/jbbvUYYYRk6totbXDZEFwztHgWxLdHLkFcjM= --github.com/aws/aws-sdk-go-v2/service/s3control v1.47.0/go.mod h1:5rTK8mtR2HvjZ2G9ebpJdaQmLgnme43M0nr6iG7d1cc= --github.com/aws/aws-sdk-go-v2/service/s3outposts v1.26.6 h1:oFNk5j1T4ibIUSCO2ooBLZJpeXXqF8PnDO0++0esvd0= --github.com/aws/aws-sdk-go-v2/service/s3outposts v1.26.6/go.mod h1:M+fYY5ITWtBj9JWpy7qk8MrZ3hZ+3IElypnuhcbHqx0= --github.com/aws/aws-sdk-go-v2/service/sagemaker v1.157.0 h1:Gne9792ilm9SAexGAlbsCFK2Ffcu2lO8VnEphOaxMjw= --github.com/aws/aws-sdk-go-v2/service/sagemaker v1.157.0/go.mod h1:xU5CLeB+kOnZ5G1I5/sMNvyI9Ogz6av2lgrT76nZHXQ= --github.com/aws/aws-sdk-go-v2/service/scheduler v1.10.6 h1:PGgLhOPWIPkef3PU+zNnPj2tdO3yRg42HUsEOb9yPtw= --github.com/aws/aws-sdk-go-v2/service/scheduler v1.10.6/go.mod h1:MlNx35QVGG8TB2x1kOC0TKd9e93+RmFUE8HzYDLDLso= --github.com/aws/aws-sdk-go-v2/service/schemas v1.26.6 h1:c3/OQf5NFBer6sM5IcEYHiFrCYr/YVTw12bRPc5Qd3k= --github.com/aws/aws-sdk-go-v2/service/schemas v1.26.6/go.mod h1:yQPYNOTbanRoY+vqQw6iKPn4wRskNbph1WNyamdKCyg= --github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.8 h1:HNXhQReFG2fbucvPRxDabbIGQf/6dieOfTnzoGPEqXI= --github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.8/go.mod h1:BYr9P/rrcLNJ8A36nT15p8tpoVDZ5lroHuMn/njecBw= --github.com/aws/aws-sdk-go-v2/service/securityhub v1.52.4 h1:I6H0CVDrwqQP6CtBsaaLgK/43H6UWgAlPId0zid5oks= --github.com/aws/aws-sdk-go-v2/service/securityhub v1.52.4/go.mod h1:TccpGcVXrED4xcLhtYFs5qHJEzL8qXCCoQj+TDosCxQ= --github.com/aws/aws-sdk-go-v2/service/securitylake v1.16.6 h1:HnTZSrANPpR8JsqvcIeXjamYIq5nl/R10G/N7NheYFM= --github.com/aws/aws-sdk-go-v2/service/securitylake v1.16.6/go.mod h1:dzjmZN3T7eA/7NjEY6YfLvmBB59nplFzB35ylmbY4NU= --github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.22.7 h1:Xi5yE3BadfQ3NmNtG4gsZ9NRKxItVbgqrzW/vWkVQos= --github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.22.7/go.mod h1:GGakjHMB2drDmWmzohN/u/nxCt91574Di6aFUseaAVQ= --github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.30.6 h1:thXxsJ62yLnckKp1fvr6vemMEgE212Xo+Ze7eRs81io= --github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.30.6/go.mod h1:orlIM5DB1+KVQwFgxRYvO0dlPqa4Z/XX6WeCfqDkt2s= --github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.28.6 h1:y02fkH+D+rLgf9TNuw3aSaGP4/fQHetKpz7VjYij0mI= --github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.28.6/go.mod h1:m3Rj1F8GFvbAlQT4LwQIewX9Ojj+vXX0BAMbhSNVPzs= --github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.7 h1:mHdnEFOQ0JVjsbjHGqkuE0pmEpnk/aWz8YxyyB4e2+E= --github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.7/go.mod h1:JsD+G3R0ZMWqjt7VDggNsc5SFl4hw+Sk8KQaRN1sltI= --github.com/aws/aws-sdk-go-v2/service/servicequotas v1.23.7 h1:uem70pYhFt2CkhUWIiOys4Nk5zNRVYDEBuoWnuOCM68= --github.com/aws/aws-sdk-go-v2/service/servicequotas v1.23.7/go.mod h1:Mj9BbPUqXHUD+LaY7GZ9+OSn6kO8MozZGv41/2S0BFo= --github.com/aws/aws-sdk-go-v2/service/ses v1.26.2 h1:hGWgo0Ckz68QbnzET2ZlirsgIhSwa055Nlhbosr2944= --github.com/aws/aws-sdk-go-v2/service/ses v1.26.2/go.mod h1:PS2N1JNb+LsgIQA7Iu8PyoXWOUC5HAbt3esVYzWdVEg= --github.com/aws/aws-sdk-go-v2/service/sesv2 v1.33.2 h1:aYiZpCyVxmQSdWdbwyL2215Lzfm/h3UIdPozX1cirm0= --github.com/aws/aws-sdk-go-v2/service/sesv2 v1.33.2/go.mod h1:OQqMYY/a4+E+cZsZyaXNqM23vODOgCyRMG3WRYxUnqc= --github.com/aws/aws-sdk-go-v2/service/sfn v1.31.2 h1:iup9+EgS++bWOyG5wx4rjnsfnCAv+xpqQdTsG61rUS8= --github.com/aws/aws-sdk-go-v2/service/sfn v1.31.2/go.mod h1:ae7mWKnnn7j/l9Egr8HaUg9hsn6b4jIS7eryh3nqkLg= --github.com/aws/aws-sdk-go-v2/service/shield v1.27.6 h1:uk6DxAkxlcuiCNrKsUEI6QOGUCXB8HOjMwcQNNSnWBU= --github.com/aws/aws-sdk-go-v2/service/shield v1.27.6/go.mod h1:6vpeffPxOOCXeYbfN9VQ4YkezaSfO8DZcJGgoweQGPs= --github.com/aws/aws-sdk-go-v2/service/signer v1.24.6 h1:0AZDjCrbzXD3pride4Nyis+7FOiiscot8+uHrqaMY0U= --github.com/aws/aws-sdk-go-v2/service/signer v1.24.6/go.mod h1:JtAWXrX+4ZDxy2xBP0MmC80+Q/tHkU4MGetpcsTIKjo= --github.com/aws/aws-sdk-go-v2/service/sns v1.31.7 h1:3MWDVQ1pS3e/S4ADKg+mMETqIbOuQDY9FqH7XCb5ISA= --github.com/aws/aws-sdk-go-v2/service/sns v1.31.7/go.mod h1:wjhxA9hlVu75dCL/5Wcx8Cwmszvu6t0i8WEDypcB4+s= ++github.com/aws/aws-sdk-go-v2/service/s3 v1.61.2 h1:Kp6PWAlXwP1UvIflkIP6MFZYBNDCa4mFCGtxrpICVOg= ++github.com/aws/aws-sdk-go-v2/service/s3 v1.61.2/go.mod h1:5FmD/Dqq57gP+XwaUnd5WFPipAuzrf0HmupX27Gvjvc= +github.com/aws/aws-sdk-go-v2/service/s3control v1.46.4 h1:w8i47heyQSv0gNy34TuW2/RJgizvFWUBi2tD6d/m5Ik= +github.com/aws/aws-sdk-go-v2/service/s3control v1.46.4/go.mod h1:X0UNddpS5rWWrPKEMGGnVPqeFiaHZWs276CrCLiCTQA= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.26.4 h1:hBa2bDiI88EpC+TzuUvEIZhFkkL2v/zHGBicA4yolVE= @@ -1480,16 +1591,8 @@ index 966c7df257..cfa521aa50 100644 +github.com/aws/aws-sdk-go-v2/service/signer v1.24.4/go.mod h1:e2eA2NfmOL2k7BDY4d+qOideIxsR0mwMx/4uMAD/Or0= +github.com/aws/aws-sdk-go-v2/service/sns v1.31.4 h1:Bwb1nTBy6jrLJgSlI+jLt27rjyS1Kg030X5yWPnTecI= +github.com/aws/aws-sdk-go-v2/service/sns v1.31.4/go.mod h1:wDacBq+NshhM8KhdysbM4wRFxVyghyj7AAI+l8+o9f0= - github.com/aws/aws-sdk-go-v2/service/sqs v1.34.8 h1:t3TzmBX0lpDNtLhl7vY97VMvLtxp/KTvjjj2X3s6SUQ= - github.com/aws/aws-sdk-go-v2/service/sqs v1.34.8/go.mod h1:zn0Oy7oNni7XIGoAd6bHBTVtX06OrnpvT1kww8jxyi8= --github.com/aws/aws-sdk-go-v2/service/ssm v1.52.8 h1:7cjN4Wp3U3cud17TsnUxSomTwKzKQGUWdq/N1aWqgMk= --github.com/aws/aws-sdk-go-v2/service/ssm v1.52.8/go.mod h1:nUSNPaG8mv5rIu7EclHnFqZOjhreEUwRKENtKTtJ9aw= --github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.24.6 h1:U+NM7FiKYqQVo8vKn6js6L6iY6+XItQCZTz0mpVAbek= --github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.24.6/go.mod h1:ErlGR2/HgpkAaMsxjoGolPNEQAqbAaOPX41GquDwH5Y= --github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.32.6 h1:EExH9r6a4fyInw+fKR9lJXrrqUyNSwmVzdx7WdcJp3Q= --github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.32.6/go.mod h1:X8f2Z8KgT3QA9MbNgvS0We5mDIV6ck///1dgB/FFRnk= --github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.2 h1:LQPNKQCi4HcW2yJ/tnQnx/r784h9DWGcUBrsqLlQMXY= --github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.2/go.mod h1:/h15THbnzc13Z5nza7r0aEFVOcKC2qRk7vb8Kk0+3mE= ++github.com/aws/aws-sdk-go-v2/service/sqs v1.34.8 h1:t3TzmBX0lpDNtLhl7vY97VMvLtxp/KTvjjj2X3s6SUQ= ++github.com/aws/aws-sdk-go-v2/service/sqs v1.34.8/go.mod h1:zn0Oy7oNni7XIGoAd6bHBTVtX06OrnpvT1kww8jxyi8= +github.com/aws/aws-sdk-go-v2/service/ssm v1.52.5 h1:eY1n+pyBbgqRBRnpVUg0QguAGMWVLQp2n+SfjjOJuQI= +github.com/aws/aws-sdk-go-v2/service/ssm v1.52.5/go.mod h1:Bw2YSeqq/I4VyVs9JSfdT9ArqyAbQkJEwj13AVm0heg= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.24.4 h1:VJC0D1rgwZEA7sI6B4e41TBdjKmAb/IiLKB5LsiHVw8= @@ -1498,52 +1601,16 @@ index 966c7df257..cfa521aa50 100644 +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.32.4/go.mod h1:eaGj2hqxtnM4M3b2JTOdJbiFMr0O5Vjksi+gIPmi2O0= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.0 h1:y3IzlPKfVZzbFKmX6rOzjissOOBr0iU4BH5X5q78Hv0= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.16.0/go.mod h1:c3LLUtOihqJn++BtmSzf2xjyt1cMCNAJMBP0IMXHVRE= - github.com/aws/aws-sdk-go-v2/service/sso v1.22.7 h1:pIaGg+08llrP7Q5aiz9ICWbY8cqhTkyy+0SHvfzQpTc= - github.com/aws/aws-sdk-go-v2/service/sso v1.22.7/go.mod h1:eEygMHnTKH/3kNp9Jr1n3PdejuSNcgwLe1dWgQtO0VQ= --github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.7 h1:QbgyfWUp+wHsGGsJfDH/B2xtQ4o1meqgkRY8iJcBlvk= --github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.7/go.mod h1:4UPEDJSxIkfUEOi5aBMkkyG8SIb8PXMbEGKNnA1qCgg= ++github.com/aws/aws-sdk-go-v2/service/sso v1.22.7 h1:pIaGg+08llrP7Q5aiz9ICWbY8cqhTkyy+0SHvfzQpTc= ++github.com/aws/aws-sdk-go-v2/service/sso v1.22.7/go.mod h1:eEygMHnTKH/3kNp9Jr1n3PdejuSNcgwLe1dWgQtO0VQ= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.5 h1:E1FPa9xEDKEMcKsRrZ/wuonFwrtVJ2ZyDS+nVFliZPg= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.27.5/go.mod h1:vts2iEAgM9gsyWx5c1z6db/Kw5WBKKoZBb65JfW3YR8= - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.7 h1:/Cfdu0XV3mONYKaOt1Gr0k1KvQzkzPyiKUdlWJqy+J4= - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.7/go.mod h1:bCbAxKDqNvkHxRaIMnyVPXPo+OaPRwvmgzMxbz1VKSA= --github.com/aws/aws-sdk-go-v2/service/storagegateway v1.31.6 h1:oRQPDo+k/ipPnynqfRCOOvo2ongHbMS6B9v2Rp2x3R8= --github.com/aws/aws-sdk-go-v2/service/storagegateway v1.31.6/go.mod h1:DMpqLTXDFFABHttF2PZ6uZwB1JFgQh1Zs9rBvbdXYn8= ++github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.7 h1:/Cfdu0XV3mONYKaOt1Gr0k1KvQzkzPyiKUdlWJqy+J4= ++github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.7/go.mod h1:bCbAxKDqNvkHxRaIMnyVPXPo+OaPRwvmgzMxbz1VKSA= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.31.4 h1:1jVRBgclr7cpeLiIs348kKXobvVjdlbHfVYM40Y/Bv0= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.31.4/go.mod h1:WmqcvGd10eSVYIjcQYmBmk/tcIoCaxGtUHA1J1hSZvQ= - github.com/aws/aws-sdk-go-v2/service/sts v1.30.7 h1:NKTa1eqZYw8tiHSRGpP0VtTdub/8KNk8sDkNPFaOKDE= - github.com/aws/aws-sdk-go-v2/service/sts v1.30.7/go.mod h1:NXi1dIAGteSaRLqYgarlhP/Ij0cFT+qmCwiJqWh/U5o= --github.com/aws/aws-sdk-go-v2/service/swf v1.25.7 h1:+8WxyH1s++x3eVm+knHwcxz9VpZHYz26GN9iWlqkx0M= --github.com/aws/aws-sdk-go-v2/service/swf v1.25.7/go.mod h1:1RWh5vziaTF8NQWfv9HArm2kAQkLhcky744hMqjf1hk= --github.com/aws/aws-sdk-go-v2/service/synthetics v1.26.8 h1:1llOWrn9QpPQ9nyLwPmwo00yMcliJnKf2rHQL4quQgk= --github.com/aws/aws-sdk-go-v2/service/synthetics v1.26.8/go.mod h1:teVP9pI4M4wmnulxrsT2YAkDbrkdFrfiAHvzjwgItdY= --github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.3.1 h1:Qh/6lnq0y9rDQgiKK5yZ1Dc7cCHTeV5XVI319IZgOZA= --github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.3.1/go.mod h1:w/GSXDm16Biw4jFzXXr0BoLLgbLs9iEso0kBlj2vcKY= --github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.27.6 h1:AQY8xJn+N2DtQByheVp3n9wNgqhsw4n9G9947tYmcsM= --github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.27.6/go.mod h1:b1Vq5jc+FTVQ2Xj/ELJbeivWB87Md6yBfWMCftvav7Y= --github.com/aws/aws-sdk-go-v2/service/transcribe v1.39.6 h1:3wsgpORNcwKonkZvg7xuXN9frx/5zbCDGyPDmzcbVbs= --github.com/aws/aws-sdk-go-v2/service/transcribe v1.39.6/go.mod h1:VlP1DtljVvBSDiQ5FSxPPlwiD/Yykp2M6L2W4nnZbGA= --github.com/aws/aws-sdk-go-v2/service/transfer v1.50.6 h1:4MK4rVUIm96+xDNN2lgPhZvDzU/ctCEKtYjcKZkoym4= --github.com/aws/aws-sdk-go-v2/service/transfer v1.50.6/go.mod h1:XYGn6B3Hwb1kxF+dAnPhUmZdTUOwEQJDNxVE73tpRnc= --github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.17.6 h1:OALTvlqxlJysbfpPN02yEaQbq+i0mupm14m28IadjXs= --github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.17.6/go.mod h1:/il6CcYy1TceX8GhBT8qbEUiqIGP/R+OvlztiT8OMEw= --github.com/aws/aws-sdk-go-v2/service/vpclattice v1.10.7 h1:A2KdmihpqjQGURGLXmbWadsiyp6DqL2+qCaQF3vruXk= --github.com/aws/aws-sdk-go-v2/service/vpclattice v1.10.7/go.mod h1:0Ob15Jwh3IuF8Bo3BtPqwYzSzg6CLhuGOuDb/YRQYCA= --github.com/aws/aws-sdk-go-v2/service/waf v1.23.6 h1:/1Nz2scHmrX8zOpEiXoQ+WQlXpRNlu+gIMpU42iZVws= --github.com/aws/aws-sdk-go-v2/service/waf v1.23.6/go.mod h1:2XegKHMpdkoinGtOkwg56o+yICOFXZ5f8wMwfp8AZ/k= --github.com/aws/aws-sdk-go-v2/service/wafregional v1.23.6 h1:5N0P/gXUNGNtaYoUPhS9ELUZb5cOc1iLSS3j2AjyKkQ= --github.com/aws/aws-sdk-go-v2/service/wafregional v1.23.6/go.mod h1:UO0eTOgXrGuaOevcrZmds9eh+NvHOu3J4PMMkt869mc= --github.com/aws/aws-sdk-go-v2/service/wafv2 v1.52.2 h1:UydPvVxzJYLrprhbJ/3YbpI+a51R0nOHHdayy4TZWWc= --github.com/aws/aws-sdk-go-v2/service/wafv2 v1.52.2/go.mod h1:LGwkLWTFrgAA0gZJuQ4q/+qx4QdHtaXEjjpGHkBriNw= --github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.32.6 h1:xOOseBrKK5Z0N05r1Nkb5fM4OHU3Np3hrhok0rb+7Kg= --github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.32.6/go.mod h1:kx/rD62XQoHz4BgBpJ3I0jdJUvFtBo7dtZIzNPv7UOY= --github.com/aws/aws-sdk-go-v2/service/worklink v1.22.6 h1:k700BwDgo91cxaGIKb5h9HsTZeK1F9yIq8dfFGWiCu8= --github.com/aws/aws-sdk-go-v2/service/worklink v1.22.6/go.mod h1:WMs7M0tobcmvcT9i3a+mIU0XjjNGNvqbvdYBiMtxIkA= --github.com/aws/aws-sdk-go-v2/service/workspaces v1.46.3 h1:srI1BO5HS8a/4XscriGqdihVznfK+XINCpiPogq8QtM= --github.com/aws/aws-sdk-go-v2/service/workspaces v1.46.3/go.mod h1:ryyAZfOjaiSw2Jhcrih4Tlio4vCBhjYAFts4FHGdRMk= --github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.21.7 h1:uAMy8pJvU7JuKlgDQ90sbhmOWa1aYURScqzrtwZrJu4= --github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.21.7/go.mod h1:wJ4LDnmIwBXylODaeYe38Bn+7cz3A31VqASyX0yO8WA= --github.com/aws/aws-sdk-go-v2/service/xray v1.27.7 h1:OLrWeFZITUtb39/AiWMd/gmqyqsppxEkJQMO2wYhGbM= --github.com/aws/aws-sdk-go-v2/service/xray v1.27.7/go.mod h1:JrEQI29ArLt7n+/i6/mWmUawN8ac2O+/xV8739EpnPs= ++github.com/aws/aws-sdk-go-v2/service/sts v1.30.7 h1:NKTa1eqZYw8tiHSRGpP0VtTdub/8KNk8sDkNPFaOKDE= ++github.com/aws/aws-sdk-go-v2/service/sts v1.30.7/go.mod h1:NXi1dIAGteSaRLqYgarlhP/Ij0cFT+qmCwiJqWh/U5o= +github.com/aws/aws-sdk-go-v2/service/swf v1.25.4 h1:TZ8i30MwDZybhMTTtSR6MfDRmq6IC1g0Yd+uYIu+U+M= +github.com/aws/aws-sdk-go-v2/service/swf v1.25.4/go.mod h1:friMlcMGTLFKOYtghIFILFGt/qXHugU3LVyb+ZZoUto= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.26.4 h1:fLZX6D2oTLqHqtq8D7d2zXhTB47c62Vb3BpFD+bdX8I= @@ -1587,7 +1654,7 @@ index 966c7df257..cfa521aa50 100644 github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -@@ -547,8 +548,9 @@ github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28 +@@ -549,8 +550,9 @@ github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28 github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/cedar-policy/cedar-go v0.1.0 h1:2tZwWn8tNO/896YAM7OQmH3vn98EeHEA3g9anwdVZvA= github.com/cedar-policy/cedar-go v0.1.0/go.mod h1:pEgiK479O5dJfzXnTguOMm+bCplzy5rEEFPGdZKPWz4= @@ -1599,7 +1666,7 @@ index 966c7df257..cfa521aa50 100644 github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -@@ -580,6 +582,7 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +@@ -582,6 +584,7 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/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= @@ -1607,7 +1674,7 @@ index 966c7df257..cfa521aa50 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= -@@ -591,6 +594,7 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek +@@ -593,6 +596,7 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -1615,22 +1682,24 @@ index 966c7df257..cfa521aa50 100644 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -@@ -598,10 +602,12 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +@@ -600,10 +604,12 @@ 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= +-github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.57 h1:++ihyKnXEQpLaTO41h+uzPk4kLIXaxR0HZZGXLlakQ4= +-github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.57/go.mod h1:MJshGrPcOrHU8wjLcKFdDKaIDRTySeawZLP+PEHzxos= +-github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.58 h1:LNr/F5F98P73dHjgTJLAqTHilRrtCP9QArtZ8TWXW0k= +-github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.58/go.mod h1:JWUJukOeq4SBjT+7Gc5cjoicQ1mDiceGWe7F9uWE4s0= +github.com/hashicorp/aws-sdk-go-base v1.1.0 h1:27urM3JAp6v+Oj/Ea5ULZwuFPK9cO1RUdEpV+rNdSAc= +github.com/hashicorp/aws-sdk-go-base v1.1.0/go.mod h1:2fRjWDv3jJBeN6mVWFHV6hFTNeFBx2gpDLQaZNxUVAY= - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.56 h1:Ox8WdpEBNU9YbEjbJvbGU5NqT3TQxICAvhUEGSgyldM= - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.56/go.mod h1:cr1HCixlKU5P/sXAluEaAEFpL/Kh43MVNSj3nHSYyo8= --github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.57 h1:AvTVuA4AESFNcaOhhQBZ1tfwHjbNcBD5AIRWwP9Yo4Q= --github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.57/go.mod h1:xg1f52P4DJEOrurFpp3Yn0fcKytOIgv99CDzqdcS++k= ++github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.56 h1:Ox8WdpEBNU9YbEjbJvbGU5NqT3TQxICAvhUEGSgyldM= ++github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.56/go.mod h1:cr1HCixlKU5P/sXAluEaAEFpL/Kh43MVNSj3nHSYyo8= +github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.56 h1:nIjih6ztAAKGLa/lFHgg1aWxF/rGMCb5XHQuVF/YS3o= +github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.56/go.mod h1:qTSEvF8eM/GJ2RKtTJgHwkaZvz+pwU5obcC7I5ZSunw= github.com/hashicorp/awspolicyequivalence v1.6.0 h1:7aadmkalbc5ewStC6g3rljx1iNvP4QyAhg2KsHx8bU8= github.com/hashicorp/awspolicyequivalence v1.6.0/go.mod h1:9IOaIHx+a7C0NfUNk1A93M7kHd5rJ19aoUx37LZGC14= github.com/hashicorp/cli v1.1.6 h1:CMOV+/LJfL1tXCOKrgAX0uRKnzjj/mpmqNXloRSy2K8= -@@ -621,8 +627,8 @@ github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVH +@@ -623,8 +629,8 @@ github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVH github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= @@ -1641,7 +1710,7 @@ index 966c7df257..cfa521aa50 100644 github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -@@ -632,8 +638,8 @@ github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKe +@@ -634,8 +640,8 @@ github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKe github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/hc-install v0.8.0 h1:LdpZeXkZYMQhoKPCecJHlKvUkQFixN/nvyR1CdfOLjI= github.com/hashicorp/hc-install v0.8.0/go.mod h1:+MwJYjDfCruSD/udvBmRB22Nlkwwkwf5sAB6uTIhSaU= @@ -1652,7 +1721,16 @@ index 966c7df257..cfa521aa50 100644 github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/terraform-exec v0.21.0 h1:uNkLAe95ey5Uux6KJdua6+cv8asgILFVWkd/RG0D2XQ= -@@ -665,8 +671,8 @@ github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv2 +@@ -644,6 +650,8 @@ github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7 + github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A= + github.com/hashicorp/terraform-plugin-framework v1.11.0 h1:M7+9zBArexHFXDx/pKTxjE6n/2UCXY6b8FIq9ZYhwfE= + github.com/hashicorp/terraform-plugin-framework v1.11.0/go.mod h1:qBXLDn69kM97NNVi/MQ9qgd1uWWsVftGSnygYG1tImM= ++github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 h1:b8vZYB/SkXJT4YPbT3trzE6oJ7dPyMy68+9dEDKsJjE= ++github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0/go.mod h1:tP9BC3icoXBz72evMS5UTFvi98CiKhPdXF6yLs1wS8A= + github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= + github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0/go.mod h1:p0phD0IYhsu9bR4+6OetVvvH59I6LwjXGnTVEr8ox6E= + github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= +@@ -667,8 +675,8 @@ github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv2 github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= @@ -1663,7 +1741,7 @@ index 966c7df257..cfa521aa50 100644 github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= -@@ -675,6 +681,7 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i +@@ -677,6 +685,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= @@ -1671,7 +1749,7 @@ index 966c7df257..cfa521aa50 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= -@@ -689,8 +696,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +@@ -691,8 +700,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -1682,7 +1760,7 @@ index 966c7df257..cfa521aa50 100644 github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -@@ -718,6 +725,7 @@ github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +@@ -720,6 +729,7 @@ github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= @@ -1690,7 +1768,7 @@ index 966c7df257..cfa521aa50 100644 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -@@ -726,6 +734,7 @@ github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXq +@@ -728,6 +738,7 @@ github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXq github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg= github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= @@ -1698,7 +1776,7 @@ index 966c7df257..cfa521aa50 100644 github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= -@@ -736,8 +745,8 @@ github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+D +@@ -738,8 +749,8 @@ github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+D github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -1709,15 +1787,41 @@ index 966c7df257..cfa521aa50 100644 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -@@ -785,6 +794,7 @@ golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= - golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +@@ -769,8 +780,8 @@ github.com/zclconf/go-cty v1.15.0 h1:tTCRWxsexYUmtt/wVxgDClUe+uQusuI443uL6e+5sXQ + github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= + github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= + github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= +-go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.55.0 h1:MnAevUB0SFfKALzF5ApgrArdvHZduRT3/e59L/lNYKE= +-go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.55.0/go.mod h1:MHPbT1EvQOZMGbKeuCovYWcyM9iaxcltRf7+GsU8ziE= ++go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.54.0 h1:By10h8DrrjRcZjy10wBEkRdwhe4kOFuNTfprm8RXQQk= ++go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.54.0/go.mod h1:EtfcBqee4PFJSl+TXvfhg8ADvLWGFXwwX7SYNHG/VGM= + go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= + go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= + go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= +@@ -783,10 +794,11 @@ golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4 + golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= + golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +-golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= +-golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= ++golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= ++golang.org/x/mod v0.20.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= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -@@ -833,14 +843,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T +@@ -828,21 +840,21 @@ golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= + golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= + golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= + golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +-golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE= +-golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg= ++golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= ++golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= + golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= + golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= @@ -1739,7 +1843,7 @@ index 966c7df257..cfa521aa50 100644 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/internal/conns/awsclient.go b/internal/conns/awsclient.go -index 665a6004d3..8f90fa3350 100644 +index c98bc7fc2f..b9d46d6765 100644 --- a/internal/conns/awsclient.go +++ b/internal/conns/awsclient.go @@ -101,6 +101,10 @@ func (c *AWSClient) S3UsePathStyle(context.Context) bool { @@ -1754,7 +1858,7 @@ index 665a6004d3..8f90fa3350 100644 config := client.S3Conn(ctx).Config config.DisableRestProtocolURICleaning = aws_sdkv2.Bool(true) diff --git a/internal/provider/provider.go b/internal/provider/provider.go -index d4a9465a4a..b3d6f48f7a 100644 +index e49e7ea69d..33d7ccbc3c 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -16,7 +16,6 @@ import ( diff --git a/patches/0042-securitylake_subscriber-tags_all-patch.patch b/patches/0042-securitylake_subscriber-tags_all-patch.patch index 53da43d89ef..6e7634a11df 100644 --- a/patches/0042-securitylake_subscriber-tags_all-patch.patch +++ b/patches/0042-securitylake_subscriber-tags_all-patch.patch @@ -5,7 +5,7 @@ Subject: [PATCH] securitylake_subscriber tags_all patch diff --git a/internal/service/securitylake/subscriber.go b/internal/service/securitylake/subscriber.go -index 3c067a1cd2..4a6f19d3de 100644 +index a1bbedb7eb..9b560564ef 100644 --- a/internal/service/securitylake/subscriber.go +++ b/internal/service/securitylake/subscriber.go @@ -99,7 +99,7 @@ func (r *subscriberResource) Schema(ctx context.Context, request resource.Schema diff --git a/patches/0043-Patch-tags-ComputedOnly-for-m2-resources.patch b/patches/0043-Patch-tags-ComputedOnly-for-m2-resources.patch index 43bdd66bb0d..78bc12a19dc 100644 --- a/patches/0043-Patch-tags-ComputedOnly-for-m2-resources.patch +++ b/patches/0043-Patch-tags-ComputedOnly-for-m2-resources.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Patch tags ComputedOnly for m2 resources diff --git a/internal/service/m2/application.go b/internal/service/m2/application.go -index 9cb3c5a5ec..e5ef8b37de 100644 +index 9aa103e5bb..c3b73b02de 100644 --- a/internal/service/m2/application.go +++ b/internal/service/m2/application.go @@ -105,7 +105,7 @@ func (r *applicationResource) Schema(ctx context.Context, request resource.Schem @@ -18,7 +18,7 @@ index 9cb3c5a5ec..e5ef8b37de 100644 Blocks: map[string]schema.Block{ "definition": schema.ListNestedBlock{ diff --git a/internal/service/m2/environment.go b/internal/service/m2/environment.go -index 1e2df154dc..c0c1dc7adc 100644 +index b279fc058c..1c77bdd439 100644 --- a/internal/service/m2/environment.go +++ b/internal/service/m2/environment.go @@ -174,7 +174,7 @@ func (r *environmentResource) Schema(ctx context.Context, request resource.Schem diff --git a/patches/0044-restore-ECRConn.patch b/patches/0044-restore-ECRConn.patch index 4771f73c097..3a5934f3c9c 100644 --- a/patches/0044-restore-ECRConn.patch +++ b/patches/0044-restore-ECRConn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] restore ECRConn diff --git a/internal/conns/awsclient_gen.go b/internal/conns/awsclient_gen.go -index e6bee2c15f..597970d6c4 100644 +index 5234acf441..a49d9eef68 100644 --- a/internal/conns/awsclient_gen.go +++ b/internal/conns/awsclient_gen.go -@@ -243,6 +243,7 @@ import ( +@@ -244,6 +244,7 @@ import ( workspaces_sdkv2 "github.com/aws/aws-sdk-go-v2/service/workspaces" workspacesweb_sdkv2 "github.com/aws/aws-sdk-go-v2/service/workspacesweb" xray_sdkv2 "github.com/aws/aws-sdk-go-v2/service/xray" @@ -16,7 +16,7 @@ index e6bee2c15f..597970d6c4 100644 imagebuilder_sdkv1 "github.com/aws/aws-sdk-go/service/imagebuilder" simpledb_sdkv1 "github.com/aws/aws-sdk-go/service/simpledb" "github.com/hashicorp/terraform-provider-aws/internal/errs" -@@ -581,6 +582,10 @@ func (c *AWSClient) EC2Client(ctx context.Context) *ec2_sdkv2.Client { +@@ -582,6 +583,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/0052-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch b/patches/0052-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch index 6857849e752..8a698fcff6e 100644 --- a/patches/0052-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch +++ b/patches/0052-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Patch tags ComputedOnly on bedrockagent and other modules diff --git a/internal/service/bcmdataexports/export.go b/internal/service/bcmdataexports/export.go -index d136307014..985e883628 100644 +index 18133c7439..ea9f2d088f 100644 --- a/internal/service/bcmdataexports/export.go +++ b/internal/service/bcmdataexports/export.go @@ -170,7 +170,7 @@ func (r *resourceExport) Schema(ctx context.Context, req resource.SchemaRequest, @@ -44,7 +44,7 @@ index 9c9bb20111..b0f767d142 100644 Blocks: map[string]schema.Block{ names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ diff --git a/internal/service/bedrockagent/knowledge_base.go b/internal/service/bedrockagent/knowledge_base.go -index 8ebb4da618..55e885fbc7 100644 +index d3d128d356..b34efeb8db 100644 --- a/internal/service/bedrockagent/knowledge_base.go +++ b/internal/service/bedrockagent/knowledge_base.go @@ -88,7 +88,7 @@ func (r *knowledgeBaseResource) Schema(ctx context.Context, request resource.Sch diff --git a/patches/0053-Fix-tags_all-Computed-for-aws_datazone_domain.patch b/patches/0053-Fix-tags_all-Computed-for-aws_datazone_domain.patch index 7012c718c10..13c39e93a03 100644 --- a/patches/0053-Fix-tags_all-Computed-for-aws_datazone_domain.patch +++ b/patches/0053-Fix-tags_all-Computed-for-aws_datazone_domain.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix tags_all Computed for aws_datazone_domain diff --git a/internal/service/datazone/domain.go b/internal/service/datazone/domain.go -index 9b3de4f3c4..3858d0f945 100644 +index 4331ce4396..e28275fd83 100644 --- a/internal/service/datazone/domain.go +++ b/internal/service/datazone/domain.go @@ -98,7 +98,7 @@ func (r *resourceDomain) Schema(ctx context.Context, req resource.SchemaRequest, diff --git a/patches/0056-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0056-Fix-tags_all-Computed-for-PF-resources.patch index 0b32ee3606d..597542b03d0 100644 --- a/patches/0056-Fix-tags_all-Computed-for-PF-resources.patch +++ b/patches/0056-Fix-tags_all-Computed-for-PF-resources.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix tags_all Computed for PF resources diff --git a/internal/service/paymentcryptography/key.go b/internal/service/paymentcryptography/key.go -index 9655aca986..a6d847cc79 100644 +index 0124fc8627..27f405de7c 100644 --- a/internal/service/paymentcryptography/key.go +++ b/internal/service/paymentcryptography/key.go @@ -117,7 +117,7 @@ func (r *resourceKey) Schema(ctx context.Context, request resource.SchemaRequest diff --git a/patches/0057-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0057-Fix-tags_all-Computed-for-PF-resources.patch index bf7648add95..dd6d11794c3 100644 --- a/patches/0057-Fix-tags_all-Computed-for-PF-resources.patch +++ b/patches/0057-Fix-tags_all-Computed-for-PF-resources.patch @@ -5,7 +5,7 @@ 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 1cae1f9ccb..6aaec63fa0 100644 +index 6e6ba29267..1f0e418e56 100644 --- a/internal/service/appfabric/app_authorization.go +++ b/internal/service/appfabric/app_authorization.go @@ -109,7 +109,7 @@ func (r *appAuthorizationResource) Schema(ctx context.Context, request resource. @@ -18,7 +18,7 @@ index 1cae1f9ccb..6aaec63fa0 100644 CustomType: timetypes.RFC3339Type{}, Computed: true, diff --git a/internal/service/appfabric/app_bundle.go b/internal/service/appfabric/app_bundle.go -index ff07e8c226..ce3471a78e 100644 +index 0c9af1db2d..e25fca4e4e 100644 --- a/internal/service/appfabric/app_bundle.go +++ b/internal/service/appfabric/app_bundle.go @@ -61,7 +61,7 @@ func (r *appBundleResource) Schema(ctx context.Context, request resource.SchemaR @@ -44,7 +44,7 @@ index d769858434..2c255a5dcc 100644 Computed: true, PlanModifiers: []planmodifier.String{ diff --git a/internal/service/fms/resource_set.go b/internal/service/fms/resource_set.go -index 2356f0fd2f..6c2bd69e2e 100644 +index 3f27edc87f..38b96593e8 100644 --- a/internal/service/fms/resource_set.go +++ b/internal/service/fms/resource_set.go @@ -105,7 +105,7 @@ func (r *resourceResourceSet) Schema(ctx context.Context, req resource.SchemaReq @@ -57,10 +57,10 @@ index 2356f0fd2f..6c2bd69e2e 100644 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 f8e400dd51..11804f171e 100644 +index f7b9d00088..eb1883c627 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 +@@ -87,7 +87,7 @@ func (r *resourceMalwareProtectionPlan) Schema(ctx context.Context, req resource Computed: true, }, names.AttrTags: tftags.TagsAttribute(), diff --git a/patches/0058-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0058-Fix-tags_all-Computed-for-PF-resources.patch index 68702cc845a..5289df9b0ab 100644 --- a/patches/0058-Fix-tags_all-Computed-for-PF-resources.patch +++ b/patches/0058-Fix-tags_all-Computed-for-PF-resources.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix tags_all Computed for PF resources diff --git a/internal/service/drs/replication_configuration_template.go b/internal/service/drs/replication_configuration_template.go -index c6a45a54c7..497d9ca099 100644 +index 976dba4ac1..648f2b5003 100644 --- a/internal/service/drs/replication_configuration_template.go +++ b/internal/service/drs/replication_configuration_template.go -@@ -104,7 +104,7 @@ func (r *replicationConfigurationTemplateResource) Schema(ctx context.Context, r +@@ -103,7 +103,7 @@ func (r *replicationConfigurationTemplateResource) Schema(ctx context.Context, r "staging_area_tags": tftags.TagsAttributeRequired(), names.AttrTags: tftags.TagsAttribute(), @@ -17,3 +17,42 @@ index c6a45a54c7..497d9ca099 100644 "use_dedicated_replication_server": schema.BoolAttribute{ Required: true, +diff --git a/internal/service/elasticache/reserved_cache_node.go b/internal/service/elasticache/reserved_cache_node.go +index 9716af3eb1..aa4dd11e76 100644 +--- a/internal/service/elasticache/reserved_cache_node.go ++++ b/internal/service/elasticache/reserved_cache_node.go +@@ -111,7 +111,7 @@ func (r *resourceReservedCacheNode) Schema(ctx context.Context, request resource + Computed: true, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + "usage_price": schema.Float64Attribute{ + Computed: true, + }, +diff --git a/internal/service/pinpointsmsvoicev2/opt_out_list.go b/internal/service/pinpointsmsvoicev2/opt_out_list.go +index 9ed0e93e62..ba7a696501 100644 +--- a/internal/service/pinpointsmsvoicev2/opt_out_list.go ++++ b/internal/service/pinpointsmsvoicev2/opt_out_list.go +@@ -62,7 +62,7 @@ func (r *optOutListResource) Schema(ctx context.Context, request resource.Schema + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + } + } +diff --git a/internal/service/pinpointsmsvoicev2/phone_number.go b/internal/service/pinpointsmsvoicev2/phone_number.go +index e68971a30d..68d4fd3447 100644 +--- a/internal/service/pinpointsmsvoicev2/phone_number.go ++++ b/internal/service/pinpointsmsvoicev2/phone_number.go +@@ -124,7 +124,7 @@ func (r *phoneNumberResource) Schema(ctx context.Context, request resource.Schem + Default: booldefault.StaticBool(false), + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + "two_way_channel_arn": schema.StringAttribute{ + CustomType: fwtypes.ARNType, + Optional: true, diff --git a/patches/0059-Patch-tags-ComputedOnly-for-appfabric-networkmonitor.patch b/patches/0059-Patch-tags-ComputedOnly-for-appfabric-networkmonitor.patch index 191e7b93893..249da36c374 100644 --- a/patches/0059-Patch-tags-ComputedOnly-for-appfabric-networkmonitor.patch +++ b/patches/0059-Patch-tags-ComputedOnly-for-appfabric-networkmonitor.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Patch tags ComputedOnly for appfabric, networkmonitor, diff --git a/internal/service/appfabric/ingestion.go b/internal/service/appfabric/ingestion.go -index 7ed84d218b..7f092e9590 100644 +index 5cffa7aa34..11d6d580e5 100644 --- a/internal/service/appfabric/ingestion.go +++ b/internal/service/appfabric/ingestion.go @@ -81,7 +81,7 @@ func (r *ingestionResource) Schema(ctx context.Context, request resource.SchemaR @@ -19,7 +19,7 @@ index 7ed84d218b..7f092e9590 100644 Required: true, Validators: []validator.String{ diff --git a/internal/service/appfabric/ingestion_destination.go b/internal/service/appfabric/ingestion_destination.go -index 08eae51ad4..d0b212ddda 100644 +index d2bed80052..4633226a66 100644 --- a/internal/service/appfabric/ingestion_destination.go +++ b/internal/service/appfabric/ingestion_destination.go @@ -85,7 +85,7 @@ func (r *ingestionDestinationResource) Schema(ctx context.Context, request resou @@ -32,7 +32,7 @@ index 08eae51ad4..d0b212ddda 100644 Blocks: map[string]schema.Block{ "destination_configuration": schema.ListNestedBlock{ diff --git a/internal/service/networkfirewall/tls_inspection_configuration.go b/internal/service/networkfirewall/tls_inspection_configuration.go -index e729b2a7b0..5f4ffe9901 100644 +index 713684155c..e99aa43c39 100644 --- a/internal/service/networkfirewall/tls_inspection_configuration.go +++ b/internal/service/networkfirewall/tls_inspection_configuration.go @@ -118,7 +118,7 @@ func (r *tlsInspectionConfigurationResource) Schema(ctx context.Context, request diff --git a/patches/0061-Patch-ComputedOnly-for-rekognition-stream_processor.patch b/patches/0061-Patch-ComputedOnly-for-rekognition-stream_processor.patch index 0a3aa6f5f90..84a335c9ae6 100644 --- a/patches/0061-Patch-ComputedOnly-for-rekognition-stream_processor.patch +++ b/patches/0061-Patch-ComputedOnly-for-rekognition-stream_processor.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Patch ComputedOnly for rekognition/stream_processor diff --git a/internal/service/rekognition/stream_processor.go b/internal/service/rekognition/stream_processor.go -index 62b7455109..54c88ea14e 100644 +index ee87c84573..9a730f5391 100644 --- a/internal/service/rekognition/stream_processor.go +++ b/internal/service/rekognition/stream_processor.go @@ -136,7 +136,7 @@ func (r *resourceStreamProcessor) Schema(ctx context.Context, req resource.Schem diff --git a/patches/0062-Patch-tags_all-Computed-for-chatbot-timestreaminflux.patch b/patches/0062-Patch-tags_all-Computed-for-chatbot-timestreaminflux.patch index b32532f4bdd..fea886e245e 100644 --- a/patches/0062-Patch-tags_all-Computed-for-chatbot-timestreaminflux.patch +++ b/patches/0062-Patch-tags_all-Computed-for-chatbot-timestreaminflux.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Patch tags_all Computed for chatbot, timestreaminfluxdb diff --git a/internal/service/chatbot/slack_channel_configuration.go b/internal/service/chatbot/slack_channel_configuration.go -index fb78922fbf..8480379fa2 100644 +index 06e5c259f3..a52d436e13 100644 --- a/internal/service/chatbot/slack_channel_configuration.go +++ b/internal/service/chatbot/slack_channel_configuration.go @@ -104,7 +104,7 @@ func (r *slackChannelConfigurationResource) Schema(ctx context.Context, request @@ -18,7 +18,7 @@ index fb78922fbf..8480379fa2 100644 Optional: true, Computed: true, diff --git a/internal/service/chatbot/teams_channel_configuration.go b/internal/service/chatbot/teams_channel_configuration.go -index 9088a2dc16..af4d94bef3 100644 +index ddfb41cfc6..3c986c63be 100644 --- a/internal/service/chatbot/teams_channel_configuration.go +++ b/internal/service/chatbot/teams_channel_configuration.go @@ -101,7 +101,7 @@ func (r *teamsChannelConfigurationResource) Schema(ctx context.Context, request @@ -31,7 +31,7 @@ index 9088a2dc16..af4d94bef3 100644 Required: true, }, diff --git a/internal/service/timestreaminfluxdb/db_instance.go b/internal/service/timestreaminfluxdb/db_instance.go -index 3a2328f8f5..76d7d519d8 100644 +index 9f97622504..baf1fae1b5 100644 --- a/internal/service/timestreaminfluxdb/db_instance.go +++ b/internal/service/timestreaminfluxdb/db_instance.go @@ -188,7 +188,7 @@ func (r *resourceDBInstance) Schema(ctx context.Context, req resource.SchemaRequ diff --git a/patches/0063-Patch-tags_all-computed-for-aws_rds_integration.patch b/patches/0063-Patch-tags_all-computed-for-aws_rds_integration.patch index aae7c053704..08da667b1b4 100644 --- a/patches/0063-Patch-tags_all-computed-for-aws_rds_integration.patch +++ b/patches/0063-Patch-tags_all-computed-for-aws_rds_integration.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Patch tags_all computed for aws_rds_integration diff --git a/internal/service/rds/integration.go b/internal/service/rds/integration.go -index ba17144173..09864f6cfb 100644 +index 8304fb4c06..c751c5ad19 100644 --- a/internal/service/rds/integration.go +++ b/internal/service/rds/integration.go @@ -100,7 +100,7 @@ func (r *integrationResource) Schema(ctx context.Context, request resource.Schem diff --git a/patches/0064-Adapt-gamelift-matchmaking-resources.patch b/patches/0064-Adapt-gamelift-matchmaking-resources.patch index 7e620797f5a..6b14c0eed10 100644 --- a/patches/0064-Adapt-gamelift-matchmaking-resources.patch +++ b/patches/0064-Adapt-gamelift-matchmaking-resources.patch @@ -614,14 +614,15 @@ index 4295987ae6..377b46816e 100644 return nil } diff --git a/names/data/names_data.hcl b/names/data/names_data.hcl -index 5e39e18d5b..7e52012afc 100644 +index 966398b368..1ba547e400 100644 --- a/names/data/names_data.hcl +++ b/names/data/names_data.hcl -@@ -4002,7 +4002,7 @@ service "fsx" { +@@ -3856,7 +3856,8 @@ service "fsx" { + service "gamelift" { sdk { - id = "GameLift" -- client_version = [2] +- id = "GameLift" ++ id = "GameLift" + client_version = [1, 2] } diff --git a/patches/0065-Patch-Tags-for-bedrock-and-pinpoint.patch b/patches/0065-Patch-Tags-for-bedrock-and-pinpoint.patch index 51f65a024fa..0dd78c16c9a 100644 --- a/patches/0065-Patch-Tags-for-bedrock-and-pinpoint.patch +++ b/patches/0065-Patch-Tags-for-bedrock-and-pinpoint.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Patch Tags for bedrock and pinpoint diff --git a/internal/service/bedrock/guardrail.go b/internal/service/bedrock/guardrail.go -index d21afe63e1..e2ccf6538b 100644 +index bf206322b9..d200b80002 100644 --- a/internal/service/bedrock/guardrail.go +++ b/internal/service/bedrock/guardrail.go @@ -119,7 +119,7 @@ func (r *resourceGuardrail) Schema(ctx context.Context, req resource.SchemaReque @@ -18,7 +18,7 @@ index d21afe63e1..e2ccf6538b 100644 Computed: true, PlanModifiers: []planmodifier.String{ diff --git a/internal/service/pinpoint/email_template.go b/internal/service/pinpoint/email_template.go -index 558c91fb3e..608f9b838c 100644 +index 327794f8e1..b186e9814a 100644 --- a/internal/service/pinpoint/email_template.go +++ b/internal/service/pinpoint/email_template.go @@ -63,7 +63,7 @@ func (r *resourceEmailTemplate) Schema(ctx context.Context, req resource.SchemaR From bce41f37e3540b2922446b9c3fea5b8f076b6ae2 Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:59:59 -0400 Subject: [PATCH 2/8] Move upstream to v5.68.0 --- upstream | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upstream b/upstream index c593821ffc1..430fafd3c81 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit c593821ffc1561d1ac7f2fbb61dc36d0356d30a4 +Subproject commit 430fafd3c81c4ad5d92a13849f22403914bf5c06 From 0cae7aeed9f157edb53cf2991a5e764d737aa912 Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:00:41 -0400 Subject: [PATCH 3/8] ./scripts/tidy-all.sh --- examples/go.mod | 3 ++- examples/go.sum | 6 ++++-- provider/go.mod | 3 ++- provider/go.sum | 6 ++++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/examples/go.mod b/examples/go.mod index 1edc3f861f1..a24921bdc6d 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -239,6 +239,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.4 // indirect github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2 // indirect github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9 // indirect github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4 // indirect github.com/aws/aws-sdk-go-v2/service/polly v1.42.4 // indirect github.com/aws/aws-sdk-go-v2/service/pricing v1.30.4 // indirect @@ -386,7 +387,7 @@ require ( github.com/hashicorp/terraform-exec v0.21.0 // indirect github.com/hashicorp/terraform-json v0.22.1 // indirect github.com/hashicorp/terraform-plugin-framework v1.12.0 // indirect - github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 // indirect + github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect github.com/hashicorp/terraform-plugin-framework-timetypes v0.5.0 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.13.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index 8d913baf53c..5a14545476d 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1603,6 +1603,8 @@ github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2 h1:+PSbd/wTgCueA9agqNNeSmVoOgcgA github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2/go.mod h1:acm3akB4exauzjZeKNonTwkxCPIdWT1LWLRM09eZP7c= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4 h1:2bJrgP5iz3yVzqVBGSL0UigyyJklo3xkYusu8cfJJOo= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4/go.mod h1:Y7+679QPvkNHVJZuVNdoGVUMViwbTsZn7HgOTxcB5lA= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9 h1:mnLwmW4bo8scdYo58rxEmpWfdpd+AKEKh9f+k8lWZxQ= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9/go.mod h1:Ek88Y1SlTvTDgX9L7DWUPfQIYtT++3eqK7cMK0TdW8Q= github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4 h1:2fwqaGPD7PKUYKLqeoyEiqYykZE9c/WxuVLUOdPmbEo= github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4/go.mod h1:IcjocBWL1l0Z1RiLycZYvSGSSbFiZlOxn/ZWt8Pin9E= github.com/aws/aws-sdk-go-v2/service/polly v1.42.4 h1:aFD49SdTdSj5Mqijyw9g3pkX8BlB4uY9PUQutouOZCA= @@ -2168,8 +2170,8 @@ github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7 github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A= github.com/hashicorp/terraform-plugin-framework v1.12.0 h1:7HKaueHPaikX5/7cbC1r9d1m12iYHY+FlNZEGxQ42CQ= github.com/hashicorp/terraform-plugin-framework v1.12.0/go.mod h1:N/IOQ2uYjW60Jp39Cp3mw7I/OpC/GfZ0385R0YibmkE= -github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 h1:b8vZYB/SkXJT4YPbT3trzE6oJ7dPyMy68+9dEDKsJjE= -github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0/go.mod h1:tP9BC3icoXBz72evMS5UTFvi98CiKhPdXF6yLs1wS8A= +github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= +github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0/go.mod h1:p0phD0IYhsu9bR4+6OetVvvH59I6LwjXGnTVEr8ox6E= 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.5.0 h1:v3DapR8gsp3EM8fKMh6up9cJUFQ2iRaFsYLP8UJnCco= diff --git a/provider/go.mod b/provider/go.mod index 64ee1855171..71dec3e2f35 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -246,6 +246,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.7.4 // indirect github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2 // indirect github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9 // indirect github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4 // indirect github.com/aws/aws-sdk-go-v2/service/polly v1.42.4 // indirect github.com/aws/aws-sdk-go-v2/service/pricing v1.30.4 // indirect @@ -390,7 +391,7 @@ require ( github.com/hashicorp/terraform-exec v0.21.0 // indirect github.com/hashicorp/terraform-json v0.22.1 // indirect github.com/hashicorp/terraform-plugin-framework v1.12.0 // indirect - github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 // indirect + github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect github.com/hashicorp/terraform-plugin-framework-timetypes v0.5.0 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.13.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index e4f7d1b01de..4b72f94b01a 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1603,6 +1603,8 @@ github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2 h1:+PSbd/wTgCueA9agqNNeSmVoOgcgA github.com/aws/aws-sdk-go-v2/service/pcs v1.0.2/go.mod h1:acm3akB4exauzjZeKNonTwkxCPIdWT1LWLRM09eZP7c= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4 h1:2bJrgP5iz3yVzqVBGSL0UigyyJklo3xkYusu8cfJJOo= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.32.4/go.mod h1:Y7+679QPvkNHVJZuVNdoGVUMViwbTsZn7HgOTxcB5lA= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9 h1:mnLwmW4bo8scdYo58rxEmpWfdpd+AKEKh9f+k8lWZxQ= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.12.9/go.mod h1:Ek88Y1SlTvTDgX9L7DWUPfQIYtT++3eqK7cMK0TdW8Q= github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4 h1:2fwqaGPD7PKUYKLqeoyEiqYykZE9c/WxuVLUOdPmbEo= github.com/aws/aws-sdk-go-v2/service/pipes v1.14.4/go.mod h1:IcjocBWL1l0Z1RiLycZYvSGSSbFiZlOxn/ZWt8Pin9E= github.com/aws/aws-sdk-go-v2/service/polly v1.42.4 h1:aFD49SdTdSj5Mqijyw9g3pkX8BlB4uY9PUQutouOZCA= @@ -2168,8 +2170,8 @@ github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7 github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A= github.com/hashicorp/terraform-plugin-framework v1.12.0 h1:7HKaueHPaikX5/7cbC1r9d1m12iYHY+FlNZEGxQ42CQ= github.com/hashicorp/terraform-plugin-framework v1.12.0/go.mod h1:N/IOQ2uYjW60Jp39Cp3mw7I/OpC/GfZ0385R0YibmkE= -github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 h1:b8vZYB/SkXJT4YPbT3trzE6oJ7dPyMy68+9dEDKsJjE= -github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0/go.mod h1:tP9BC3icoXBz72evMS5UTFvi98CiKhPdXF6yLs1wS8A= +github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= +github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0/go.mod h1:p0phD0IYhsu9bR4+6OetVvvH59I6LwjXGnTVEr8ox6E= 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.5.0 h1:v3DapR8gsp3EM8fKMh6up9cJUFQ2iRaFsYLP8UJnCco= From 5a5be957242321001ceae1bd7e5b8784759d9145 Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Tue, 24 Sep 2024 10:48:55 -0400 Subject: [PATCH 4/8] Update patches for v5.68.0 --- patches/0064-Adapt-gamelift-matchmaking-resources.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/0064-Adapt-gamelift-matchmaking-resources.patch b/patches/0064-Adapt-gamelift-matchmaking-resources.patch index 6b14c0eed10..69c1f735244 100644 --- a/patches/0064-Adapt-gamelift-matchmaking-resources.patch +++ b/patches/0064-Adapt-gamelift-matchmaking-resources.patch @@ -614,7 +614,7 @@ index 4295987ae6..377b46816e 100644 return nil } diff --git a/names/data/names_data.hcl b/names/data/names_data.hcl -index 966398b368..1ba547e400 100644 +index 966398b368..396ff180be 100644 --- a/names/data/names_data.hcl +++ b/names/data/names_data.hcl @@ -3856,7 +3856,8 @@ service "fsx" { @@ -623,7 +623,7 @@ index 966398b368..1ba547e400 100644 sdk { - id = "GameLift" + id = "GameLift" -+ client_version = [1, 2] ++ client_version = 2 } names { From f7c3ff1c672d01f5407ad251e6113b27b98fe539 Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:06:01 -0400 Subject: [PATCH 5/8] make tfgen --- .../pulumi-resource-aws/bridge-metadata.json | 96 ++ .../runtime-bridge-metadata.json | 2 +- provider/cmd/pulumi-resource-aws/schema.json | 1164 ++++++++++++++++- provider/resources.go | 6 + 4 files changed, 1240 insertions(+), 28 deletions(-) diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index 1c00ab02da9..f3a34d0c69d 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -3103,6 +3103,15 @@ } } }, + "aws_appsync_source_api_association": { + "current": "aws:appsync/sourceApiAssociation:SourceApiAssociation", + "majorVersion": 6, + "fields": { + "source_api_association_config": { + "maxItemsOne": false + } + } + }, "aws_appsync_type": { "current": "aws:appsync/type:Type", "majorVersion": 6 @@ -11374,6 +11383,15 @@ } } }, + "aws_elasticache_reserved_cache_node": { + "current": "aws:elasticache/reservedCacheNode:ReservedCacheNode", + "majorVersion": 6, + "fields": { + "recurring_charges": { + "maxItemsOne": false + } + } + }, "aws_elasticache_serverless_cache": { "current": "aws:elasticache/serverlessCache:ServerlessCache", "majorVersion": 6, @@ -13854,6 +13872,15 @@ } } }, + "aws_iam_role_policies_exclusive": { + "current": "aws:iam/rolePoliciesExclusive:RolePoliciesExclusive", + "majorVersion": 6, + "fields": { + "policy_names": { + "maxItemsOne": false + } + } + }, "aws_iam_role_policy": { "current": "aws:iam/rolePolicy:RolePolicy", "majorVersion": 6 @@ -26413,6 +26440,19 @@ "current": "aws:pinpoint/smsChannel:SmsChannel", "majorVersion": 6 }, + "aws_pinpointsmsvoicev2_opt_out_list": { + "current": "aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList", + "majorVersion": 6 + }, + "aws_pinpointsmsvoicev2_phone_number": { + "current": "aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber", + "majorVersion": 6, + "fields": { + "number_capabilities": { + "maxItemsOne": false + } + } + }, "aws_pipes_pipe": { "current": "aws:pipes/pipe:Pipe", "majorVersion": 6, @@ -159051,6 +159091,15 @@ "current": "aws:ses/template:Template", "majorVersion": 6 }, + "aws_sesv2_account_suppression_attributes": { + "current": "aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes", + "majorVersion": 6, + "fields": { + "suppressed_reasons": { + "maxItemsOne": false + } + } + }, "aws_sesv2_account_vdm_attributes": { "current": "aws:sesv2/accountVdmAttributes:AccountVdmAttributes", "majorVersion": 6, @@ -226833,6 +226882,10 @@ } } }, + "aws_elasticache_reserved_cache_node_offering": { + "current": "aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", + "majorVersion": 6 + }, "aws_elasticache_subnet_group": { "current": "aws:elasticache/getSubnetGroup:getSubnetGroup", "majorVersion": 6, @@ -273648,6 +273701,22 @@ } } }, + "aws_securityhub_standards_control_associations": { + "current": "aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", + "majorVersion": 6, + "fields": { + "standards_control_associations": { + "maxItemsOne": false, + "elem": { + "fields": { + "related_requirements": { + "maxItemsOne": false + } + } + } + } + } + }, "aws_serverlessapplicationrepository_application": { "current": "aws:serverlessrepository/getApplication:getApplication", "majorVersion": 6, @@ -274334,6 +274403,19 @@ } } }, + "aws_synthetics_runtime_version": { + "current": "aws:synthetics/getRuntimeVersion:getRuntimeVersion", + "majorVersion": 6 + }, + "aws_synthetics_runtime_versions": { + "current": "aws:synthetics/getRuntimeVersions:getRuntimeVersions", + "majorVersion": 6, + "fields": { + "runtime_versions": { + "maxItemsOne": false + } + } + }, "aws_timestreamwrite_database": { "current": "aws:timestreamwrite/getDatabase:getDatabase", "majorVersion": 6 @@ -274912,6 +274994,10 @@ }, "aws_lexv2models_slot_type": { "maxItemsOneOverrides": { + "composite_slot_type_setting": true, + "external_source_setting": true, + "external_source_setting.$.grammar_slot_type_setting": true, + "external_source_setting.$.grammar_slot_type_setting.$.source": true, "slot_type_values": true } }, @@ -275066,6 +275152,7 @@ "aws:appsync/function:Function": 0, "aws:appsync/graphQLApi:GraphQLApi": 0, "aws:appsync/resolver:Resolver": 0, + "aws:appsync/sourceApiAssociation:SourceApiAssociation": 1, "aws:appsync/type:Type": 0, "aws:athena/dataCatalog:DataCatalog": 0, "aws:athena/database:Database": 0, @@ -275535,6 +275622,7 @@ "aws:elasticache/globalReplicationGroup:GlobalReplicationGroup": 0, "aws:elasticache/parameterGroup:ParameterGroup": 0, "aws:elasticache/replicationGroup:ReplicationGroup": 0, + "aws:elasticache/reservedCacheNode:ReservedCacheNode": 1, "aws:elasticache/serverlessCache:ServerlessCache": 1, "aws:elasticache/subnetGroup:SubnetGroup": 0, "aws:elasticache/user:User": 0, @@ -275663,6 +275751,7 @@ "aws:iam/policy:Policy": 0, "aws:iam/policyAttachment:PolicyAttachment": 0, "aws:iam/role:Role": 0, + "aws:iam/rolePoliciesExclusive:RolePoliciesExclusive": 1, "aws:iam/rolePolicy:RolePolicy": 0, "aws:iam/rolePolicyAttachment:RolePolicyAttachment": 0, "aws:iam/samlProvider:SamlProvider": 0, @@ -275946,6 +276035,8 @@ "aws:pinpoint/eventStream:EventStream": 0, "aws:pinpoint/gcmChannel:GcmChannel": 0, "aws:pinpoint/smsChannel:SmsChannel": 0, + "aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList": 1, + "aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber": 1, "aws:pipes/pipe:Pipe": 0, "aws:qldb/ledger:Ledger": 0, "aws:qldb/stream:Stream": 0, @@ -276210,6 +276301,7 @@ "aws:ses/receiptRule:ReceiptRule": 0, "aws:ses/receiptRuleSet:ReceiptRuleSet": 0, "aws:ses/template:Template": 0, + "aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes": 1, "aws:sesv2/accountVdmAttributes:AccountVdmAttributes": 0, "aws:sesv2/configurationSet:ConfigurationSet": 0, "aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination": 0, @@ -276622,6 +276714,7 @@ "aws:eks/getNodeGroups:getNodeGroups": 0, "aws:elasticache/getCluster:getCluster": 0, "aws:elasticache/getReplicationGroup:getReplicationGroup": 0, + "aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering": 1, "aws:elasticache/getSubnetGroup:getSubnetGroup": 0, "aws:elasticache/getUser:getUser": 0, "aws:elasticbeanstalk/getApplication:getApplication": 0, @@ -276877,6 +276970,7 @@ "aws:secretsmanager/getSecretVersion:getSecretVersion": 0, "aws:secretsmanager/getSecretVersions:getSecretVersions": 1, "aws:secretsmanager/getSecrets:getSecrets": 0, + "aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations": 1, "aws:serverlessrepository/getApplication:getApplication": 0, "aws:servicecatalog/getAppregistryApplication:getAppregistryApplication": 1, "aws:servicecatalog/getConstraint:getConstraint": 0, @@ -276928,6 +277022,8 @@ "aws:ssoadmin/getPermissionSets:getPermissionSets": 1, "aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments": 1, "aws:storagegateway/getLocalDisk:getLocalDisk": 0, + "aws:synthetics/getRuntimeVersion:getRuntimeVersion": 1, + "aws:synthetics/getRuntimeVersions:getRuntimeVersions": 1, "aws:timestreamwrite/getDatabase:getDatabase": 1, "aws:timestreamwrite/getTable:getTable": 1, "aws:transfer/getConnector:getConnector": 1, diff --git a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json index 26c52c2ee38..2ac94884904 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_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_lexv2models_slot_type":{"maxItemsOneOverrides":{"slot_type_values":true}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}}},"datasources":{"aws_quicksight_analysis":{"renames":["aws:quicksight/getAnalysis:getAnalysis"]},"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":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/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/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/guardrail:Guardrail":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chatbot/slackChannelConfiguration:SlackChannelConfiguration":1,"aws:chatbot/teamsChannelConfiguration:TeamsChannelConfiguration":1,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackInstances:StackInstances":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount":1,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/fleet:Fleet":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:computeoptimizer/enrollmentStatus:EnrollmentStatus":1,"aws:computeoptimizer/recommendationPreferences:RecommendationPreferences":1,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:costoptimizationhub/enrollmentStatus:EnrollmentStatus":1,"aws:costoptimizationhub/preferences:Preferences":1,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/assetType:AssetType":1,"aws:datazone/domain:Domain":1,"aws:datazone/environment:Environment":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/environmentProfile:EnvironmentProfile":1,"aws:datazone/formType:FormType":1,"aws:datazone/glossary:Glossary":1,"aws:datazone/glossaryTerm:GlossaryTerm":1,"aws:datazone/project:Project":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotBlockPublicAccess:SnapshotBlockPublicAccess":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/catalogTableOptimizer:CatalogTableOptimizer":1,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/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/functionRecursionConfig:FunctionRecursionConfig":1,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/emailTemplate:EmailTemplate":1,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/integration:Integration":1,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws: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:shield/subscription:Subscription":1,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreaminfluxdb/dbInstance:DbInstance":1,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws: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:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getAgentAgentVersions:getAgentAgentVersions":1,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codebuild/getFleet:getFleet":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getRegistry:getRegistry":1,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:index/getServicePrincipal:getServicePrincipal":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getAnalysis:getAnalysis":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterParameterGroup:getClusterParameterGroup":1,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:route53/getZones:getZones":1,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecretVersions:getSecretVersions":1,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:shield/getProtection:getProtection":1,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPermissionSets:getPermissionSets":1,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file +{"auto-settings":{"resources":{"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_lexv2models_slot_type":{"maxItemsOneOverrides":{"composite_slot_type_setting":true,"external_source_setting":true,"external_source_setting.$.grammar_slot_type_setting":true,"external_source_setting.$.grammar_slot_type_setting.$.source":true,"slot_type_values":true}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}}},"datasources":{"aws_quicksight_analysis":{"renames":["aws:quicksight/getAnalysis:getAnalysis"]},"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":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/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/sourceApiAssociation:SourceApiAssociation":1,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/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/guardrail:Guardrail":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chatbot/slackChannelConfiguration:SlackChannelConfiguration":1,"aws:chatbot/teamsChannelConfiguration:TeamsChannelConfiguration":1,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackInstances:StackInstances":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount":1,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/fleet:Fleet":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:computeoptimizer/enrollmentStatus:EnrollmentStatus":1,"aws:computeoptimizer/recommendationPreferences:RecommendationPreferences":1,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:costoptimizationhub/enrollmentStatus:EnrollmentStatus":1,"aws:costoptimizationhub/preferences:Preferences":1,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/assetType:AssetType":1,"aws:datazone/domain:Domain":1,"aws:datazone/environment:Environment":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/environmentProfile:EnvironmentProfile":1,"aws:datazone/formType:FormType":1,"aws:datazone/glossary:Glossary":1,"aws:datazone/glossaryTerm:GlossaryTerm":1,"aws:datazone/project:Project":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotBlockPublicAccess:SnapshotBlockPublicAccess":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/reservedCacheNode:ReservedCacheNode":1,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/catalogTableOptimizer:CatalogTableOptimizer":1,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/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/rolePoliciesExclusive:RolePoliciesExclusive":1,"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/functionRecursionConfig:FunctionRecursionConfig":1,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/emailTemplate:EmailTemplate":1,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList":1,"aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber":1,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/integration:Integration":1,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws: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/accountSuppressionAttributes:AccountSuppressionAttributes":1,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:shield/subscription:Subscription":1,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreaminfluxdb/dbInstance:DbInstance":1,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws: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:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getAgentAgentVersions:getAgentAgentVersions":1,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codebuild/getFleet:getFleet":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering":1,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getRegistry:getRegistry":1,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:index/getServicePrincipal:getServicePrincipal":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getAnalysis:getAnalysis":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterParameterGroup:getClusterParameterGroup":1,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:route53/getZones:getZones":1,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecretVersions:getSecretVersions":1,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations":1,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:shield/getProtection:getProtection":1,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPermissionSets:getPermissionSets":1,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:synthetics/getRuntimeVersion:getRuntimeVersion":1,"aws:synthetics/getRuntimeVersions:getRuntimeVersions":1,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 93021e5260b..620c80661cb 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -15834,6 +15834,35 @@ }, "type": "object" }, + "aws:appsync/SourceApiAssociationSourceApiAssociationConfig:SourceApiAssociationSourceApiAssociationConfig": { + "properties": { + "mergeType": { + "type": "string", + "description": "Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE`\n" + } + }, + "type": "object", + "required": [ + "mergeType" + ] + }, + "aws:appsync/SourceApiAssociationTimeouts:SourceApiAssociationTimeouts": { + "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:athena/DatabaseAclConfiguration:DatabaseAclConfiguration": { "properties": { "s3AclOption": { @@ -33404,6 +33433,10 @@ "type": "string", "description": "Use this to override the default service endpoint URL\n" }, + "pinpointsmsvoicev2": { + "type": "string", + "description": "Use this to override the default service endpoint URL\n" + }, "pipes": { "type": "string", "description": "Use this to override the default service endpoint URL\n" @@ -63063,6 +63096,38 @@ "logType" ] }, + "aws:elasticache/ReservedCacheNodeRecurringCharge:ReservedCacheNodeRecurringCharge": { + "properties": { + "recurringChargeAmount": { + "type": "number" + }, + "recurringChargeFrequency": { + "type": "string" + } + }, + "type": "object", + "required": [ + "recurringChargeAmount", + "recurringChargeFrequency" + ] + }, + "aws:elasticache/ReservedCacheNodeTimeouts:ReservedCacheNodeTimeouts": { + "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:elasticache/ServerlessCacheCacheUsageLimits:ServerlessCacheCacheUsageLimits": { "properties": { "dataStorage": { @@ -80603,6 +80668,10 @@ "type": "string", "description": "Use this to override the default service endpoint URL\n" }, + "pinpointsmsvoicev2": { + "type": "string", + "description": "Use this to override the default service endpoint URL\n" + }, "pipes": { "type": "string", "description": "Use this to override the default service endpoint URL\n" @@ -109595,10 +109664,7 @@ "description": "Sub slots in the composite slot.\nSee `sub_slots` argument reference below.\n" } }, - "type": "object", - "required": [ - "subSlots" - ] + "type": "object" }, "aws:lex/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot:V2modelsSlotTypeCompositeSlotTypeSettingSubSlot": { "properties": { @@ -109606,14 +109672,15 @@ "type": "string", "description": "Name of a constituent sub slot inside a composite slot.\n" }, - "subSlotId": { - "type": "string" + "slotTypeId": { + "type": "string", + "description": "Unique identifier assigned to a slot type.\nThis refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type.\n" } }, "type": "object", "required": [ "name", - "subSlotId" + "slotTypeId" ] }, "aws:lex/V2modelsSlotTypeExternalSourceSetting:V2modelsSlotTypeExternalSourceSetting": { @@ -126152,6 +126219,23 @@ }, "type": "object" }, + "aws:pinpoint/Smsvoicev2PhoneNumberTimeouts:Smsvoicev2PhoneNumberTimeouts": { + "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:pipes/PipeEnrichmentParameters:PipeEnrichmentParameters": { "properties": { "httpParameters": { @@ -146177,6 +146261,66 @@ "configurationType" ] }, + "aws:securityhub/getStandardsControlAssociationsStandardsControlAssociation:getStandardsControlAssociationsStandardsControlAssociation": { + "properties": { + "associationStatus": { + "type": "string", + "description": "Enablement status of a control in a specific standard.\n" + }, + "relatedRequirements": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of underlying requirements in the compliance framework related to the standard.\n" + }, + "securityControlArn": { + "type": "string", + "description": "ARN of the security control.\n" + }, + "securityControlId": { + "type": "string", + "description": "The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters).\n" + }, + "standardsArn": { + "type": "string", + "description": "ARN of the standard.\n" + }, + "standardsControlDescription": { + "type": "string", + "description": "Description of the standard.\n" + }, + "standardsControlTitle": { + "type": "string", + "description": "Title of the standard.\n" + }, + "updatedAt": { + "type": "string", + "description": "Last time that a control's enablement status in a specified standard was updated.\n" + }, + "updatedReason": { + "type": "string", + "description": "Reason for updating a control's enablement status in a specified standard.\n" + } + }, + "type": "object", + "required": [ + "associationStatus", + "relatedRequirements", + "securityControlArn", + "securityControlId", + "standardsArn", + "standardsControlDescription", + "standardsControlTitle", + "updatedAt", + "updatedReason" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:securitylake/AwsLogSourceSource:AwsLogSourceSource": { "properties": { "accounts": { @@ -147408,6 +147552,10 @@ "type": "string", "description": "The name of the S3 bucket\n" }, + "iamRoleArn": { + "type": "string", + "description": "The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic\n" + }, "kmsKeyArn": { "type": "string", "description": "The ARN of the KMS key\n" @@ -150820,6 +150968,38 @@ } } }, + "aws:synthetics/getRuntimeVersionsRuntimeVersion:getRuntimeVersionsRuntimeVersion": { + "properties": { + "deprecationDate": { + "type": "string", + "description": "Date of deprecation if the runtme version is deprecated.\n" + }, + "description": { + "type": "string", + "description": "Description of the runtime version, created by Amazon.\n" + }, + "releaseDate": { + "type": "string", + "description": "Date that the runtime version was released.\n" + }, + "versionName": { + "type": "string", + "description": "Name of the runtime version.\nFor a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html).\n" + } + }, + "type": "object", + "required": [ + "deprecationDate", + "description", + "releaseDate", + "versionName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:timestreaminfluxdb/DbInstanceLogDeliveryConfiguration:DbInstanceLogDeliveryConfiguration": { "properties": { "s3Configuration": { @@ -169251,7 +169431,7 @@ "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\n\u003e **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol.\n" + "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", @@ -169313,7 +169493,7 @@ "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\n\u003e **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol.\n" + "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" } }, "requiredInputs": [ @@ -169368,7 +169548,7 @@ "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\n\u003e **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol.\n" + "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", @@ -184321,6 +184501,131 @@ "type": "object" } }, + "aws:appsync/sourceApiAssociation:SourceApiAssociation": { + "description": "Resource for managing an AWS AppSync Source Api Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.appsync.SourceApiAssociation(\"test\", {\n description: \"My source API Merged\",\n mergedApiId: \"gzos6bteufdunffzzifiowisoe\",\n sourceApiId: \"fzzifiowisoegzos6bteufdunf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appsync.SourceApiAssociation(\"test\",\n description=\"My source API Merged\",\n merged_api_id=\"gzos6bteufdunffzzifiowisoe\",\n source_api_id=\"fzzifiowisoegzos6bteufdunf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.AppSync.SourceApiAssociation(\"test\", new()\n {\n Description = \"My source API Merged\",\n MergedApiId = \"gzos6bteufdunffzzifiowisoe\",\n SourceApiId = \"fzzifiowisoegzos6bteufdunf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\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 := appsync.NewSourceApiAssociation(ctx, \"test\", \u0026appsync.SourceApiAssociationArgs{\n\t\t\tDescription: pulumi.String(\"My source API Merged\"),\n\t\t\tMergedApiId: pulumi.String(\"gzos6bteufdunffzzifiowisoe\"),\n\t\t\tSourceApiId: pulumi.String(\"fzzifiowisoegzos6bteufdunf\"),\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.appsync.SourceApiAssociation;\nimport com.pulumi.aws.appsync.SourceApiAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new SourceApiAssociation(\"test\", SourceApiAssociationArgs.builder()\n .description(\"My source API Merged\")\n .mergedApiId(\"gzos6bteufdunffzzifiowisoe\")\n .sourceApiId(\"fzzifiowisoegzos6bteufdunf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:appsync:SourceApiAssociation\n properties:\n description: My source API Merged\n mergedApiId: gzos6bteufdunffzzifiowisoe\n sourceApiId: fzzifiowisoegzos6bteufdunf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example:\n\n```sh\n$ pulumi import aws:appsync/sourceApiAssociation:SourceApiAssociation example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Source Api Association.\n" + }, + "associationId": { + "type": "string", + "description": "ID of the Source Api Association.\n" + }, + "description": { + "type": "string", + "description": "Description of the source API being merged.\n" + }, + "mergedApiArn": { + "type": "string", + "description": "ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified.\n" + }, + "mergedApiId": { + "type": "string", + "description": "ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified.\n" + }, + "sourceApiArn": { + "type": "string", + "description": "ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified.\n" + }, + "sourceApiAssociationConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appsync/SourceApiAssociationSourceApiAssociationConfig:SourceApiAssociationSourceApiAssociationConfig" + } + }, + "sourceApiId": { + "type": "string", + "description": "ID of the source API. One of `source_api_arn` or `source_api_id` must be specified.\n" + }, + "timeouts": { + "$ref": "#/types/aws:appsync/SourceApiAssociationTimeouts:SourceApiAssociationTimeouts" + } + }, + "required": [ + "arn", + "associationId", + "mergedApiArn", + "mergedApiId", + "sourceApiArn", + "sourceApiAssociationConfigs", + "sourceApiId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Description of the source API being merged.\n" + }, + "mergedApiArn": { + "type": "string", + "description": "ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified.\n" + }, + "mergedApiId": { + "type": "string", + "description": "ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified.\n" + }, + "sourceApiArn": { + "type": "string", + "description": "ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified.\n" + }, + "sourceApiAssociationConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appsync/SourceApiAssociationSourceApiAssociationConfig:SourceApiAssociationSourceApiAssociationConfig" + } + }, + "sourceApiId": { + "type": "string", + "description": "ID of the source API. One of `source_api_arn` or `source_api_id` must be specified.\n" + }, + "timeouts": { + "$ref": "#/types/aws:appsync/SourceApiAssociationTimeouts:SourceApiAssociationTimeouts" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering SourceApiAssociation resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Source Api Association.\n" + }, + "associationId": { + "type": "string", + "description": "ID of the Source Api Association.\n" + }, + "description": { + "type": "string", + "description": "Description of the source API being merged.\n" + }, + "mergedApiArn": { + "type": "string", + "description": "ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified.\n" + }, + "mergedApiId": { + "type": "string", + "description": "ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified.\n" + }, + "sourceApiArn": { + "type": "string", + "description": "ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified.\n" + }, + "sourceApiAssociationConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appsync/SourceApiAssociationSourceApiAssociationConfig:SourceApiAssociationSourceApiAssociationConfig" + } + }, + "sourceApiId": { + "type": "string", + "description": "ID of the source API. One of `source_api_arn` or `source_api_id` must be specified.\n" + }, + "timeouts": { + "$ref": "#/types/aws:appsync/SourceApiAssociationTimeouts:SourceApiAssociationTimeouts" + } + }, + "type": "object" + } + }, "aws:appsync/type:Type": { "description": "Provides an AppSync Type.\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 = new aws.appsync.GraphQLApi(\"example\", {\n authenticationType: \"API_KEY\",\n name: \"example\",\n});\nconst exampleType = new aws.appsync.Type(\"example\", {\n apiId: example.id,\n format: \"SDL\",\n definition: `type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.appsync.GraphQLApi(\"example\",\n authentication_type=\"API_KEY\",\n name=\"example\")\nexample_type = aws.appsync.Type(\"example\",\n api_id=example.id,\n format=\"SDL\",\n definition=\"\"\"type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.AppSync.GraphQLApi(\"example\", new()\n {\n AuthenticationType = \"API_KEY\",\n Name = \"example\",\n });\n\n var exampleType = new Aws.AppSync.Type(\"example\", new()\n {\n ApiId = example.Id,\n Format = \"SDL\",\n Definition = @\"type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync\"\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 := appsync.NewGraphQLApi(ctx, \"example\", \u0026appsync.GraphQLApiArgs{\n\t\t\tAuthenticationType: pulumi.String(\"API_KEY\"),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appsync.NewType(ctx, \"example\", \u0026appsync.TypeArgs{\n\t\t\tApiId: example.ID(),\n\t\t\tFormat: pulumi.String(\"SDL\"),\n\t\t\tDefinition: pulumi.String(`type Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n`),\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.appsync.GraphQLApi;\nimport com.pulumi.aws.appsync.GraphQLApiArgs;\nimport com.pulumi.aws.appsync.Type;\nimport com.pulumi.aws.appsync.TypeArgs;\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 GraphQLApi(\"example\", GraphQLApiArgs.builder()\n .authenticationType(\"API_KEY\")\n .name(\"example\")\n .build());\n\n var exampleType = new Type(\"exampleType\", TypeArgs.builder()\n .apiId(example.id())\n .format(\"SDL\")\n .definition(\"\"\"\ntype Mutation\n\n{\nputPost(id: ID!,title: String! ): Post\n\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:appsync:GraphQLApi\n properties:\n authenticationType: API_KEY\n name: example\n exampleType:\n type: aws:appsync:Type\n name: example\n properties:\n apiId: ${example.id}\n format: SDL\n definition: |\n type Mutation\n\n {\n putPost(id: ID!,title: String! ): Post\n\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Appsync Types using the `id`. For example:\n\n```sh\n$ pulumi import aws:appsync/type:Type example api-id:format:name\n```\n", "properties": { @@ -187580,7 +187885,7 @@ } }, "aws:backup/regionSettings:RegionSettings": { - "description": "Provides an AWS Backup Region Settings 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 test = new aws.backup.RegionSettings(\"test\", {\n resourceTypeOptInPreference: {\n Aurora: true,\n DocumentDB: true,\n DynamoDB: true,\n EBS: true,\n EC2: true,\n EFS: true,\n FSx: true,\n Neptune: true,\n RDS: true,\n \"Storage Gateway\": true,\n VirtualMachine: true,\n },\n resourceTypeManagementPreference: {\n DynamoDB: true,\n EFS: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.backup.RegionSettings(\"test\",\n resource_type_opt_in_preference={\n \"Aurora\": True,\n \"DocumentDB\": True,\n \"DynamoDB\": True,\n \"EBS\": True,\n \"EC2\": True,\n \"EFS\": True,\n \"FSx\": True,\n \"Neptune\": True,\n \"RDS\": True,\n \"Storage Gateway\": True,\n \"VirtualMachine\": True,\n },\n resource_type_management_preference={\n \"DynamoDB\": True,\n \"EFS\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Backup.RegionSettings(\"test\", new()\n {\n ResourceTypeOptInPreference = \n {\n { \"Aurora\", true },\n { \"DocumentDB\", true },\n { \"DynamoDB\", true },\n { \"EBS\", true },\n { \"EC2\", true },\n { \"EFS\", true },\n { \"FSx\", true },\n { \"Neptune\", true },\n { \"RDS\", true },\n { \"Storage Gateway\", true },\n { \"VirtualMachine\", true },\n },\n ResourceTypeManagementPreference = \n {\n { \"DynamoDB\", true },\n { \"EFS\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewRegionSettings(ctx, \"test\", \u0026backup.RegionSettingsArgs{\n\t\t\tResourceTypeOptInPreference: pulumi.BoolMap{\n\t\t\t\t\"Aurora\": pulumi.Bool(true),\n\t\t\t\t\"DocumentDB\": pulumi.Bool(true),\n\t\t\t\t\"DynamoDB\": pulumi.Bool(true),\n\t\t\t\t\"EBS\": pulumi.Bool(true),\n\t\t\t\t\"EC2\": pulumi.Bool(true),\n\t\t\t\t\"EFS\": pulumi.Bool(true),\n\t\t\t\t\"FSx\": pulumi.Bool(true),\n\t\t\t\t\"Neptune\": pulumi.Bool(true),\n\t\t\t\t\"RDS\": pulumi.Bool(true),\n\t\t\t\t\"Storage Gateway\": pulumi.Bool(true),\n\t\t\t\t\"VirtualMachine\": pulumi.Bool(true),\n\t\t\t},\n\t\t\tResourceTypeManagementPreference: pulumi.BoolMap{\n\t\t\t\t\"DynamoDB\": pulumi.Bool(true),\n\t\t\t\t\"EFS\": pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.RegionSettings;\nimport com.pulumi.aws.backup.RegionSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RegionSettings(\"test\", RegionSettingsArgs.builder()\n .resourceTypeOptInPreference(Map.ofEntries(\n Map.entry(\"Aurora\", true),\n Map.entry(\"DocumentDB\", true),\n Map.entry(\"DynamoDB\", true),\n Map.entry(\"EBS\", true),\n Map.entry(\"EC2\", true),\n Map.entry(\"EFS\", true),\n Map.entry(\"FSx\", true),\n Map.entry(\"Neptune\", true),\n Map.entry(\"RDS\", true),\n Map.entry(\"Storage Gateway\", true),\n Map.entry(\"VirtualMachine\", true)\n ))\n .resourceTypeManagementPreference(Map.ofEntries(\n Map.entry(\"DynamoDB\", true),\n Map.entry(\"EFS\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:backup:RegionSettings\n properties:\n resourceTypeOptInPreference:\n Aurora: true\n DocumentDB: true\n DynamoDB: true\n EBS: true\n EC2: true\n EFS: true\n FSx: true\n Neptune: true\n RDS: true\n Storage Gateway: true\n VirtualMachine: true\n resourceTypeManagementPreference:\n DynamoDB: true\n EFS: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Region Settings using the `region`. For example:\n\n```sh\n$ pulumi import aws:backup/regionSettings:RegionSettings test us-west-2\n```\n", + "description": "Provides an AWS Backup Region Settings 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 test = new aws.backup.RegionSettings(\"test\", {\n resourceTypeOptInPreference: {\n Aurora: true,\n DocumentDB: true,\n DynamoDB: true,\n EBS: true,\n EC2: true,\n EFS: true,\n FSx: true,\n Neptune: true,\n RDS: true,\n \"Storage Gateway\": true,\n VirtualMachine: true,\n CloudFormation: true,\n Redshift: true,\n S3: true,\n \"SAP HANA on Amazon EC2\": true,\n },\n resourceTypeManagementPreference: {\n DynamoDB: true,\n EFS: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.backup.RegionSettings(\"test\",\n resource_type_opt_in_preference={\n \"Aurora\": True,\n \"DocumentDB\": True,\n \"DynamoDB\": True,\n \"EBS\": True,\n \"EC2\": True,\n \"EFS\": True,\n \"FSx\": True,\n \"Neptune\": True,\n \"RDS\": True,\n \"Storage Gateway\": True,\n \"VirtualMachine\": True,\n \"CloudFormation\": True,\n \"Redshift\": True,\n \"S3\": True,\n \"SAP HANA on Amazon EC2\": True,\n },\n resource_type_management_preference={\n \"DynamoDB\": True,\n \"EFS\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Backup.RegionSettings(\"test\", new()\n {\n ResourceTypeOptInPreference = \n {\n { \"Aurora\", true },\n { \"DocumentDB\", true },\n { \"DynamoDB\", true },\n { \"EBS\", true },\n { \"EC2\", true },\n { \"EFS\", true },\n { \"FSx\", true },\n { \"Neptune\", true },\n { \"RDS\", true },\n { \"Storage Gateway\", true },\n { \"VirtualMachine\", true },\n { \"CloudFormation\", true },\n { \"Redshift\", true },\n { \"S3\", true },\n { \"SAP HANA on Amazon EC2\", true },\n },\n ResourceTypeManagementPreference = \n {\n { \"DynamoDB\", true },\n { \"EFS\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/backup\"\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 := backup.NewRegionSettings(ctx, \"test\", \u0026backup.RegionSettingsArgs{\n\t\t\tResourceTypeOptInPreference: pulumi.BoolMap{\n\t\t\t\t\"Aurora\": pulumi.Bool(true),\n\t\t\t\t\"DocumentDB\": pulumi.Bool(true),\n\t\t\t\t\"DynamoDB\": pulumi.Bool(true),\n\t\t\t\t\"EBS\": pulumi.Bool(true),\n\t\t\t\t\"EC2\": pulumi.Bool(true),\n\t\t\t\t\"EFS\": pulumi.Bool(true),\n\t\t\t\t\"FSx\": pulumi.Bool(true),\n\t\t\t\t\"Neptune\": pulumi.Bool(true),\n\t\t\t\t\"RDS\": pulumi.Bool(true),\n\t\t\t\t\"Storage Gateway\": pulumi.Bool(true),\n\t\t\t\t\"VirtualMachine\": pulumi.Bool(true),\n\t\t\t\t\"CloudFormation\": pulumi.Bool(true),\n\t\t\t\t\"Redshift\": pulumi.Bool(true),\n\t\t\t\t\"S3\": pulumi.Bool(true),\n\t\t\t\t\"SAP HANA on Amazon EC2\": pulumi.Bool(true),\n\t\t\t},\n\t\t\tResourceTypeManagementPreference: pulumi.BoolMap{\n\t\t\t\t\"DynamoDB\": pulumi.Bool(true),\n\t\t\t\t\"EFS\": pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.backup.RegionSettings;\nimport com.pulumi.aws.backup.RegionSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new RegionSettings(\"test\", RegionSettingsArgs.builder()\n .resourceTypeOptInPreference(Map.ofEntries(\n Map.entry(\"Aurora\", true),\n Map.entry(\"DocumentDB\", true),\n Map.entry(\"DynamoDB\", true),\n Map.entry(\"EBS\", true),\n Map.entry(\"EC2\", true),\n Map.entry(\"EFS\", true),\n Map.entry(\"FSx\", true),\n Map.entry(\"Neptune\", true),\n Map.entry(\"RDS\", true),\n Map.entry(\"Storage Gateway\", true),\n Map.entry(\"VirtualMachine\", true),\n Map.entry(\"CloudFormation\", true),\n Map.entry(\"Redshift\", true),\n Map.entry(\"S3\", true),\n Map.entry(\"SAP HANA on Amazon EC2\", true)\n ))\n .resourceTypeManagementPreference(Map.ofEntries(\n Map.entry(\"DynamoDB\", true),\n Map.entry(\"EFS\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:backup:RegionSettings\n properties:\n resourceTypeOptInPreference:\n Aurora: true\n DocumentDB: true\n DynamoDB: true\n EBS: true\n EC2: true\n EFS: true\n FSx: true\n Neptune: true\n RDS: true\n Storage Gateway: true\n VirtualMachine: true\n CloudFormation: true\n Redshift: true\n S3: true\n SAP HANA on Amazon EC2: true\n resourceTypeManagementPreference:\n DynamoDB: true\n EFS: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Backup Region Settings using the `region`. For example:\n\n```sh\n$ pulumi import aws:backup/regionSettings:RegionSettings test us-west-2\n```\n", "properties": { "resourceTypeManagementPreference": { "type": "object", @@ -252757,7 +253062,7 @@ }, "nodeType": { "type": "string", - "description": "The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource.\n" + "description": "The instance class used.\nSee AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nSee AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html).\nFor Memcached, changing this value will re-create the resource.\n" }, "notificationTopicArn": { "type": "string", @@ -252926,7 +253231,7 @@ }, "nodeType": { "type": "string", - "description": "The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource.\n" + "description": "The instance class used.\nSee AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nSee AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html).\nFor Memcached, changing this value will re-create the resource.\n" }, "notificationTopicArn": { "type": "string", @@ -253093,7 +253398,7 @@ }, "nodeType": { "type": "string", - "description": "The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource.\n" + "description": "The instance class used.\nSee AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nSee AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html).\nFor Memcached, changing this value will re-create the resource.\n" }, "notificationTopicArn": { "type": "string", @@ -253642,7 +253947,7 @@ }, "nodeType": { "type": "string", - "description": "Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set.\n" + "description": "Instance class to be used.\nSee AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nRequired unless `global_replication_group_id` is set.\nCannot be set if `global_replication_group_id` is set.\n" }, "notificationTopicArn": { "type": "string", @@ -253877,7 +254182,7 @@ }, "nodeType": { "type": "string", - "description": "Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set.\n" + "description": "Instance class to be used.\nSee AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nRequired unless `global_replication_group_id` is set.\nCannot be set if `global_replication_group_id` is set.\n" }, "notificationTopicArn": { "type": "string", @@ -254097,7 +254402,7 @@ }, "nodeType": { "type": "string", - "description": "Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set.\n" + "description": "Instance class to be used.\nSee AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nRequired unless `global_replication_group_id` is set.\nCannot be set if `global_replication_group_id` is set.\n" }, "notificationTopicArn": { "type": "string", @@ -254219,6 +254524,190 @@ "type": "object" } }, + "aws:elasticache/reservedCacheNode:ReservedCacheNode": { + "description": "Manages an ElastiCache Reserved Cache Node.\n\n\u003e **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.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```yaml\nresources:\n exampleReservedCacheNode:\n type: aws:elasticache:ReservedCacheNode\n name: example\n properties:\n reservedCacheNodesOfferingId: ${example.offeringId}\n id: optionalCustomReservationID\n cacheNodeCount: 3\nvariables:\n example:\n fn::invoke:\n Function: aws:elasticache:getReservedCacheNodeOffering\n Arguments:\n cacheNodeType: cache.t4g.small\n duration: P1Y\n offeringType: No Upfront\n productDescription: redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example:\n\n```sh\n$ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN for the reserved cache node.\n" + }, + "cacheNodeCount": { + "type": "number" + }, + "cacheNodeType": { + "type": "string", + "description": "Node type for the reserved cache nodes.\n" + }, + "duration": { + "type": "string", + "description": "Duration of the reservation as an RFC3339 duration.\n" + }, + "fixedPrice": { + "type": "number", + "description": "Fixed price charged for this reserved cache node.\n" + }, + "offeringType": { + "type": "string", + "description": "Offering type of this reserved cache node.\n" + }, + "productDescription": { + "type": "string", + "description": "Engine type for the reserved cache node.\n" + }, + "recurringCharges": { + "type": "array", + "items": { + "$ref": "#/types/aws:elasticache/ReservedCacheNodeRecurringCharge:ReservedCacheNodeRecurringCharge" + }, + "description": "Recurring price charged to run this reserved cache node.\n" + }, + "reservedCacheNodesOfferingId": { + "type": "string", + "description": "ID of the reserved cache node offering to purchase.\nTo determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source.\n\nThe following arguments are optional:\n" + }, + "startTime": { + "type": "string", + "description": "Time the reservation started.\n" + }, + "state": { + "type": "string", + "description": "State of the reserved cache node.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to the reservation. 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." + }, + "timeouts": { + "$ref": "#/types/aws:elasticache/ReservedCacheNodeTimeouts:ReservedCacheNodeTimeouts" + }, + "usagePrice": { + "type": "number", + "description": "Hourly price charged for this reserved cache node.\n" + } + }, + "required": [ + "arn", + "cacheNodeCount", + "cacheNodeType", + "duration", + "fixedPrice", + "offeringType", + "productDescription", + "recurringCharges", + "reservedCacheNodesOfferingId", + "startTime", + "state", + "tagsAll", + "usagePrice" + ], + "inputProperties": { + "cacheNodeCount": { + "type": "number" + }, + "reservedCacheNodesOfferingId": { + "type": "string", + "description": "ID of the reserved cache node offering to purchase.\nTo determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source.\n\nThe following arguments are optional:\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to the reservation. 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:elasticache/ReservedCacheNodeTimeouts:ReservedCacheNodeTimeouts" + } + }, + "requiredInputs": [ + "reservedCacheNodesOfferingId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ReservedCacheNode resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN for the reserved cache node.\n" + }, + "cacheNodeCount": { + "type": "number" + }, + "cacheNodeType": { + "type": "string", + "description": "Node type for the reserved cache nodes.\n" + }, + "duration": { + "type": "string", + "description": "Duration of the reservation as an RFC3339 duration.\n" + }, + "fixedPrice": { + "type": "number", + "description": "Fixed price charged for this reserved cache node.\n" + }, + "offeringType": { + "type": "string", + "description": "Offering type of this reserved cache node.\n" + }, + "productDescription": { + "type": "string", + "description": "Engine type for the reserved cache node.\n" + }, + "recurringCharges": { + "type": "array", + "items": { + "$ref": "#/types/aws:elasticache/ReservedCacheNodeRecurringCharge:ReservedCacheNodeRecurringCharge" + }, + "description": "Recurring price charged to run this reserved cache node.\n" + }, + "reservedCacheNodesOfferingId": { + "type": "string", + "description": "ID of the reserved cache node offering to purchase.\nTo determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source.\n\nThe following arguments are optional:\n" + }, + "startTime": { + "type": "string", + "description": "Time the reservation started.\n" + }, + "state": { + "type": "string", + "description": "State of the reserved cache node.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to the reservation. 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." + }, + "timeouts": { + "$ref": "#/types/aws:elasticache/ReservedCacheNodeTimeouts:ReservedCacheNodeTimeouts" + }, + "usagePrice": { + "type": "number", + "description": "Hourly price charged for this reserved cache node.\n" + } + }, + "type": "object" + } + }, "aws:elasticache/serverlessCache:ServerlessCache": { "description": "Provides an ElastiCache Serverless Cache resource which manages memcached or redis.\n\n## Example Usage\n\n### Memcached Serverless\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.elasticache.ServerlessCache(\"example\", {\n engine: \"memcached\",\n name: \"example\",\n cacheUsageLimits: {\n dataStorage: {\n maximum: 10,\n unit: \"GB\",\n },\n ecpuPerSeconds: [{\n maximum: 5000,\n }],\n },\n description: \"Test Server\",\n kmsKeyId: test.arn,\n majorEngineVersion: \"1.6\",\n securityGroupIds: [testAwsSecurityGroup.id],\n subnetIds: testAwsSubnet.map(__item =\u003e __item.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ServerlessCache(\"example\",\n engine=\"memcached\",\n name=\"example\",\n cache_usage_limits={\n \"data_storage\": {\n \"maximum\": 10,\n \"unit\": \"GB\",\n },\n \"ecpu_per_seconds\": [{\n \"maximum\": 5000,\n }],\n },\n description=\"Test Server\",\n kms_key_id=test[\"arn\"],\n major_engine_version=\"1.6\",\n security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in test_aws_subnet])\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.ElastiCache.ServerlessCache(\"example\", new()\n {\n Engine = \"memcached\",\n Name = \"example\",\n CacheUsageLimits = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsArgs\n {\n DataStorage = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs\n {\n Maximum = 10,\n Unit = \"GB\",\n },\n EcpuPerSeconds = new[]\n {\n new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs\n {\n Maximum = 5000,\n },\n },\n },\n Description = \"Test Server\",\n KmsKeyId = test.Arn,\n MajorEngineVersion = \"1.6\",\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetIds = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := elasticache.NewServerlessCache(ctx, \"example\", \u0026elasticache.ServerlessCacheArgs{\nEngine: pulumi.String(\"memcached\"),\nName: pulumi.String(\"example\"),\nCacheUsageLimits: \u0026elasticache.ServerlessCacheCacheUsageLimitsArgs{\nDataStorage: \u0026elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs{\nMaximum: pulumi.Int(10),\nUnit: pulumi.String(\"GB\"),\n},\nEcpuPerSeconds: elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{\n\u0026elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{\nMaximum: pulumi.Int(5000),\n},\n},\n},\nDescription: pulumi.String(\"Test Server\"),\nKmsKeyId: pulumi.Any(test.Arn),\nMajorEngineVersion: pulumi.String(\"1.6\"),\nSecurityGroupIds: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\nSubnetIds: toPulumiArray(splat0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\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.elasticache.ServerlessCache;\nimport com.pulumi.aws.elasticache.ServerlessCacheArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs;\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 ServerlessCache(\"example\", ServerlessCacheArgs.builder()\n .engine(\"memcached\")\n .name(\"example\")\n .cacheUsageLimits(ServerlessCacheCacheUsageLimitsArgs.builder()\n .dataStorage(ServerlessCacheCacheUsageLimitsDataStorageArgs.builder()\n .maximum(10)\n .unit(\"GB\")\n .build())\n .ecpuPerSeconds(ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs.builder()\n .maximum(5000)\n .build())\n .build())\n .description(\"Test Server\")\n .kmsKeyId(test.arn())\n .majorEngineVersion(\"1.6\")\n .securityGroupIds(testAwsSecurityGroup.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redis Serverless\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.elasticache.ServerlessCache(\"example\", {\n engine: \"redis\",\n name: \"example\",\n cacheUsageLimits: {\n dataStorage: {\n maximum: 10,\n unit: \"GB\",\n },\n ecpuPerSeconds: [{\n maximum: 5000,\n }],\n },\n dailySnapshotTime: \"09:00\",\n description: \"Test Server\",\n kmsKeyId: test.arn,\n majorEngineVersion: \"7\",\n snapshotRetentionLimit: 1,\n securityGroupIds: [testAwsSecurityGroup.id],\n subnetIds: testAwsSubnet.map(__item =\u003e __item.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.ServerlessCache(\"example\",\n engine=\"redis\",\n name=\"example\",\n cache_usage_limits={\n \"data_storage\": {\n \"maximum\": 10,\n \"unit\": \"GB\",\n },\n \"ecpu_per_seconds\": [{\n \"maximum\": 5000,\n }],\n },\n daily_snapshot_time=\"09:00\",\n description=\"Test Server\",\n kms_key_id=test[\"arn\"],\n major_engine_version=\"7\",\n snapshot_retention_limit=1,\n security_group_ids=[test_aws_security_group[\"id\"]],\n subnet_ids=[__item[\"id\"] for __item in test_aws_subnet])\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.ElastiCache.ServerlessCache(\"example\", new()\n {\n Engine = \"redis\",\n Name = \"example\",\n CacheUsageLimits = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsArgs\n {\n DataStorage = new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs\n {\n Maximum = 10,\n Unit = \"GB\",\n },\n EcpuPerSeconds = new[]\n {\n new Aws.ElastiCache.Inputs.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs\n {\n Maximum = 5000,\n },\n },\n },\n DailySnapshotTime = \"09:00\",\n Description = \"Test Server\",\n KmsKeyId = test.Arn,\n MajorEngineVersion = \"7\",\n SnapshotRetentionLimit = 1,\n SecurityGroupIds = new[]\n {\n testAwsSecurityGroup.Id,\n },\n SubnetIds = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := elasticache.NewServerlessCache(ctx, \"example\", \u0026elasticache.ServerlessCacheArgs{\nEngine: pulumi.String(\"redis\"),\nName: pulumi.String(\"example\"),\nCacheUsageLimits: \u0026elasticache.ServerlessCacheCacheUsageLimitsArgs{\nDataStorage: \u0026elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs{\nMaximum: pulumi.Int(10),\nUnit: pulumi.String(\"GB\"),\n},\nEcpuPerSeconds: elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{\n\u0026elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{\nMaximum: pulumi.Int(5000),\n},\n},\n},\nDailySnapshotTime: pulumi.String(\"09:00\"),\nDescription: pulumi.String(\"Test Server\"),\nKmsKeyId: pulumi.Any(test.Arn),\nMajorEngineVersion: pulumi.String(\"7\"),\nSnapshotRetentionLimit: pulumi.Int(1),\nSecurityGroupIds: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\nSubnetIds: toPulumiArray(splat0),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\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.elasticache.ServerlessCache;\nimport com.pulumi.aws.elasticache.ServerlessCacheArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsArgs;\nimport com.pulumi.aws.elasticache.inputs.ServerlessCacheCacheUsageLimitsDataStorageArgs;\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 ServerlessCache(\"example\", ServerlessCacheArgs.builder()\n .engine(\"redis\")\n .name(\"example\")\n .cacheUsageLimits(ServerlessCacheCacheUsageLimitsArgs.builder()\n .dataStorage(ServerlessCacheCacheUsageLimitsDataStorageArgs.builder()\n .maximum(10)\n .unit(\"GB\")\n .build())\n .ecpuPerSeconds(ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs.builder()\n .maximum(5000)\n .build())\n .build())\n .dailySnapshotTime(\"09:00\")\n .description(\"Test Server\")\n .kmsKeyId(test.arn())\n .majorEngineVersion(\"7\")\n .snapshotRetentionLimit(1)\n .securityGroupIds(testAwsSecurityGroup.id())\n .subnetIds(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ElastiCache Serverless Cache using the `name`. For example:\n\n```sh\n$ pulumi import aws:elasticache/serverlessCache:ServerlessCache my_cluster my_cluster\n```\n", "properties": { @@ -274567,7 +275056,8 @@ "items": { "$ref": "#/types/aws:iam/RoleInlinePolicy:RoleInlinePolicy" }, - "description": "Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`.\n" + "description": "Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`.\n", + "deprecationMessage": "Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well." }, "managedPolicyArns": { "type": "array", @@ -274653,7 +275143,8 @@ "items": { "$ref": "#/types/aws:iam/RoleInlinePolicy:RoleInlinePolicy" }, - "description": "Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`.\n" + "description": "Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`.\n", + "deprecationMessage": "Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well." }, "managedPolicyArns": { "type": "array", @@ -274732,7 +275223,8 @@ "items": { "$ref": "#/types/aws:iam/RoleInlinePolicy:RoleInlinePolicy" }, - "description": "Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`.\n" + "description": "Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`.\n", + "deprecationMessage": "Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well." }, "managedPolicyArns": { "type": "array", @@ -274786,6 +275278,60 @@ "type": "object" } }, + "aws:iam/rolePoliciesExclusive:RolePoliciesExclusive": { + "description": "\n\n## Import\n\nUsing `pulumi import`, import exclusive management of inline policy assignments using the `role_name`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePoliciesExclusive:RolePoliciesExclusive example MyRole\n```\n", + "properties": { + "policyNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed.\n" + }, + "roleName": { + "type": "string", + "description": "IAM role name.\n" + } + }, + "required": [ + "policyNames", + "roleName" + ], + "inputProperties": { + "policyNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed.\n" + }, + "roleName": { + "type": "string", + "description": "IAM role name.\n" + } + }, + "requiredInputs": [ + "policyNames", + "roleName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RolePoliciesExclusive resources.\n", + "properties": { + "policyNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed.\n" + }, + "roleName": { + "type": "string", + "description": "IAM role name.\n" + } + }, + "type": "object" + } + }, "aws:iam/rolePolicy:RolePolicy": { "description": "Provides an IAM role inline policy.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `inline_policy` argument. When using that argument and this resource, both will attempt to manage the role's inline policies and the provider will show a permanent difference.\n\n\u003e **NOTE:** We suggest using explicit JSON encoding or `aws.iam.getPolicyDocument` when assigning a value to `policy`. They seamlessly translate configuration to JSON, enabling you to maintain consistency within your configuration without the need for context switches. Also, you can sidestep potential complications arising from formatting discrepancies, whitespace inconsistencies, and other nuances inherent to JSON.\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 testRole = new aws.iam.Role(\"test_role\", {\n name: \"test_role\",\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 testPolicy = new aws.iam.RolePolicy(\"test_policy\", {\n name: \"test_policy\",\n role: testRole.id,\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"test_role\",\n name=\"test_role\",\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 }))\ntest_policy = aws.iam.RolePolicy(\"test_policy\",\n name=\"test_policy\",\n role=test_role.id,\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\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 testRole = new Aws.Iam.Role(\"test_role\", new()\n {\n Name = \"test_role\",\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 testPolicy = new Aws.Iam.RolePolicy(\"test_policy\", new()\n {\n Name = \"test_policy\",\n Role = testRole.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"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\ttestRole, err := iam.NewRole(ctx, \"test_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = iam.NewRolePolicy(ctx, \"test_policy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"test_policy\"),\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRole = new Role(\"testRole\", RoleArgs.builder()\n .name(\"test_role\")\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 testPolicy = new RolePolicy(\"testPolicy\", RolePolicyArgs.builder()\n .name(\"test_policy\")\n .role(testRole.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPolicy:\n type: aws:iam:RolePolicy\n name: test_policy\n properties:\n name: test_policy\n role: ${testRole.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n testRole:\n type: aws:iam:Role\n name: test_role\n properties:\n name: test_role\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```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM Role Policies using the `role_name:role_policy_name`. For example:\n\n```sh\n$ pulumi import aws:iam/rolePolicy:RolePolicy mypolicy role_of_mypolicy_name:mypolicy_name\n```\n", "properties": { @@ -289406,7 +289952,7 @@ "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\n\u003e **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol.\n" + "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", @@ -289468,7 +290014,7 @@ "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\n\u003e **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol.\n" + "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" } }, "requiredInputs": [ @@ -289523,7 +290069,7 @@ "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\n\u003e **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol.\n" + "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", @@ -291648,7 +292194,7 @@ } }, "aws:lex/v2modelsBot:V2modelsBot": { - "description": "Resource for managing an AWS Lex V2 Models Bot.\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.lex.V2modelsBot(\"example\", {\n name: \"example\",\n dataPrivacies: [{\n childDirected: \"boolean\",\n }],\n idleSessionTtlInSeconds: 10,\n roleArn: \"bot_example_arn\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBot(\"example\",\n name=\"example\",\n data_privacies=[{\n \"child_directed\": \"boolean\",\n }],\n idle_session_ttl_in_seconds=10,\n role_arn=\"bot_example_arn\",\n tags={\n \"foo\": \"bar\",\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.Lex.V2modelsBot(\"example\", new()\n {\n Name = \"example\",\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = \"boolean\",\n },\n },\n IdleSessionTtlInSeconds = 10,\n RoleArn = \"bot_example_arn\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.NewV2modelsBot(ctx, \"example\", \u0026lex.V2modelsBotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\t\t\t\t\u0026lex.V2modelsBotDataPrivacyArgs{\n\t\t\t\t\tChildDirected: pulumi.Bool(\"boolean\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdleSessionTtlInSeconds: pulumi.Int(10),\n\t\t\tRoleArn: pulumi.String(\"bot_example_arn\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\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 V2modelsBot(\"example\", V2modelsBotArgs.builder()\n .name(\"example\")\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(\"boolean\")\n .build())\n .idleSessionTtlInSeconds(10)\n .roleArn(\"bot_example_arn\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBot\n properties:\n name: example\n dataPrivacies:\n - childDirected: boolean\n idleSessionTtlInSeconds: 10\n roleArn: bot_example_arn\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBot:V2modelsBot example bot-id-12345678\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Bot.\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 exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"lexv2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n created_by: \"aws\",\n },\n});\nconst example = new aws.lex.V2modelsBot(\"example\", {\n name: \"example\",\n description: \"Example description\",\n dataPrivacies: [{\n childDirected: false,\n }],\n idleSessionTtlInSeconds: 60,\n roleArn: exampleRole.arn,\n type: \"Bot\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\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\": \"lexv2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"created_by\": \"aws\",\n })\nexample = aws.lex.V2modelsBot(\"example\",\n name=\"example\",\n description=\"Example description\",\n data_privacies=[{\n \"child_directed\": False,\n }],\n idle_session_ttl_in_seconds=60,\n role_arn=example_role.arn,\n type=\"Bot\",\n tags={\n \"foo\": \"bar\",\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 exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"lexv2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"created_by\", \"aws\" },\n },\n });\n\n var example = new Aws.Lex.V2modelsBot(\"example\", new()\n {\n Name = \"example\",\n Description = \"Example description\",\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = false,\n },\n },\n IdleSessionTtlInSeconds = 60,\n RoleArn = exampleRole.Arn,\n Type = \"Bot\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"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\": \"lexv2.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\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"created_by\": pulumi.String(\"aws\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lex.NewV2modelsBot(ctx, \"example\", \u0026lex.V2modelsBotArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"Example description\"),\n\t\t\tDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\t\t\t\t\u0026lex.V2modelsBotDataPrivacyArgs{\n\t\t\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdleSessionTtlInSeconds: pulumi.Int(60),\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t\tType: pulumi.String(\"Bot\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n .name(\"example\")\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\", \"lexv2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"created_by\", \"aws\"))\n .build());\n\n var example = new V2modelsBot(\"example\", V2modelsBotArgs.builder()\n .name(\"example\")\n .description(\"Example description\")\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(false)\n .build())\n .idleSessionTtlInSeconds(60)\n .roleArn(exampleRole.arn())\n .type(\"Bot\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBot\n properties:\n name: example\n description: Example description\n dataPrivacies:\n - childDirected: false\n idleSessionTtlInSeconds: 60\n roleArn: ${exampleRole.arn}\n type: Bot\n tags:\n foo: bar\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\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: lexv2.amazonaws.com\n tags:\n created_by: aws\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBot:V2modelsBot example bot-id-12345678\n```\n", "properties": { "arn": { "type": "string" @@ -291965,7 +292511,7 @@ } }, "aws:lex/v2modelsBotVersion:V2modelsBotVersion": { - "description": "Resource for managing an AWS Lex V2 Models Bot Version.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lex.V2modelsBotVersion(\"test\", {\n botId: testAwsLexv2models.id,\n localeSpecification: {\n en_US: {\n sourceBotVersion: \"DRAFT\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lex.V2modelsBotVersion(\"test\",\n bot_id=test_aws_lexv2models[\"id\"],\n locale_specification={\n \"en_US\": {\n \"source_bot_version\": \"DRAFT\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Lex.V2modelsBotVersion(\"test\", new()\n {\n BotId = testAwsLexv2models.Id,\n LocaleSpecification = \n {\n { \"en_US\", new Aws.Lex.Inputs.V2modelsBotVersionLocaleSpecificationArgs\n {\n SourceBotVersion = \"DRAFT\",\n } },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.NewV2modelsBotVersion(ctx, \"test\", \u0026lex.V2modelsBotVersionArgs{\n\t\t\tBotId: pulumi.Any(testAwsLexv2models.Id),\n\t\t\tLocaleSpecification: lex.V2modelsBotVersionLocaleSpecificationMap{\n\t\t\t\t\"en_US\": \u0026lex.V2modelsBotVersionLocaleSpecificationArgs{\n\t\t\t\t\tSourceBotVersion: pulumi.String(\"DRAFT\"),\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.lex.V2modelsBotVersion;\nimport com.pulumi.aws.lex.V2modelsBotVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new V2modelsBotVersion(\"test\", V2modelsBotVersionArgs.builder()\n .botId(testAwsLexv2models.id())\n .localeSpecification(Map.of(\"en_US\", Map.of(\"sourceBotVersion\", \"DRAFT\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lex:V2modelsBotVersion\n properties:\n botId: ${testAwsLexv2models.id}\n localeSpecification:\n en_US:\n sourceBotVersion: DRAFT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot Version using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBotVersion:V2modelsBotVersion example id-12345678,1\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Bot Version.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lex.V2modelsBotVersion(\"test\", {\n botId: testAwsLexv2modelsBot.id,\n localeSpecification: {\n en_US: {\n sourceBotVersion: \"DRAFT\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.lex.V2modelsBotVersion(\"test\",\n bot_id=test_aws_lexv2models_bot[\"id\"],\n locale_specification={\n \"en_US\": {\n \"source_bot_version\": \"DRAFT\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Lex.V2modelsBotVersion(\"test\", new()\n {\n BotId = testAwsLexv2modelsBot.Id,\n LocaleSpecification = \n {\n { \"en_US\", new Aws.Lex.Inputs.V2modelsBotVersionLocaleSpecificationArgs\n {\n SourceBotVersion = \"DRAFT\",\n } },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.NewV2modelsBotVersion(ctx, \"test\", \u0026lex.V2modelsBotVersionArgs{\n\t\t\tBotId: pulumi.Any(testAwsLexv2modelsBot.Id),\n\t\t\tLocaleSpecification: lex.V2modelsBotVersionLocaleSpecificationMap{\n\t\t\t\t\"en_US\": \u0026lex.V2modelsBotVersionLocaleSpecificationArgs{\n\t\t\t\t\tSourceBotVersion: pulumi.String(\"DRAFT\"),\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.lex.V2modelsBotVersion;\nimport com.pulumi.aws.lex.V2modelsBotVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new V2modelsBotVersion(\"test\", V2modelsBotVersionArgs.builder()\n .botId(testAwsLexv2modelsBot.id())\n .localeSpecification(Map.of(\"en_US\", Map.of(\"sourceBotVersion\", \"DRAFT\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lex:V2modelsBotVersion\n properties:\n botId: ${testAwsLexv2modelsBot.id}\n localeSpecification:\n en_US:\n sourceBotVersion: DRAFT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Bot Version using the `id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsBotVersion:V2modelsBotVersion example id-12345678,1\n```\n", "properties": { "botId": { "type": "string", @@ -292539,7 +293085,7 @@ } }, "aws:lex/v2modelsSlotType:V2modelsSlotType": { - "description": "Resource for managing an AWS Lex V2 Models Slot Type.\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.lex.V2modelsBot(\"example\", {\n name: \"example\",\n idleSessionTtlInSeconds: 60,\n roleArn: exampleAwsIamRole.arn,\n dataPrivacies: [{\n childDirected: true,\n }],\n});\nconst exampleV2modelsBotLocale = new aws.lex.V2modelsBotLocale(\"example\", {\n localeId: \"en_US\",\n botId: example.id,\n botVersion: \"DRAFT\",\n nLuIntentConfidenceThreshold: 0.7,\n});\nconst exampleV2modelsBotVersion = new aws.lex.V2modelsBotVersion(\"example\", {\n botId: example.id,\n localeSpecification: exampleV2modelsBotLocale.localeId.apply(localeId =\u003e {\n [localeId]: {\n sourceBotVersion: \"DRAFT\",\n },\n }),\n});\nconst exampleV2modelsSlotType = new aws.lex.V2modelsSlotType(\"example\", {\n botId: example.id,\n botVersion: exampleV2modelsBotLocale.botVersion,\n name: \"example\",\n localeId: exampleV2modelsBotLocale.localeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBot(\"example\",\n name=\"example\",\n idle_session_ttl_in_seconds=60,\n role_arn=example_aws_iam_role[\"arn\"],\n data_privacies=[{\n \"child_directed\": True,\n }])\nexample_v2models_bot_locale = aws.lex.V2modelsBotLocale(\"example\",\n locale_id=\"en_US\",\n bot_id=example.id,\n bot_version=\"DRAFT\",\n n_lu_intent_confidence_threshold=0.7)\nexample_v2models_bot_version = aws.lex.V2modelsBotVersion(\"example\",\n bot_id=example.id,\n locale_specification=example_v2models_bot_locale.locale_id.apply(lambda locale_id: {\n locale_id: {\n \"sourceBotVersion\": \"DRAFT\",\n },\n }))\nexample_v2models_slot_type = aws.lex.V2modelsSlotType(\"example\",\n bot_id=example.id,\n bot_version=example_v2models_bot_locale.bot_version,\n name=\"example\",\n locale_id=example_v2models_bot_locale.locale_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 example = new Aws.Lex.V2modelsBot(\"example\", new()\n {\n Name = \"example\",\n IdleSessionTtlInSeconds = 60,\n RoleArn = exampleAwsIamRole.Arn,\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = true,\n },\n },\n });\n\n var exampleV2modelsBotLocale = new Aws.Lex.V2modelsBotLocale(\"example\", new()\n {\n LocaleId = \"en_US\",\n BotId = example.Id,\n BotVersion = \"DRAFT\",\n NLuIntentConfidenceThreshold = 0.7,\n });\n\n var exampleV2modelsBotVersion = new Aws.Lex.V2modelsBotVersion(\"example\", new()\n {\n BotId = example.Id,\n LocaleSpecification = exampleV2modelsBotLocale.LocaleId.Apply(localeId =\u003e \n {\n { localeId, \n {\n { \"sourceBotVersion\", \"DRAFT\" },\n } },\n }),\n });\n\n var exampleV2modelsSlotType = new Aws.Lex.V2modelsSlotType(\"example\", new()\n {\n BotId = example.Id,\n BotVersion = exampleV2modelsBotLocale.BotVersion,\n Name = \"example\",\n LocaleId = exampleV2modelsBotLocale.LocaleId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := lex.NewV2modelsBot(ctx, \"example\", \u0026lex.V2modelsBotArgs{\nName: pulumi.String(\"example\"),\nIdleSessionTtlInSeconds: pulumi.Int(60),\nRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\u0026lex.V2modelsBotDataPrivacyArgs{\nChildDirected: pulumi.Bool(true),\n},\n},\n})\nif err != nil {\nreturn err\n}\nexampleV2modelsBotLocale, err := lex.NewV2modelsBotLocale(ctx, \"example\", \u0026lex.V2modelsBotLocaleArgs{\nLocaleId: pulumi.String(\"en_US\"),\nBotId: example.ID(),\nBotVersion: pulumi.String(\"DRAFT\"),\nNLuIntentConfidenceThreshold: pulumi.Float64(0.7),\n})\nif err != nil {\nreturn err\n}\n_, err = lex.NewV2modelsBotVersion(ctx, \"example\", \u0026lex.V2modelsBotVersionArgs{\nBotId: example.ID(),\nLocaleSpecification: exampleV2modelsBotLocale.LocaleId.ApplyT(func(localeId string) (map[string]map[string]interface{}, error) {\nreturn map[string]map[string]interface{}{\nlocaleId: map[string]interface{}{\n\"sourceBotVersion\": \"DRAFT\",\n},\n}, nil\n}).(pulumi.Map[string]map[string]interface{}Output),\n})\nif err != nil {\nreturn err\n}\n_, err = lex.NewV2modelsSlotType(ctx, \"example\", \u0026lex.V2modelsSlotTypeArgs{\nBotId: example.ID(),\nBotVersion: exampleV2modelsBotLocale.BotVersion,\nName: pulumi.String(\"example\"),\nLocaleId: exampleV2modelsBotLocale.LocaleId,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport com.pulumi.aws.lex.V2modelsBotLocale;\nimport com.pulumi.aws.lex.V2modelsBotLocaleArgs;\nimport com.pulumi.aws.lex.V2modelsBotVersion;\nimport com.pulumi.aws.lex.V2modelsBotVersionArgs;\nimport com.pulumi.aws.lex.V2modelsSlotType;\nimport com.pulumi.aws.lex.V2modelsSlotTypeArgs;\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 V2modelsBot(\"example\", V2modelsBotArgs.builder()\n .name(\"example\")\n .idleSessionTtlInSeconds(60)\n .roleArn(exampleAwsIamRole.arn())\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(true)\n .build())\n .build());\n\n var exampleV2modelsBotLocale = new V2modelsBotLocale(\"exampleV2modelsBotLocale\", V2modelsBotLocaleArgs.builder()\n .localeId(\"en_US\")\n .botId(example.id())\n .botVersion(\"DRAFT\")\n .nLuIntentConfidenceThreshold(0.7)\n .build());\n\n var exampleV2modelsBotVersion = new V2modelsBotVersion(\"exampleV2modelsBotVersion\", V2modelsBotVersionArgs.builder()\n .botId(example.id())\n .localeSpecification(exampleV2modelsBotLocale.localeId().applyValue(localeId -\u003e Map.of(localeId, Map.of(\"sourceBotVersion\", \"DRAFT\"))))\n .build());\n\n var exampleV2modelsSlotType = new V2modelsSlotType(\"exampleV2modelsSlotType\", V2modelsSlotTypeArgs.builder()\n .botId(example.id())\n .botVersion(exampleV2modelsBotLocale.botVersion())\n .name(\"example\")\n .localeId(exampleV2modelsBotLocale.localeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBot\n properties:\n name: example\n idleSessionTtlInSeconds: 60\n roleArn: ${exampleAwsIamRole.arn}\n dataPrivacies:\n - childDirected: true\n exampleV2modelsBotLocale:\n type: aws:lex:V2modelsBotLocale\n name: example\n properties:\n localeId: en_US\n botId: ${example.id}\n botVersion: DRAFT\n nLuIntentConfidenceThreshold: 0.7\n exampleV2modelsBotVersion:\n type: aws:lex:V2modelsBotVersion\n name: example\n properties:\n botId: ${example.id}\n localeSpecification:\n ${exampleV2modelsBotLocale.localeId}:\n sourceBotVersion: DRAFT\n exampleV2modelsSlotType:\n type: aws:lex:V2modelsSlotType\n name: example\n properties:\n botId: ${example.id}\n botVersion: ${exampleV2modelsBotLocale.botVersion}\n name: example\n localeId: ${exampleV2modelsBotLocale.localeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### `value_selection_setting` 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.lex.V2modelsSlotType(\"example\", {\n botId: exampleAwsLexv2modelsBot.id,\n botVersion: exampleAwsLexv2modelsBotLocale.botVersion,\n name: \"example\",\n localeId: exampleAwsLexv2modelsBotLocale.localeId,\n valueSelectionSetting: {\n resolutionStrategy: \"OriginalValue\",\n advancedRecognitionSettings: [{\n audioRecognitionStrategy: \"UseSlotValuesAsCustomVocabulary\",\n }],\n },\n slotTypeValues: {\n sampleValues: [{\n value: \"exampleValue\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsSlotType(\"example\",\n bot_id=example_aws_lexv2models_bot[\"id\"],\n bot_version=example_aws_lexv2models_bot_locale[\"botVersion\"],\n name=\"example\",\n locale_id=example_aws_lexv2models_bot_locale[\"localeId\"],\n value_selection_setting={\n \"resolution_strategy\": \"OriginalValue\",\n \"advanced_recognition_settings\": [{\n \"audio_recognition_strategy\": \"UseSlotValuesAsCustomVocabulary\",\n }],\n },\n slot_type_values={\n \"sample_values\": [{\n \"value\": \"exampleValue\",\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsSlotType(\"example\", new()\n {\n BotId = exampleAwsLexv2modelsBot.Id,\n BotVersion = exampleAwsLexv2modelsBotLocale.BotVersion,\n Name = \"example\",\n LocaleId = exampleAwsLexv2modelsBotLocale.LocaleId,\n ValueSelectionSetting = new Aws.Lex.Inputs.V2modelsSlotTypeValueSelectionSettingArgs\n {\n ResolutionStrategy = \"OriginalValue\",\n AdvancedRecognitionSettings = new[]\n {\n new Aws.Lex.Inputs.V2modelsSlotTypeValueSelectionSettingAdvancedRecognitionSettingArgs\n {\n AudioRecognitionStrategy = \"UseSlotValuesAsCustomVocabulary\",\n },\n },\n },\n SlotTypeValues = new Aws.Lex.Inputs.V2modelsSlotTypeSlotTypeValuesArgs\n {\n SampleValues = new[]\n {\n new Aws.Lex.Inputs.V2modelsSlotTypeSlotTypeValuesSampleValueArgs\n {\n Value = \"exampleValue\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.NewV2modelsSlotType(ctx, \"example\", \u0026lex.V2modelsSlotTypeArgs{\n\t\t\tBotId: pulumi.Any(exampleAwsLexv2modelsBot.Id),\n\t\t\tBotVersion: pulumi.Any(exampleAwsLexv2modelsBotLocale.BotVersion),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocaleId: pulumi.Any(exampleAwsLexv2modelsBotLocale.LocaleId),\n\t\t\tValueSelectionSetting: \u0026lex.V2modelsSlotTypeValueSelectionSettingArgs{\n\t\t\t\tResolutionStrategy: pulumi.String(\"OriginalValue\"),\n\t\t\t\tAdvancedRecognitionSettings: lex.V2modelsSlotTypeValueSelectionSettingAdvancedRecognitionSettingArray{\n\t\t\t\t\t\u0026lex.V2modelsSlotTypeValueSelectionSettingAdvancedRecognitionSettingArgs{\n\t\t\t\t\t\tAudioRecognitionStrategy: pulumi.String(\"UseSlotValuesAsCustomVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSlotTypeValues: \u0026lex.V2modelsSlotTypeSlotTypeValuesArgs{\n\t\t\t\tSampleValues: lex.V2modelsSlotTypeSlotTypeValuesSampleValueArray{\n\t\t\t\t\t\u0026lex.V2modelsSlotTypeSlotTypeValuesSampleValueArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"exampleValue\"),\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.lex.V2modelsSlotType;\nimport com.pulumi.aws.lex.V2modelsSlotTypeArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsSlotTypeValueSelectionSettingArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsSlotTypeSlotTypeValuesArgs;\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 V2modelsSlotType(\"example\", V2modelsSlotTypeArgs.builder()\n .botId(exampleAwsLexv2modelsBot.id())\n .botVersion(exampleAwsLexv2modelsBotLocale.botVersion())\n .name(\"example\")\n .localeId(exampleAwsLexv2modelsBotLocale.localeId())\n .valueSelectionSetting(V2modelsSlotTypeValueSelectionSettingArgs.builder()\n .resolutionStrategy(\"OriginalValue\")\n .advancedRecognitionSettings(V2modelsSlotTypeValueSelectionSettingAdvancedRecognitionSettingArgs.builder()\n .audioRecognitionStrategy(\"UseSlotValuesAsCustomVocabulary\")\n .build())\n .build())\n .slotTypeValues(V2modelsSlotTypeSlotTypeValuesArgs.builder()\n .sampleValues(V2modelsSlotTypeSlotTypeValuesSampleValueArgs.builder()\n .value(\"exampleValue\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsSlotType\n properties:\n botId: ${exampleAwsLexv2modelsBot.id}\n botVersion: ${exampleAwsLexv2modelsBotLocale.botVersion}\n name: example\n localeId: ${exampleAwsLexv2modelsBotLocale.localeId}\n valueSelectionSetting:\n resolutionStrategy: OriginalValue\n advancedRecognitionSettings:\n - audioRecognitionStrategy: UseSlotValuesAsCustomVocabulary\n slotTypeValues:\n sampleValues:\n - value: exampleValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Slot Type using using a comma-delimited string concatenating `bot_id`, `bot_version`, `locale_id`, and `slot_type_id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsSlotType:V2modelsSlotType example bot-1234,DRAFT,en_US,slot_type-id-12345678\n```\n", + "description": "Resource for managing an AWS Lex V2 Models Slot Type.\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.lex.V2modelsBot(\"example\", {\n name: \"example\",\n idleSessionTtlInSeconds: 60,\n roleArn: exampleAwsIamRole.arn,\n dataPrivacies: [{\n childDirected: true,\n }],\n});\nconst exampleV2modelsBotLocale = new aws.lex.V2modelsBotLocale(\"example\", {\n localeId: \"en_US\",\n botId: example.id,\n botVersion: \"DRAFT\",\n nLuIntentConfidenceThreshold: 0.7,\n});\nconst exampleV2modelsBotVersion = new aws.lex.V2modelsBotVersion(\"example\", {\n botId: example.id,\n localeSpecification: exampleV2modelsBotLocale.localeId.apply(localeId =\u003e {\n [localeId]: {\n sourceBotVersion: \"DRAFT\",\n },\n }),\n});\nconst exampleV2modelsSlotType = new aws.lex.V2modelsSlotType(\"example\", {\n botId: example.id,\n botVersion: exampleV2modelsBotLocale.botVersion,\n name: \"example\",\n localeId: exampleV2modelsBotLocale.localeId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsBot(\"example\",\n name=\"example\",\n idle_session_ttl_in_seconds=60,\n role_arn=example_aws_iam_role[\"arn\"],\n data_privacies=[{\n \"child_directed\": True,\n }])\nexample_v2models_bot_locale = aws.lex.V2modelsBotLocale(\"example\",\n locale_id=\"en_US\",\n bot_id=example.id,\n bot_version=\"DRAFT\",\n n_lu_intent_confidence_threshold=0.7)\nexample_v2models_bot_version = aws.lex.V2modelsBotVersion(\"example\",\n bot_id=example.id,\n locale_specification=example_v2models_bot_locale.locale_id.apply(lambda locale_id: {\n locale_id: {\n \"sourceBotVersion\": \"DRAFT\",\n },\n }))\nexample_v2models_slot_type = aws.lex.V2modelsSlotType(\"example\",\n bot_id=example.id,\n bot_version=example_v2models_bot_locale.bot_version,\n name=\"example\",\n locale_id=example_v2models_bot_locale.locale_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 example = new Aws.Lex.V2modelsBot(\"example\", new()\n {\n Name = \"example\",\n IdleSessionTtlInSeconds = 60,\n RoleArn = exampleAwsIamRole.Arn,\n DataPrivacies = new[]\n {\n new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs\n {\n ChildDirected = true,\n },\n },\n });\n\n var exampleV2modelsBotLocale = new Aws.Lex.V2modelsBotLocale(\"example\", new()\n {\n LocaleId = \"en_US\",\n BotId = example.Id,\n BotVersion = \"DRAFT\",\n NLuIntentConfidenceThreshold = 0.7,\n });\n\n var exampleV2modelsBotVersion = new Aws.Lex.V2modelsBotVersion(\"example\", new()\n {\n BotId = example.Id,\n LocaleSpecification = exampleV2modelsBotLocale.LocaleId.Apply(localeId =\u003e \n {\n { localeId, \n {\n { \"sourceBotVersion\", \"DRAFT\" },\n } },\n }),\n });\n\n var exampleV2modelsSlotType = new Aws.Lex.V2modelsSlotType(\"example\", new()\n {\n BotId = example.Id,\n BotVersion = exampleV2modelsBotLocale.BotVersion,\n Name = \"example\",\n LocaleId = exampleV2modelsBotLocale.LocaleId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexample, err := lex.NewV2modelsBot(ctx, \"example\", \u0026lex.V2modelsBotArgs{\nName: pulumi.String(\"example\"),\nIdleSessionTtlInSeconds: pulumi.Int(60),\nRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\nDataPrivacies: lex.V2modelsBotDataPrivacyArray{\n\u0026lex.V2modelsBotDataPrivacyArgs{\nChildDirected: pulumi.Bool(true),\n},\n},\n})\nif err != nil {\nreturn err\n}\nexampleV2modelsBotLocale, err := lex.NewV2modelsBotLocale(ctx, \"example\", \u0026lex.V2modelsBotLocaleArgs{\nLocaleId: pulumi.String(\"en_US\"),\nBotId: example.ID(),\nBotVersion: pulumi.String(\"DRAFT\"),\nNLuIntentConfidenceThreshold: pulumi.Float64(0.7),\n})\nif err != nil {\nreturn err\n}\n_, err = lex.NewV2modelsBotVersion(ctx, \"example\", \u0026lex.V2modelsBotVersionArgs{\nBotId: example.ID(),\nLocaleSpecification: exampleV2modelsBotLocale.LocaleId.ApplyT(func(localeId string) (map[string]map[string]interface{}, error) {\nreturn map[string]map[string]interface{}{\nlocaleId: map[string]interface{}{\n\"sourceBotVersion\": \"DRAFT\",\n},\n}, nil\n}).(pulumi.Map[string]map[string]interface{}Output),\n})\nif err != nil {\nreturn err\n}\n_, err = lex.NewV2modelsSlotType(ctx, \"example\", \u0026lex.V2modelsSlotTypeArgs{\nBotId: example.ID(),\nBotVersion: exampleV2modelsBotLocale.BotVersion,\nName: pulumi.String(\"example\"),\nLocaleId: exampleV2modelsBotLocale.LocaleId,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.lex.V2modelsBot;\nimport com.pulumi.aws.lex.V2modelsBotArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs;\nimport com.pulumi.aws.lex.V2modelsBotLocale;\nimport com.pulumi.aws.lex.V2modelsBotLocaleArgs;\nimport com.pulumi.aws.lex.V2modelsBotVersion;\nimport com.pulumi.aws.lex.V2modelsBotVersionArgs;\nimport com.pulumi.aws.lex.V2modelsSlotType;\nimport com.pulumi.aws.lex.V2modelsSlotTypeArgs;\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 V2modelsBot(\"example\", V2modelsBotArgs.builder()\n .name(\"example\")\n .idleSessionTtlInSeconds(60)\n .roleArn(exampleAwsIamRole.arn())\n .dataPrivacies(V2modelsBotDataPrivacyArgs.builder()\n .childDirected(true)\n .build())\n .build());\n\n var exampleV2modelsBotLocale = new V2modelsBotLocale(\"exampleV2modelsBotLocale\", V2modelsBotLocaleArgs.builder()\n .localeId(\"en_US\")\n .botId(example.id())\n .botVersion(\"DRAFT\")\n .nLuIntentConfidenceThreshold(0.7)\n .build());\n\n var exampleV2modelsBotVersion = new V2modelsBotVersion(\"exampleV2modelsBotVersion\", V2modelsBotVersionArgs.builder()\n .botId(example.id())\n .localeSpecification(exampleV2modelsBotLocale.localeId().applyValue(localeId -\u003e Map.of(localeId, Map.of(\"sourceBotVersion\", \"DRAFT\"))))\n .build());\n\n var exampleV2modelsSlotType = new V2modelsSlotType(\"exampleV2modelsSlotType\", V2modelsSlotTypeArgs.builder()\n .botId(example.id())\n .botVersion(exampleV2modelsBotLocale.botVersion())\n .name(\"example\")\n .localeId(exampleV2modelsBotLocale.localeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsBot\n properties:\n name: example\n idleSessionTtlInSeconds: 60\n roleArn: ${exampleAwsIamRole.arn}\n dataPrivacies:\n - childDirected: true\n exampleV2modelsBotLocale:\n type: aws:lex:V2modelsBotLocale\n name: example\n properties:\n localeId: en_US\n botId: ${example.id}\n botVersion: DRAFT\n nLuIntentConfidenceThreshold: 0.7\n exampleV2modelsBotVersion:\n type: aws:lex:V2modelsBotVersion\n name: example\n properties:\n botId: ${example.id}\n localeSpecification:\n ${exampleV2modelsBotLocale.localeId}:\n sourceBotVersion: DRAFT\n exampleV2modelsSlotType:\n type: aws:lex:V2modelsSlotType\n name: example\n properties:\n botId: ${example.id}\n botVersion: ${exampleV2modelsBotLocale.botVersion}\n name: example\n localeId: ${exampleV2modelsBotLocale.localeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### value_selection_setting 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.lex.V2modelsSlotType(\"example\", {\n botId: exampleAwsLexv2modelsBot.id,\n botVersion: exampleAwsLexv2modelsBotLocale.botVersion,\n name: \"example\",\n localeId: exampleAwsLexv2modelsBotLocale.localeId,\n valueSelectionSetting: {\n resolutionStrategy: \"OriginalValue\",\n advancedRecognitionSettings: [{\n audioRecognitionStrategy: \"UseSlotValuesAsCustomVocabulary\",\n }],\n },\n slotTypeValues: {\n sampleValues: [{\n value: \"exampleValue\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lex.V2modelsSlotType(\"example\",\n bot_id=example_aws_lexv2models_bot[\"id\"],\n bot_version=example_aws_lexv2models_bot_locale[\"botVersion\"],\n name=\"example\",\n locale_id=example_aws_lexv2models_bot_locale[\"localeId\"],\n value_selection_setting={\n \"resolution_strategy\": \"OriginalValue\",\n \"advanced_recognition_settings\": [{\n \"audio_recognition_strategy\": \"UseSlotValuesAsCustomVocabulary\",\n }],\n },\n slot_type_values={\n \"sample_values\": [{\n \"value\": \"exampleValue\",\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Lex.V2modelsSlotType(\"example\", new()\n {\n BotId = exampleAwsLexv2modelsBot.Id,\n BotVersion = exampleAwsLexv2modelsBotLocale.BotVersion,\n Name = \"example\",\n LocaleId = exampleAwsLexv2modelsBotLocale.LocaleId,\n ValueSelectionSetting = new Aws.Lex.Inputs.V2modelsSlotTypeValueSelectionSettingArgs\n {\n ResolutionStrategy = \"OriginalValue\",\n AdvancedRecognitionSettings = new[]\n {\n new Aws.Lex.Inputs.V2modelsSlotTypeValueSelectionSettingAdvancedRecognitionSettingArgs\n {\n AudioRecognitionStrategy = \"UseSlotValuesAsCustomVocabulary\",\n },\n },\n },\n SlotTypeValues = new Aws.Lex.Inputs.V2modelsSlotTypeSlotTypeValuesArgs\n {\n SampleValues = new[]\n {\n new Aws.Lex.Inputs.V2modelsSlotTypeSlotTypeValuesSampleValueArgs\n {\n Value = \"exampleValue\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex\"\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 := lex.NewV2modelsSlotType(ctx, \"example\", \u0026lex.V2modelsSlotTypeArgs{\n\t\t\tBotId: pulumi.Any(exampleAwsLexv2modelsBot.Id),\n\t\t\tBotVersion: pulumi.Any(exampleAwsLexv2modelsBotLocale.BotVersion),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocaleId: pulumi.Any(exampleAwsLexv2modelsBotLocale.LocaleId),\n\t\t\tValueSelectionSetting: \u0026lex.V2modelsSlotTypeValueSelectionSettingArgs{\n\t\t\t\tResolutionStrategy: pulumi.String(\"OriginalValue\"),\n\t\t\t\tAdvancedRecognitionSettings: lex.V2modelsSlotTypeValueSelectionSettingAdvancedRecognitionSettingArray{\n\t\t\t\t\t\u0026lex.V2modelsSlotTypeValueSelectionSettingAdvancedRecognitionSettingArgs{\n\t\t\t\t\t\tAudioRecognitionStrategy: pulumi.String(\"UseSlotValuesAsCustomVocabulary\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSlotTypeValues: \u0026lex.V2modelsSlotTypeSlotTypeValuesArgs{\n\t\t\t\tSampleValues: lex.V2modelsSlotTypeSlotTypeValuesSampleValueArray{\n\t\t\t\t\t\u0026lex.V2modelsSlotTypeSlotTypeValuesSampleValueArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"exampleValue\"),\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.lex.V2modelsSlotType;\nimport com.pulumi.aws.lex.V2modelsSlotTypeArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsSlotTypeValueSelectionSettingArgs;\nimport com.pulumi.aws.lex.inputs.V2modelsSlotTypeSlotTypeValuesArgs;\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 V2modelsSlotType(\"example\", V2modelsSlotTypeArgs.builder()\n .botId(exampleAwsLexv2modelsBot.id())\n .botVersion(exampleAwsLexv2modelsBotLocale.botVersion())\n .name(\"example\")\n .localeId(exampleAwsLexv2modelsBotLocale.localeId())\n .valueSelectionSetting(V2modelsSlotTypeValueSelectionSettingArgs.builder()\n .resolutionStrategy(\"OriginalValue\")\n .advancedRecognitionSettings(V2modelsSlotTypeValueSelectionSettingAdvancedRecognitionSettingArgs.builder()\n .audioRecognitionStrategy(\"UseSlotValuesAsCustomVocabulary\")\n .build())\n .build())\n .slotTypeValues(V2modelsSlotTypeSlotTypeValuesArgs.builder()\n .sampleValues(V2modelsSlotTypeSlotTypeValuesSampleValueArgs.builder()\n .value(\"exampleValue\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lex:V2modelsSlotType\n properties:\n botId: ${exampleAwsLexv2modelsBot.id}\n botVersion: ${exampleAwsLexv2modelsBotLocale.botVersion}\n name: example\n localeId: ${exampleAwsLexv2modelsBotLocale.localeId}\n valueSelectionSetting:\n resolutionStrategy: OriginalValue\n advancedRecognitionSettings:\n - audioRecognitionStrategy: UseSlotValuesAsCustomVocabulary\n slotTypeValues:\n sampleValues:\n - value: exampleValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Lex V2 Models Slot Type using using a comma-delimited string concatenating `bot_id`, `bot_version`, `locale_id`, and `slot_type_id`. For example:\n\n```sh\n$ pulumi import aws:lex/v2modelsSlotType:V2modelsSlotType example bot-1234,DRAFT,en_US,slot_type-id-12345678\n```\n", "properties": { "botId": { "type": "string", @@ -318642,6 +319188,310 @@ "type": "object" } }, + "aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList": { + "description": "Manages an AWS End User Messaging SMS opt-out list.\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 = new aws.pinpoint.Smsvoicev2OptOutList(\"example\", {name: \"example-opt-out-list\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pinpoint.Smsvoicev2OptOutList(\"example\", name=\"example-opt-out-list\")\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.Pinpoint.Smsvoicev2OptOutList(\"example\", new()\n {\n Name = \"example-opt-out-list\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\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 := pinpoint.NewSmsvoicev2OptOutList(ctx, \"example\", \u0026pinpoint.Smsvoicev2OptOutListArgs{\n\t\t\tName: pulumi.String(\"example-opt-out-list\"),\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.pinpoint.Smsvoicev2OptOutList;\nimport com.pulumi.aws.pinpoint.Smsvoicev2OptOutListArgs;\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 Smsvoicev2OptOutList(\"example\", Smsvoicev2OptOutListArgs.builder()\n .name(\"example-opt-out-list\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pinpoint:Smsvoicev2OptOutList\n properties:\n name: example-opt-out-list\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import opt-out lists using the `name`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList example example-opt-out-list\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the opt-out list.\n" + }, + "name": { + "type": "string", + "description": "The name of the opt-out list.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\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." + } + }, + "required": [ + "arn", + "name", + "tagsAll" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "The name of the opt-out list.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Smsvoicev2OptOutList resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the opt-out list.\n" + }, + "name": { + "type": "string", + "description": "The name of the opt-out list.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\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." + } + }, + "type": "object" + } + }, + "aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber": { + "description": "Manages an AWS End User Messaging SMS phone number.\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 = new aws.pinpoint.Smsvoicev2PhoneNumber(\"example\", {\n isoCountryCode: \"US\",\n messageType: \"TRANSACTIONAL\",\n numberType: \"TOLL_FREE\",\n numberCapabilities: [\"SMS\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pinpoint.Smsvoicev2PhoneNumber(\"example\",\n iso_country_code=\"US\",\n message_type=\"TRANSACTIONAL\",\n number_type=\"TOLL_FREE\",\n number_capabilities=[\"SMS\"])\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.Pinpoint.Smsvoicev2PhoneNumber(\"example\", new()\n {\n IsoCountryCode = \"US\",\n MessageType = \"TRANSACTIONAL\",\n NumberType = \"TOLL_FREE\",\n NumberCapabilities = new[]\n {\n \"SMS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\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 := pinpoint.NewSmsvoicev2PhoneNumber(ctx, \"example\", \u0026pinpoint.Smsvoicev2PhoneNumberArgs{\n\t\t\tIsoCountryCode: pulumi.String(\"US\"),\n\t\t\tMessageType: pulumi.String(\"TRANSACTIONAL\"),\n\t\t\tNumberType: pulumi.String(\"TOLL_FREE\"),\n\t\t\tNumberCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SMS\"),\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.pinpoint.Smsvoicev2PhoneNumber;\nimport com.pulumi.aws.pinpoint.Smsvoicev2PhoneNumberArgs;\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 Smsvoicev2PhoneNumber(\"example\", Smsvoicev2PhoneNumberArgs.builder()\n .isoCountryCode(\"US\")\n .messageType(\"TRANSACTIONAL\")\n .numberType(\"TOLL_FREE\")\n .numberCapabilities(\"SMS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pinpoint:Smsvoicev2PhoneNumber\n properties:\n isoCountryCode: US\n messageType: TRANSACTIONAL\n numberType: TOLL_FREE\n numberCapabilities:\n - SMS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import phone numbers using the `id`. For example:\n\n```sh\n$ pulumi import aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber example phone-abcdef0123456789abcdef0123456789\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the phone number.\n" + }, + "deletionProtectionEnabled": { + "type": "boolean", + "description": "By default this is set to `false`. When set to true the phone number can’t be deleted.\n" + }, + "isoCountryCode": { + "type": "string", + "description": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.\n" + }, + "messageType": { + "type": "string", + "description": "The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive.\n" + }, + "monthlyLeasingPrice": { + "type": "string", + "description": "The monthly price, in US dollars, to lease the phone number.\n" + }, + "numberCapabilities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`.\n" + }, + "numberType": { + "type": "string", + "description": "The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`.\n" + }, + "optOutListName": { + "type": "string", + "description": "The name of the opt-out list to associate with the phone number.\n" + }, + "phoneNumber": { + "type": "string", + "description": "The new phone number that was requested.\n" + }, + "registrationId": { + "type": "string", + "description": "Use this field to attach your phone number for an external registration process.\n" + }, + "selfManagedOptOutsEnabled": { + "type": "boolean", + "description": "When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:pinpoint/Smsvoicev2PhoneNumberTimeouts:Smsvoicev2PhoneNumberTimeouts" + }, + "twoWayChannelArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the two way channel.\n" + }, + "twoWayChannelEnabled": { + "type": "boolean", + "description": "By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients.\n" + } + }, + "required": [ + "arn", + "deletionProtectionEnabled", + "isoCountryCode", + "messageType", + "monthlyLeasingPrice", + "numberCapabilities", + "numberType", + "optOutListName", + "phoneNumber", + "selfManagedOptOutsEnabled", + "tagsAll", + "twoWayChannelEnabled" + ], + "inputProperties": { + "deletionProtectionEnabled": { + "type": "boolean", + "description": "By default this is set to `false`. When set to true the phone number can’t be deleted.\n" + }, + "isoCountryCode": { + "type": "string", + "description": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.\n" + }, + "messageType": { + "type": "string", + "description": "The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive.\n" + }, + "numberCapabilities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`.\n" + }, + "numberType": { + "type": "string", + "description": "The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`.\n" + }, + "optOutListName": { + "type": "string", + "description": "The name of the opt-out list to associate with the phone number.\n" + }, + "registrationId": { + "type": "string", + "description": "Use this field to attach your phone number for an external registration process.\n" + }, + "selfManagedOptOutsEnabled": { + "type": "boolean", + "description": "When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "timeouts": { + "$ref": "#/types/aws:pinpoint/Smsvoicev2PhoneNumberTimeouts:Smsvoicev2PhoneNumberTimeouts" + }, + "twoWayChannelArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the two way channel.\n" + }, + "twoWayChannelEnabled": { + "type": "boolean", + "description": "By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients.\n" + } + }, + "requiredInputs": [ + "isoCountryCode", + "messageType", + "numberCapabilities", + "numberType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Smsvoicev2PhoneNumber resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the phone number.\n" + }, + "deletionProtectionEnabled": { + "type": "boolean", + "description": "By default this is set to `false`. When set to true the phone number can’t be deleted.\n" + }, + "isoCountryCode": { + "type": "string", + "description": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.\n" + }, + "messageType": { + "type": "string", + "description": "The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive.\n" + }, + "monthlyLeasingPrice": { + "type": "string", + "description": "The monthly price, in US dollars, to lease the phone number.\n" + }, + "numberCapabilities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`.\n" + }, + "numberType": { + "type": "string", + "description": "The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`.\n" + }, + "optOutListName": { + "type": "string", + "description": "The name of the opt-out list to associate with the phone number.\n" + }, + "phoneNumber": { + "type": "string", + "description": "The new phone number that was requested.\n" + }, + "registrationId": { + "type": "string", + "description": "Use this field to attach your phone number for an external registration process.\n" + }, + "selfManagedOptOutsEnabled": { + "type": "boolean", + "description": "When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:pinpoint/Smsvoicev2PhoneNumberTimeouts:Smsvoicev2PhoneNumberTimeouts" + }, + "twoWayChannelArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the two way channel.\n" + }, + "twoWayChannelEnabled": { + "type": "boolean", + "description": "By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients.\n" + } + }, + "type": "object" + } + }, "aws:pipes/pipe:Pipe": { "description": "Resource for managing an AWS EventBridge Pipes Pipe.\n\nYou can find out more about EventBridge Pipes in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\nEventBridge Pipes are very configurable, and may require IAM permissions to work correctly. More information on the configuration options and IAM permissions can be found in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html).\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\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 main = aws.getCallerIdentity({});\nconst example = new aws.iam.Role(\"example\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: {\n Effect: \"Allow\",\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"pipes.amazonaws.com\",\n },\n Condition: {\n StringEquals: {\n \"aws:SourceAccount\": main.then(main =\u003e main.accountId),\n },\n },\n },\n})});\nconst sourceQueue = new aws.sqs.Queue(\"source\", {});\nconst source = new aws.iam.RolePolicy(\"source\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n Resource: [sourceQueue.arn],\n }],\n }),\n});\nconst targetQueue = new aws.sqs.Queue(\"target\", {});\nconst target = new aws.iam.RolePolicy(\"target\", {\n role: example.id,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"sqs:SendMessage\"],\n Resource: [targetQueue.arn],\n }],\n }),\n});\nconst examplePipe = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: example.arn,\n source: sourceQueue.arn,\n target: targetQueue.arn,\n}, {\n dependsOn: [\n source,\n target,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nmain = aws.get_caller_identity()\nexample = aws.iam.Role(\"example\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": {\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"pipes.amazonaws.com\",\n },\n \"Condition\": {\n \"StringEquals\": {\n \"aws:SourceAccount\": main.account_id,\n },\n },\n },\n}))\nsource_queue = aws.sqs.Queue(\"source\")\nsource = aws.iam.RolePolicy(\"source\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n ],\n \"Resource\": [source_queue.arn],\n }],\n }))\ntarget_queue = aws.sqs.Queue(\"target\")\ntarget = aws.iam.RolePolicy(\"target\",\n role=example.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"sqs:SendMessage\"],\n \"Resource\": [target_queue.arn],\n }],\n }))\nexample_pipe = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example.arn,\n source=source_queue.arn,\n target=target_queue.arn,\n opts = pulumi.ResourceOptions(depends_on=[\n source,\n target,\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 main = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"pipes.amazonaws.com\",\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"StringEquals\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceAccount\"] = main.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n }),\n });\n\n var sourceQueue = new Aws.Sqs.Queue(\"source\");\n\n var source = new Aws.Iam.RolePolicy(\"source\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:DeleteMessage\",\n \"sqs:GetQueueAttributes\",\n \"sqs:ReceiveMessage\",\n },\n [\"Resource\"] = new[]\n {\n sourceQueue.Arn,\n },\n },\n },\n })),\n });\n\n var targetQueue = new Aws.Sqs.Queue(\"target\");\n\n var target = new Aws.Iam.RolePolicy(\"target\", new()\n {\n Role = example.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"sqs:SendMessage\",\n },\n [\"Resource\"] = new[]\n {\n targetQueue.Arn,\n },\n },\n },\n })),\n });\n\n var examplePipe = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = example.Arn,\n Source = sourceQueue.Arn,\n Target = targetQueue.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n source,\n target,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := aws.GetCallerIdentity(ctx, nil, 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\t\"Effect\": \"Allow\",\n\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\"Service\": \"pipes.amazonaws.com\",\n\t\t\t\t},\n\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\"aws:SourceAccount\": main.AccountId,\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\texample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\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\tsourceQueue, err := sqs.NewQueue(ctx, \"source\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := iam.NewRolePolicy(ctx, \"source\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: sourceQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:DeleteMessage\",\n\t\t\t\t\t\t\t\t\"sqs:GetQueueAttributes\",\n\t\t\t\t\t\t\t\t\"sqs:ReceiveMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetQueue, err := sqs.NewQueue(ctx, \"target\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := iam.NewRolePolicy(ctx, \"target\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: example.ID(),\n\t\t\tPolicy: targetQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"sqs:SendMessage\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tarn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson2 := string(tmpJSON2)\n\t\t\t\treturn pulumi.String(json2), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: example.Arn,\n\t\t\tSource: sourceQueue.Arn,\n\t\t\tTarget: targetQueue.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsource,\n\t\t\ttarget,\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.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sqs.Queue;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = AwsFunctions.getCallerIdentity();\n\n var example = new Role(\"example\", RoleArgs.builder()\n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"pipes.amazonaws.com\")\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"StringEquals\", jsonObject(\n jsonProperty(\"aws:SourceAccount\", main.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n ))\n ))\n ))\n )))\n .build());\n\n var sourceQueue = new Queue(\"sourceQueue\");\n\n var source = new RolePolicy(\"source\", RolePolicyArgs.builder()\n .role(example.id())\n .policy(sourceQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"sqs:DeleteMessage\", \n \"sqs:GetQueueAttributes\", \n \"sqs:ReceiveMessage\"\n )),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var targetQueue = new Queue(\"targetQueue\");\n\n var target = new RolePolicy(\"target\", RolePolicyArgs.builder()\n .role(example.id())\n .policy(targetQueue.arn().applyValue(arn -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"sqs:SendMessage\")),\n jsonProperty(\"Resource\", jsonArray(arn))\n )))\n ))))\n .build());\n\n var examplePipe = new Pipe(\"examplePipe\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(example.arn())\n .source(sourceQueue.arn())\n .target(targetQueue.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n source,\n target)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n Effect: Allow\n Action: sts:AssumeRole\n Principal:\n Service: pipes.amazonaws.com\n Condition:\n StringEquals:\n aws:SourceAccount: ${main.accountId}\n source:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:DeleteMessage\n - sqs:GetQueueAttributes\n - sqs:ReceiveMessage\n Resource:\n - ${sourceQueue.arn}\n sourceQueue:\n type: aws:sqs:Queue\n name: source\n target:\n type: aws:iam:RolePolicy\n properties:\n role: ${example.id}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - sqs:SendMessage\n Resource:\n - ${targetQueue.arn}\n targetQueue:\n type: aws:sqs:Queue\n name: target\n examplePipe:\n type: aws:pipes:Pipe\n name: example\n properties:\n name: example-pipe\n roleArn: ${example.arn}\n source: ${sourceQueue.arn}\n target: ${targetQueue.arn}\n options:\n dependson:\n - ${source}\n - ${target}\nvariables:\n main:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enrichment 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.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n enrichment: exampleAwsCloudwatchEventApiDestination.arn,\n enrichmentParameters: {\n httpParameters: {\n pathParameterValues: \"example-path-param\",\n headerParameters: {\n \"example-header\": \"example-value\",\n \"second-example-header\": \"second-example-value\",\n },\n queryStringParameters: {\n \"example-query-string\": \"example-value\",\n \"second-example-query-string\": \"second-example-value\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n enrichment=example_aws_cloudwatch_event_api_destination[\"arn\"],\n enrichment_parameters={\n \"http_parameters\": {\n \"path_parameter_values\": \"example-path-param\",\n \"header_parameters\": {\n \"example_header\": \"example-value\",\n \"second_example_header\": \"second-example-value\",\n },\n \"query_string_parameters\": {\n \"example_query_string\": \"example-value\",\n \"second_example_query_string\": \"second-example-value\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n Enrichment = exampleAwsCloudwatchEventApiDestination.Arn,\n EnrichmentParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersArgs\n {\n HttpParameters = new Aws.Pipes.Inputs.PipeEnrichmentParametersHttpParametersArgs\n {\n PathParameterValues = \"example-path-param\",\n HeaderParameters = \n {\n { \"example-header\", \"example-value\" },\n { \"second-example-header\", \"second-example-value\" },\n },\n QueryStringParameters = \n {\n { \"example-query-string\", \"example-value\" },\n { \"second-example-query-string\", \"second-example-value\" },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tEnrichment: pulumi.Any(exampleAwsCloudwatchEventApiDestination.Arn),\n\t\t\tEnrichmentParameters: \u0026pipes.PipeEnrichmentParametersArgs{\n\t\t\t\tHttpParameters: \u0026pipes.PipeEnrichmentParametersHttpParametersArgs{\n\t\t\t\t\tPathParameterValues: pulumi.String(\"example-path-param\"),\n\t\t\t\t\tHeaderParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-header\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-header\": pulumi.String(\"second-example-value\"),\n\t\t\t\t\t},\n\t\t\t\t\tQueryStringParameters: pulumi.StringMap{\n\t\t\t\t\t\t\"example-query-string\": pulumi.String(\"example-value\"),\n\t\t\t\t\t\t\"second-example-query-string\": pulumi.String(\"second-example-value\"),\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.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeEnrichmentParametersHttpParametersArgs;\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 Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .enrichment(exampleAwsCloudwatchEventApiDestination.arn())\n .enrichmentParameters(PipeEnrichmentParametersArgs.builder()\n .httpParameters(PipeEnrichmentParametersHttpParametersArgs.builder()\n .pathParameterValues(\"example-path-param\")\n .headerParameters(Map.ofEntries(\n Map.entry(\"example-header\", \"example-value\"),\n Map.entry(\"second-example-header\", \"second-example-value\")\n ))\n .queryStringParameters(Map.ofEntries(\n Map.entry(\"example-query-string\", \"example-value\"),\n Map.entry(\"second-example-query-string\", \"second-example-value\")\n ))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n enrichment: ${exampleAwsCloudwatchEventApiDestination.arn}\n enrichmentParameters:\n httpParameters:\n pathParameterValues: example-path-param\n headerParameters:\n example-header: example-value\n second-example-header: second-example-value\n queryStringParameters:\n example-query-string: example-value\n second-example-query-string: second-example-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Filter 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.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n sourceParameters: {\n filterCriteria: {\n filters: [{\n pattern: JSON.stringify({\n source: [\"event-source\"],\n }),\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n source_parameters={\n \"filter_criteria\": {\n \"filters\": [{\n \"pattern\": json.dumps({\n \"source\": [\"event-source\"],\n }),\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs\n {\n FilterCriteria = new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaArgs\n {\n Filters = new[]\n {\n new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaFilterArgs\n {\n Pattern = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"source\"] = new[]\n {\n \"event-source\",\n },\n }),\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"source\": []string{\n\t\t\t\t\"event-source\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tSourceParameters: \u0026pipes.PipeSourceParametersArgs{\n\t\t\t\tFilterCriteria: \u0026pipes.PipeSourceParametersFilterCriteriaArgs{\n\t\t\t\t\tFilters: pipes.PipeSourceParametersFilterCriteriaFilterArray{\n\t\t\t\t\t\t\u0026pipes.PipeSourceParametersFilterCriteriaFilterArgs{\n\t\t\t\t\t\t\tPattern: pulumi.String(json0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersFilterCriteriaArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .filterCriteria(PipeSourceParametersFilterCriteriaArgs.builder()\n .filters(PipeSourceParametersFilterCriteriaFilterArgs.builder()\n .pattern(serializeJson(\n jsonObject(\n jsonProperty(\"source\", jsonArray(\"event-source\"))\n )))\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n filterCriteria:\n filters:\n - pattern:\n fn::toJSON:\n source:\n - event-source\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch Logs Logging Configuration 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.cloudwatch.LogGroup(\"example\", {name: \"example-pipe-target\"});\nconst examplePipe = new aws.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: sourceAwsSqsQueue.arn,\n target: targetAwsSqsQueue.arn,\n logConfiguration: {\n includeExecutionDatas: [\"ALL\"],\n level: \"INFO\",\n cloudwatchLogsLogDestination: {\n logGroupArn: targetAwsCloudwatchLogGroup.arn,\n },\n },\n}, {\n dependsOn: [\n source,\n target,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example-pipe-target\")\nexample_pipe = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source_aws_sqs_queue[\"arn\"],\n target=target_aws_sqs_queue[\"arn\"],\n log_configuration={\n \"include_execution_datas\": [\"ALL\"],\n \"level\": \"INFO\",\n \"cloudwatch_logs_log_destination\": {\n \"log_group_arn\": target_aws_cloudwatch_log_group[\"arn\"],\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[\n source,\n target,\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.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example-pipe-target\",\n });\n\n var examplePipe = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = sourceAwsSqsQueue.Arn,\n Target = targetAwsSqsQueue.Arn,\n LogConfiguration = new Aws.Pipes.Inputs.PipeLogConfigurationArgs\n {\n IncludeExecutionDatas = new[]\n {\n \"ALL\",\n },\n Level = \"INFO\",\n CloudwatchLogsLogDestination = new Aws.Pipes.Inputs.PipeLogConfigurationCloudwatchLogsLogDestinationArgs\n {\n LogGroupArn = targetAwsCloudwatchLogGroup.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n source,\n target,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example-pipe-target\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(sourceAwsSqsQueue.Arn),\n\t\t\tTarget: pulumi.Any(targetAwsSqsQueue.Arn),\n\t\t\tLogConfiguration: \u0026pipes.PipeLogConfigurationArgs{\n\t\t\t\tIncludeExecutionDatas: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t\tLevel: pulumi.String(\"INFO\"),\n\t\t\t\tCloudwatchLogsLogDestination: \u0026pipes.PipeLogConfigurationCloudwatchLogsLogDestinationArgs{\n\t\t\t\t\tLogGroupArn: pulumi.Any(targetAwsCloudwatchLogGroup.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsource,\n\t\t\ttarget,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeLogConfigurationArgs;\nimport com.pulumi.aws.pipes.inputs.PipeLogConfigurationCloudwatchLogsLogDestinationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example-pipe-target\")\n .build());\n\n var examplePipe = new Pipe(\"examplePipe\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(sourceAwsSqsQueue.arn())\n .target(targetAwsSqsQueue.arn())\n .logConfiguration(PipeLogConfigurationArgs.builder()\n .includeExecutionDatas(\"ALL\")\n .level(\"INFO\")\n .cloudwatchLogsLogDestination(PipeLogConfigurationCloudwatchLogsLogDestinationArgs.builder()\n .logGroupArn(targetAwsCloudwatchLogGroup.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n source,\n target)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example-pipe-target\n examplePipe:\n type: aws:pipes:Pipe\n name: example\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${sourceAwsSqsQueue.arn}\n target: ${targetAwsSqsQueue.arn}\n logConfiguration:\n includeExecutionDatas:\n - ALL\n level: INFO\n cloudwatchLogsLogDestination:\n logGroupArn: ${targetAwsCloudwatchLogGroup.arn}\n options:\n dependson:\n - ${source}\n - ${target}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SQS Source and Target Configuration 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.pipes.Pipe(\"example\", {\n name: \"example-pipe\",\n roleArn: exampleAwsIamRole.arn,\n source: source.arn,\n target: target.arn,\n sourceParameters: {\n sqsQueueParameters: {\n batchSize: 1,\n maximumBatchingWindowInSeconds: 2,\n },\n },\n targetParameters: {\n sqsQueueParameters: {\n messageDeduplicationId: \"example-dedupe\",\n messageGroupId: \"example-group\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pipes.Pipe(\"example\",\n name=\"example-pipe\",\n role_arn=example_aws_iam_role[\"arn\"],\n source=source[\"arn\"],\n target=target[\"arn\"],\n source_parameters={\n \"sqs_queue_parameters\": {\n \"batch_size\": 1,\n \"maximum_batching_window_in_seconds\": 2,\n },\n },\n target_parameters={\n \"sqs_queue_parameters\": {\n \"message_deduplication_id\": \"example-dedupe\",\n \"message_group_id\": \"example-group\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Pipes.Pipe(\"example\", new()\n {\n Name = \"example-pipe\",\n RoleArn = exampleAwsIamRole.Arn,\n Source = source.Arn,\n Target = target.Arn,\n SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs\n {\n SqsQueueParameters = new Aws.Pipes.Inputs.PipeSourceParametersSqsQueueParametersArgs\n {\n BatchSize = 1,\n MaximumBatchingWindowInSeconds = 2,\n },\n },\n TargetParameters = new Aws.Pipes.Inputs.PipeTargetParametersArgs\n {\n SqsQueueParameters = new Aws.Pipes.Inputs.PipeTargetParametersSqsQueueParametersArgs\n {\n MessageDeduplicationId = \"example-dedupe\",\n MessageGroupId = \"example-group\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes\"\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 := pipes.NewPipe(ctx, \"example\", \u0026pipes.PipeArgs{\n\t\t\tName: pulumi.String(\"example-pipe\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tSource: pulumi.Any(source.Arn),\n\t\t\tTarget: pulumi.Any(target.Arn),\n\t\t\tSourceParameters: \u0026pipes.PipeSourceParametersArgs{\n\t\t\t\tSqsQueueParameters: \u0026pipes.PipeSourceParametersSqsQueueParametersArgs{\n\t\t\t\t\tBatchSize: pulumi.Int(1),\n\t\t\t\t\tMaximumBatchingWindowInSeconds: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTargetParameters: \u0026pipes.PipeTargetParametersArgs{\n\t\t\t\tSqsQueueParameters: \u0026pipes.PipeTargetParametersSqsQueueParametersArgs{\n\t\t\t\t\tMessageDeduplicationId: pulumi.String(\"example-dedupe\"),\n\t\t\t\t\tMessageGroupId: pulumi.String(\"example-group\"),\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.pipes.Pipe;\nimport com.pulumi.aws.pipes.PipeArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeSourceParametersSqsQueueParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeTargetParametersArgs;\nimport com.pulumi.aws.pipes.inputs.PipeTargetParametersSqsQueueParametersArgs;\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 Pipe(\"example\", PipeArgs.builder()\n .name(\"example-pipe\")\n .roleArn(exampleAwsIamRole.arn())\n .source(source.arn())\n .target(target.arn())\n .sourceParameters(PipeSourceParametersArgs.builder()\n .sqsQueueParameters(PipeSourceParametersSqsQueueParametersArgs.builder()\n .batchSize(1)\n .maximumBatchingWindowInSeconds(2)\n .build())\n .build())\n .targetParameters(PipeTargetParametersArgs.builder()\n .sqsQueueParameters(PipeTargetParametersSqsQueueParametersArgs.builder()\n .messageDeduplicationId(\"example-dedupe\")\n .messageGroupId(\"example-group\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pipes:Pipe\n properties:\n name: example-pipe\n roleArn: ${exampleAwsIamRole.arn}\n source: ${source.arn}\n target: ${target.arn}\n sourceParameters:\n sqsQueueParameters:\n batchSize: 1\n maximumBatchingWindowInSeconds: 2\n targetParameters:\n sqsQueueParameters:\n messageDeduplicationId: example-dedupe\n messageGroupId: example-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import pipes using the `name`. For example:\n\n```sh\n$ pulumi import aws:pipes/pipe:Pipe example my-pipe\n```\n", "properties": { @@ -340739,7 +341589,7 @@ } }, "aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2": { - "description": "Provides a S3 bucket server-side encryption configuration resource.\n\n\u003e **NOTE:** Destroying an `aws.s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).\n\n\u003e This resource cannot be used with S3 directory buckets.\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 mykey = new aws.kms.Key(\"mykey\", {\n description: \"This key is used to encrypt bucket objects\",\n deletionWindowInDays: 10,\n});\nconst mybucket = new aws.s3.BucketV2(\"mybucket\", {bucket: \"mybucket\"});\nconst example = new aws.s3.BucketServerSideEncryptionConfigurationV2(\"example\", {\n bucket: mybucket.id,\n rules: [{\n applyServerSideEncryptionByDefault: {\n kmsMasterKeyId: mykey.arn,\n sseAlgorithm: \"aws:kms\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmykey = aws.kms.Key(\"mykey\",\n description=\"This key is used to encrypt bucket objects\",\n deletion_window_in_days=10)\nmybucket = aws.s3.BucketV2(\"mybucket\", bucket=\"mybucket\")\nexample = aws.s3.BucketServerSideEncryptionConfigurationV2(\"example\",\n bucket=mybucket.id,\n rules=[{\n \"apply_server_side_encryption_by_default\": {\n \"kms_master_key_id\": mykey.arn,\n \"sse_algorithm\": \"aws:kms\",\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mykey = new Aws.Kms.Key(\"mykey\", new()\n {\n Description = \"This key is used to encrypt bucket objects\",\n DeletionWindowInDays = 10,\n });\n\n var mybucket = new Aws.S3.BucketV2(\"mybucket\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var example = new Aws.S3.BucketServerSideEncryptionConfigurationV2(\"example\", new()\n {\n Bucket = mybucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationV2RuleArgs\n {\n ApplyServerSideEncryptionByDefault = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs\n {\n KmsMasterKeyId = mykey.Arn,\n SseAlgorithm = \"aws:kms\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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\tmykey, err := kms.NewKey(ctx, \"mykey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"This key is used to encrypt bucket objects\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmybucket, err := s3.NewBucketV2(ctx, \"mybucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketServerSideEncryptionConfigurationV2(ctx, \"example\", \u0026s3.BucketServerSideEncryptionConfigurationV2Args{\n\t\t\tBucket: mybucket.ID(),\n\t\t\tRules: s3.BucketServerSideEncryptionConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketServerSideEncryptionConfigurationV2RuleArgs{\n\t\t\t\t\tApplyServerSideEncryptionByDefault: \u0026s3.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs{\n\t\t\t\t\t\tKmsMasterKeyId: mykey.Arn,\n\t\t\t\t\t\tSseAlgorithm: pulumi.String(\"aws:kms\"),\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.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketServerSideEncryptionConfigurationV2;\nimport com.pulumi.aws.s3.BucketServerSideEncryptionConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs;\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 mykey = new Key(\"mykey\", KeyArgs.builder()\n .description(\"This key is used to encrypt bucket objects\")\n .deletionWindowInDays(10)\n .build());\n\n var mybucket = new BucketV2(\"mybucket\", BucketV2Args.builder()\n .bucket(\"mybucket\")\n .build());\n\n var example = new BucketServerSideEncryptionConfigurationV2(\"example\", BucketServerSideEncryptionConfigurationV2Args.builder()\n .bucket(mybucket.id())\n .rules(BucketServerSideEncryptionConfigurationV2RuleArgs.builder()\n .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs.builder()\n .kmsMasterKeyId(mykey.arn())\n .sseAlgorithm(\"aws:kms\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mykey:\n type: aws:kms:Key\n properties:\n description: This key is used to encrypt bucket objects\n deletionWindowInDays: 10\n mybucket:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n example:\n type: aws:s3:BucketServerSideEncryptionConfigurationV2\n properties:\n bucket: ${mybucket.id}\n rules:\n - applyServerSideEncryptionByDefault:\n kmsMasterKeyId: ${mykey.arn}\n sseAlgorithm: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket server-side encryption configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name,123456789012\n```\n", + "description": "Provides a S3 bucket server-side encryption configuration resource.\n\n\u003e **NOTE:** Destroying an `aws.s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).\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 mykey = new aws.kms.Key(\"mykey\", {\n description: \"This key is used to encrypt bucket objects\",\n deletionWindowInDays: 10,\n});\nconst mybucket = new aws.s3.BucketV2(\"mybucket\", {bucket: \"mybucket\"});\nconst example = new aws.s3.BucketServerSideEncryptionConfigurationV2(\"example\", {\n bucket: mybucket.id,\n rules: [{\n applyServerSideEncryptionByDefault: {\n kmsMasterKeyId: mykey.arn,\n sseAlgorithm: \"aws:kms\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmykey = aws.kms.Key(\"mykey\",\n description=\"This key is used to encrypt bucket objects\",\n deletion_window_in_days=10)\nmybucket = aws.s3.BucketV2(\"mybucket\", bucket=\"mybucket\")\nexample = aws.s3.BucketServerSideEncryptionConfigurationV2(\"example\",\n bucket=mybucket.id,\n rules=[{\n \"apply_server_side_encryption_by_default\": {\n \"kms_master_key_id\": mykey.arn,\n \"sse_algorithm\": \"aws:kms\",\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mykey = new Aws.Kms.Key(\"mykey\", new()\n {\n Description = \"This key is used to encrypt bucket objects\",\n DeletionWindowInDays = 10,\n });\n\n var mybucket = new Aws.S3.BucketV2(\"mybucket\", new()\n {\n Bucket = \"mybucket\",\n });\n\n var example = new Aws.S3.BucketServerSideEncryptionConfigurationV2(\"example\", new()\n {\n Bucket = mybucket.Id,\n Rules = new[]\n {\n new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationV2RuleArgs\n {\n ApplyServerSideEncryptionByDefault = new Aws.S3.Inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs\n {\n KmsMasterKeyId = mykey.Arn,\n SseAlgorithm = \"aws:kms\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\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\tmykey, err := kms.NewKey(ctx, \"mykey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"This key is used to encrypt bucket objects\"),\n\t\t\tDeletionWindowInDays: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmybucket, err := s3.NewBucketV2(ctx, \"mybucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"mybucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketServerSideEncryptionConfigurationV2(ctx, \"example\", \u0026s3.BucketServerSideEncryptionConfigurationV2Args{\n\t\t\tBucket: mybucket.ID(),\n\t\t\tRules: s3.BucketServerSideEncryptionConfigurationV2RuleArray{\n\t\t\t\t\u0026s3.BucketServerSideEncryptionConfigurationV2RuleArgs{\n\t\t\t\t\tApplyServerSideEncryptionByDefault: \u0026s3.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs{\n\t\t\t\t\t\tKmsMasterKeyId: mykey.Arn,\n\t\t\t\t\t\tSseAlgorithm: pulumi.String(\"aws:kms\"),\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.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketServerSideEncryptionConfigurationV2;\nimport com.pulumi.aws.s3.BucketServerSideEncryptionConfigurationV2Args;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleArgs;\nimport com.pulumi.aws.s3.inputs.BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs;\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 mykey = new Key(\"mykey\", KeyArgs.builder()\n .description(\"This key is used to encrypt bucket objects\")\n .deletionWindowInDays(10)\n .build());\n\n var mybucket = new BucketV2(\"mybucket\", BucketV2Args.builder()\n .bucket(\"mybucket\")\n .build());\n\n var example = new BucketServerSideEncryptionConfigurationV2(\"example\", BucketServerSideEncryptionConfigurationV2Args.builder()\n .bucket(mybucket.id())\n .rules(BucketServerSideEncryptionConfigurationV2RuleArgs.builder()\n .applyServerSideEncryptionByDefault(BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultArgs.builder()\n .kmsMasterKeyId(mykey.arn())\n .sseAlgorithm(\"aws:kms\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mykey:\n type: aws:kms:Key\n properties:\n description: This key is used to encrypt bucket objects\n deletionWindowInDays: 10\n mybucket:\n type: aws:s3:BucketV2\n properties:\n bucket: mybucket\n example:\n type: aws:s3:BucketServerSideEncryptionConfigurationV2\n properties:\n bucket: ${mybucket.id}\n rules:\n - applyServerSideEncryptionByDefault:\n kmsMasterKeyId: ${mykey.arn}\n sseAlgorithm: aws:kms\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n__Using `pulumi import` to import__ S3 bucket server-side encryption configuration using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example:\n\nIf the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`:\n\n```sh\n$ pulumi import aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name\n```\nIf the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`):\n\n```sh\n$ pulumi import aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2 example bucket-name,123456789012\n```\n", "properties": { "bucket": { "type": "string", @@ -353682,6 +354532,46 @@ "type": "object" } }, + "aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes": { + "description": "Manages AWS SESv2 (Simple Email V2) account-level suppression attributes.\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 = new aws.sesv2.AccountSuppressionAttributes(\"example\", {suppressedReasons: [\"COMPLAINT\"]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.AccountSuppressionAttributes(\"example\", suppressed_reasons=[\"COMPLAINT\"])\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.SesV2.AccountSuppressionAttributes(\"example\", new()\n {\n SuppressedReasons = new[]\n {\n \"COMPLAINT\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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 := sesv2.NewAccountSuppressionAttributes(ctx, \"example\", \u0026sesv2.AccountSuppressionAttributesArgs{\n\t\t\tSuppressedReasons: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"COMPLAINT\"),\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.sesv2.AccountSuppressionAttributes;\nimport com.pulumi.aws.sesv2.AccountSuppressionAttributesArgs;\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 AccountSuppressionAttributes(\"example\", AccountSuppressionAttributesArgs.builder()\n .suppressedReasons(\"COMPLAINT\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:AccountSuppressionAttributes\n properties:\n suppressedReasons:\n - COMPLAINT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import account-level suppression attributes using the account ID. For example:\n\n```sh\n$ pulumi import aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes example 123456789012\n```\n", + "properties": { + "suppressedReasons": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`.\n" + } + }, + "required": [ + "suppressedReasons" + ], + "inputProperties": { + "suppressedReasons": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`.\n" + } + }, + "requiredInputs": [ + "suppressedReasons" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AccountSuppressionAttributes resources.\n", + "properties": { + "suppressedReasons": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`.\n" + } + }, + "type": "object" + } + }, "aws:sesv2/accountVdmAttributes:AccountVdmAttributes": { "description": "Resource for managing an AWS SESv2 (Simple Email V2) Account VDM Attributes.\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.sesv2.AccountVdmAttributes(\"example\", {\n vdmEnabled: \"ENABLED\",\n dashboardAttributes: {\n engagementMetrics: \"ENABLED\",\n },\n guardianAttributes: {\n optimizedSharedDelivery: \"ENABLED\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.AccountVdmAttributes(\"example\",\n vdm_enabled=\"ENABLED\",\n dashboard_attributes={\n \"engagement_metrics\": \"ENABLED\",\n },\n guardian_attributes={\n \"optimized_shared_delivery\": \"ENABLED\",\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.SesV2.AccountVdmAttributes(\"example\", new()\n {\n VdmEnabled = \"ENABLED\",\n DashboardAttributes = new Aws.SesV2.Inputs.AccountVdmAttributesDashboardAttributesArgs\n {\n EngagementMetrics = \"ENABLED\",\n },\n GuardianAttributes = new Aws.SesV2.Inputs.AccountVdmAttributesGuardianAttributesArgs\n {\n OptimizedSharedDelivery = \"ENABLED\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\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 := sesv2.NewAccountVdmAttributes(ctx, \"example\", \u0026sesv2.AccountVdmAttributesArgs{\n\t\t\tVdmEnabled: pulumi.String(\"ENABLED\"),\n\t\t\tDashboardAttributes: \u0026sesv2.AccountVdmAttributesDashboardAttributesArgs{\n\t\t\t\tEngagementMetrics: pulumi.String(\"ENABLED\"),\n\t\t\t},\n\t\t\tGuardianAttributes: \u0026sesv2.AccountVdmAttributesGuardianAttributesArgs{\n\t\t\t\tOptimizedSharedDelivery: pulumi.String(\"ENABLED\"),\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.sesv2.AccountVdmAttributes;\nimport com.pulumi.aws.sesv2.AccountVdmAttributesArgs;\nimport com.pulumi.aws.sesv2.inputs.AccountVdmAttributesDashboardAttributesArgs;\nimport com.pulumi.aws.sesv2.inputs.AccountVdmAttributesGuardianAttributesArgs;\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 AccountVdmAttributes(\"example\", AccountVdmAttributesArgs.builder()\n .vdmEnabled(\"ENABLED\")\n .dashboardAttributes(AccountVdmAttributesDashboardAttributesArgs.builder()\n .engagementMetrics(\"ENABLED\")\n .build())\n .guardianAttributes(AccountVdmAttributesGuardianAttributesArgs.builder()\n .optimizedSharedDelivery(\"ENABLED\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:AccountVdmAttributes\n properties:\n vdmEnabled: ENABLED\n dashboardAttributes:\n engagementMetrics: ENABLED\n guardianAttributes:\n optimizedSharedDelivery: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Account VDM Attributes using the word `ses-account-vdm-attributes`. For example:\n\n```sh\n$ pulumi import aws:sesv2/accountVdmAttributes:AccountVdmAttributes example ses-account-vdm-attributes\n```\n", "properties": { @@ -394291,6 +395181,76 @@ "type": "object" } }, + "aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering": { + "description": "Information about a single ElastiCache Reserved Cache Node Offering.\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.elasticache.getReservedCacheNodeOffering({\n cacheNodeType: \"cache.t4g.small\",\n duration: \"P1Y\",\n offeringType: \"No Upfront\",\n productDescription: \"redis\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.get_reserved_cache_node_offering(cache_node_type=\"cache.t4g.small\",\n duration=\"P1Y\",\n offering_type=\"No Upfront\",\n product_description=\"redis\")\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.ElastiCache.GetReservedCacheNodeOffering.Invoke(new()\n {\n CacheNodeType = \"cache.t4g.small\",\n Duration = \"P1Y\",\n OfferingType = \"No Upfront\",\n ProductDescription = \"redis\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.GetReservedCacheNodeOffering(ctx, \u0026elasticache.GetReservedCacheNodeOfferingArgs{\n\t\t\tCacheNodeType: \"cache.t4g.small\",\n\t\t\tDuration: \"P1Y\",\n\t\t\tOfferingType: \"No Upfront\",\n\t\t\tProductDescription: \"redis\",\n\t\t}, nil)\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.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs;\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 = ElasticacheFunctions.getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs.builder()\n .cacheNodeType(\"cache.t4g.small\")\n .duration(\"P1Y\")\n .offeringType(\"No Upfront\")\n .productDescription(\"redis\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:elasticache:getReservedCacheNodeOffering\n Arguments:\n cacheNodeType: cache.t4g.small\n duration: P1Y\n offeringType: No Upfront\n productDescription: redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getReservedCacheNodeOffering.\n", + "properties": { + "cacheNodeType": { + "type": "string", + "description": "Node type for the reserved cache node.\nSee AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nSee AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html).\n" + }, + "duration": { + "type": "string", + "description": "Duration of the reservation in RFC3339 duration format.\nValid values are `P1Y` (one year) and `P3Y` (three years).\n" + }, + "offeringType": { + "type": "string", + "description": "Offering type of this reserved cache node.\nFor the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`.\nFor other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`.\nFor previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`.\n" + }, + "productDescription": { + "type": "string", + "description": "Engine type for the reserved cache node.\nValid values are `redis` and `memcached`.\n" + } + }, + "type": "object", + "required": [ + "cacheNodeType", + "duration", + "offeringType", + "productDescription" + ] + }, + "outputs": { + "description": "A collection of values returned by getReservedCacheNodeOffering.\n", + "properties": { + "cacheNodeType": { + "type": "string" + }, + "duration": { + "type": "string" + }, + "fixedPrice": { + "description": "Fixed price charged for this reserved cache node.\n", + "type": "number" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "offeringId": { + "description": "Unique identifier for the reservation.\n", + "type": "string" + }, + "offeringType": { + "type": "string" + }, + "productDescription": { + "type": "string" + } + }, + "required": [ + "cacheNodeType", + "duration", + "fixedPrice", + "offeringId", + "offeringType", + "productDescription", + "id" + ], + "type": "object" + } + }, "aws:elasticache/getSubnetGroup:getSubnetGroup": { "description": "Provides information about a ElastiCache Subnet Group.\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.elasticache.getSubnetGroup({\n name: \"my-subnet-group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.elasticache.get_subnet_group(name=\"my-subnet-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ElastiCache.GetSubnetGroup.Invoke(new()\n {\n Name = \"my-subnet-group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache\"\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 := elasticache.LookupSubnetGroup(ctx, \u0026elasticache.LookupSubnetGroupArgs{\n\t\t\tName: \"my-subnet-group\",\n\t\t}, nil)\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.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetSubnetGroupArgs;\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 = ElasticacheFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()\n .name(\"my-subnet-group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:elasticache:getSubnetGroup\n Arguments:\n name: my-subnet-group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -414267,6 +415227,53 @@ "type": "object" } }, + "aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations": { + "description": "Data source for managing an AWS Security Hub Standards Control Associations.\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 testAccount = new aws.securityhub.Account(\"test\", {});\nconst test = aws.securityhub.getStandardsControlAssociations({\n securityControlId: \"IAM.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_account = aws.securityhub.Account(\"test\")\ntest = aws.securityhub.get_standards_control_associations(security_control_id=\"IAM.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 testAccount = new Aws.SecurityHub.Account(\"test\");\n\n var test = Aws.SecurityHub.GetStandardsControlAssociations.Invoke(new()\n {\n SecurityControlId = \"IAM.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\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 := securityhub.NewAccount(ctx, \"test\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.GetStandardsControlAssociations(ctx, \u0026securityhub.GetStandardsControlAssociationsArgs{\n\t\t\tSecurityControlId: \"IAM.1\",\n\t\t}, nil)\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.SecurityhubFunctions;\nimport com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs;\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 testAccount = new Account(\"testAccount\");\n\n final var test = SecurityhubFunctions.getStandardsControlAssociations(GetStandardsControlAssociationsArgs.builder()\n .securityControlId(\"IAM.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testAccount:\n type: aws:securityhub:Account\n name: test\nvariables:\n test:\n fn::invoke:\n Function: aws:securityhub:getStandardsControlAssociations\n Arguments:\n securityControlId: IAM.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getStandardsControlAssociations.\n", + "properties": { + "securityControlId": { + "type": "string", + "description": "The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters).\n" + }, + "standardsControlAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws:securityhub/getStandardsControlAssociationsStandardsControlAssociation:getStandardsControlAssociationsStandardsControlAssociation" + }, + "description": "A list that provides the status and other details for each security control that applies to each enabled standard.\nSee `standards_control_associations` below.\n" + } + }, + "type": "object", + "required": [ + "securityControlId" + ] + }, + "outputs": { + "description": "A collection of values returned by getStandardsControlAssociations.\n", + "properties": { + "id": { + "type": "string" + }, + "securityControlId": { + "description": "ID of the security control.\n", + "type": "string" + }, + "standardsControlAssociations": { + "description": "A list that provides the status and other details for each security control that applies to each enabled standard.\nSee `standards_control_associations` below.\n", + "items": { + "$ref": "#/types/aws:securityhub/getStandardsControlAssociationsStandardsControlAssociation:getStandardsControlAssociationsStandardsControlAssociation" + }, + "type": "array" + } + }, + "required": [ + "id", + "securityControlId" + ], + "type": "object" + } + }, "aws:serverlessrepository/getApplication:getApplication": { "description": "Use this data source to get information about an AWS Serverless Application Repository application. For example, this can be used to determine the required `capabilities` for an application.\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.serverlessrepository.getApplication({\n applicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n});\nconst exampleCloudFormationStack = new aws.serverlessrepository.CloudFormationStack(\"example\", {\n name: \"Example\",\n applicationId: example.then(example =\u003e example.applicationId),\n semanticVersion: example.then(example =\u003e example.semanticVersion),\n capabilities: example.then(example =\u003e example.requiredCapabilities),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.serverlessrepository.get_application(application_id=\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\nexample_cloud_formation_stack = aws.serverlessrepository.CloudFormationStack(\"example\",\n name=\"Example\",\n application_id=example.application_id,\n semantic_version=example.semantic_version,\n capabilities=example.required_capabilities)\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.ServerlessRepository.GetApplication.Invoke(new()\n {\n ApplicationId = \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n });\n\n var exampleCloudFormationStack = new Aws.ServerlessRepository.CloudFormationStack(\"example\", new()\n {\n Name = \"Example\",\n ApplicationId = example.Apply(getApplicationResult =\u003e getApplicationResult.ApplicationId),\n SemanticVersion = example.Apply(getApplicationResult =\u003e getApplicationResult.SemanticVersion),\n Capabilities = example.Apply(getApplicationResult =\u003e getApplicationResult.RequiredCapabilities),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/serverlessrepository\"\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 := serverlessrepository.GetApplication(ctx, \u0026serverlessrepository.GetApplicationArgs{\n\t\t\tApplicationId: \"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = serverlessrepository.NewCloudFormationStack(ctx, \"example\", \u0026serverlessrepository.CloudFormationStackArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tApplicationId: pulumi.String(example.ApplicationId),\n\t\t\tSemanticVersion: pulumi.String(example.SemanticVersion),\n\t\t\tCapabilities: interface{}(example.RequiredCapabilities),\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.serverlessrepository.ServerlessrepositoryFunctions;\nimport com.pulumi.aws.serverlessrepository.inputs.GetApplicationArgs;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStack;\nimport com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;\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 = ServerlessrepositoryFunctions.getApplication(GetApplicationArgs.builder()\n .applicationId(\"arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\")\n .build());\n\n var exampleCloudFormationStack = new CloudFormationStack(\"exampleCloudFormationStack\", CloudFormationStackArgs.builder()\n .name(\"Example\")\n .applicationId(example.applyValue(getApplicationResult -\u003e getApplicationResult.applicationId()))\n .semanticVersion(example.applyValue(getApplicationResult -\u003e getApplicationResult.semanticVersion()))\n .capabilities(example.applyValue(getApplicationResult -\u003e getApplicationResult.requiredCapabilities()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCloudFormationStack:\n type: aws:serverlessrepository:CloudFormationStack\n name: example\n properties:\n name: Example\n applicationId: ${example.applicationId}\n semanticVersion: ${example.semanticVersion}\n capabilities: ${example.requiredCapabilities}\nvariables:\n example:\n fn::invoke:\n Function: aws:serverlessrepository:getApplication\n Arguments:\n applicationId: arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -417477,6 +418484,109 @@ "type": "object" } }, + "aws:synthetics/getRuntimeVersion:getRuntimeVersion": { + "description": "Data source for managing an AWS CloudWatch Synthetics Runtime Version.\n\n## Example Usage\n\n### Latest Runtime Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.synthetics.getRuntimeVersion({\n prefix: \"syn-nodejs-puppeteer\",\n latest: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_version(prefix=\"syn-nodejs-puppeteer\",\n latest=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 example = Aws.Synthetics.GetRuntimeVersion.Invoke(new()\n {\n Prefix = \"syn-nodejs-puppeteer\",\n Latest = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersion(ctx, \u0026synthetics.GetRuntimeVersionArgs{\n\t\t\tPrefix: \"syn-nodejs-puppeteer\",\n\t\t\tLatest: pulumi.BoolRef(true),\n\t\t}, nil)\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.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;\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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()\n .prefix(\"syn-nodejs-puppeteer\")\n .latest(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:synthetics:getRuntimeVersion\n Arguments:\n prefix: syn-nodejs-puppeteer\n latest: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specific Runtime Version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.synthetics.getRuntimeVersion({\n prefix: \"syn-nodejs-puppeteer\",\n version: \"9.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_version(prefix=\"syn-nodejs-puppeteer\",\n version=\"9.0\")\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.Synthetics.GetRuntimeVersion.Invoke(new()\n {\n Prefix = \"syn-nodejs-puppeteer\",\n Version = \"9.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersion(ctx, \u0026synthetics.GetRuntimeVersionArgs{\n\t\t\tPrefix: \"syn-nodejs-puppeteer\",\n\t\t\tVersion: pulumi.StringRef(\"9.0\"),\n\t\t}, nil)\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.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;\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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()\n .prefix(\"syn-nodejs-puppeteer\")\n .version(\"9.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:synthetics:getRuntimeVersion\n Arguments:\n prefix: syn-nodejs-puppeteer\n version: '9.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getRuntimeVersion.\n", + "properties": { + "latest": { + "type": "boolean", + "description": "Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`.\n" + }, + "prefix": { + "type": "string", + "description": "Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`).\n\nThe following arguments are optional:\n" + }, + "version": { + "type": "string", + "description": "Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`.\n" + } + }, + "type": "object", + "required": [ + "prefix" + ] + }, + "outputs": { + "description": "A collection of values returned by getRuntimeVersion.\n", + "properties": { + "deprecationDate": { + "description": "Date of deprecation if the runtme version is deprecated.\n", + "type": "string" + }, + "description": { + "description": "Description of the runtime version, created by Amazon.\n", + "type": "string" + }, + "id": { + "description": "Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html).\n", + "type": "string" + }, + "latest": { + "type": "boolean" + }, + "prefix": { + "type": "string" + }, + "releaseDate": { + "description": "Date that the runtime version was released.\n", + "type": "string" + }, + "version": { + "type": "string" + }, + "versionName": { + "description": "Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html).\n", + "type": "string" + } + }, + "required": [ + "deprecationDate", + "description", + "id", + "prefix", + "releaseDate", + "versionName" + ], + "type": "object" + } + }, + "aws:synthetics/getRuntimeVersions:getRuntimeVersions": { + "description": "Data source for managing an AWS CloudWatch Synthetics Runtime Versions.\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.synthetics.getRuntimeVersions({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.synthetics.get_runtime_versions()\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.Synthetics.GetRuntimeVersions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics\"\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 := synthetics.GetRuntimeVersions(ctx, nil, nil)\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.synthetics.SyntheticsFunctions;\nimport com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;\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 = SyntheticsFunctions.getRuntimeVersions();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:synthetics:getRuntimeVersions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getRuntimeVersions.\n", + "properties": { + "runtimeVersions": { + "type": "array", + "items": { + "$ref": "#/types/aws:synthetics/getRuntimeVersionsRuntimeVersion:getRuntimeVersionsRuntimeVersion" + }, + "description": "List of runtime versions. See `runtime_versions` attribute reference.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getRuntimeVersions.\n", + "properties": { + "id": { + "description": "Name of the AWS region from which runtime versions are fetched.\n", + "type": "string" + }, + "runtimeVersions": { + "description": "List of runtime versions. See `runtime_versions` attribute reference.\n", + "items": { + "$ref": "#/types/aws:synthetics/getRuntimeVersionsRuntimeVersion:getRuntimeVersionsRuntimeVersion" + }, + "type": "array" + } + }, + "required": [ + "id" + ], + "type": "object" + } + }, "aws:timestreamwrite/getDatabase:getDatabase": { "description": "Data source for managing an AWS Timestream Write Database.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.timestreamwrite.getDatabase({\n name: \"database-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.timestreamwrite.get_database(name=\"database-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.TimestreamWrite.GetDatabase.Invoke(new()\n {\n Name = \"database-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/timestreamwrite\"\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 := timestreamwrite.LookupDatabase(ctx, \u0026timestreamwrite.LookupDatabaseArgs{\n\t\t\tName: \"database-example\",\n\t\t}, nil)\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.timestreamwrite.TimestreamwriteFunctions;\nimport com.pulumi.aws.timestreamwrite.inputs.GetDatabaseArgs;\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 test = TimestreamwriteFunctions.getDatabase(GetDatabaseArgs.builder()\n .name(\"database-example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:timestreamwrite:getDatabase\n Arguments:\n name: database-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { diff --git a/provider/resources.go b/provider/resources.go index c006954abc0..79947bc8ebf 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -5822,4 +5822,10 @@ func setupComputedIDs(prov *tfbridge.ProviderInfo) { prov.Resources["aws_lambda_function_recursion_config"].ComputeID = func(ctx context.Context, state resource.PropertyMap) (resource.ID, error) { return attr(state, "functionName"), nil } + prov.Resources["aws_iam_role_policies_exclusive"].ComputeID = func(ctx context.Context, state resource.PropertyMap) (resource.ID, error) { + return attr(state, "role_name"), nil + } + prov.Resources["aws_elasticache_reserved_cache_node"].ComputeID = func(ctx context.Context, state resource.PropertyMap) (resource.ID, error) { + return attr(state, "id"), nil + } } From 341eb090c7ae5e208e2b5fa96fc051cd6f1e22ba Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:14:20 -0400 Subject: [PATCH 6/8] make build_sdks --- sdk/dotnet/Alb/Listener.cs | 6 - ...sociationSourceApiAssociationConfigArgs.cs | 26 + ...iationSourceApiAssociationConfigGetArgs.cs | 26 + .../SourceApiAssociationTimeoutsArgs.cs | 38 + .../SourceApiAssociationTimeoutsGetArgs.cs | 38 + ...piAssociationSourceApiAssociationConfig.cs | 27 + .../Outputs/SourceApiAssociationTimeouts.cs | 42 + sdk/dotnet/AppSync/SourceApiAssociation.cs | 249 ++++++ sdk/dotnet/Backup/RegionSettings.cs | 4 + sdk/dotnet/Config/Config.cs | 4 + sdk/dotnet/ElastiCache/Cluster.cs | 15 +- .../GetReservedCacheNodeOffering.cs | 194 +++++ .../ReservedCacheNodeRecurringChargeArgs.cs | 26 + ...ReservedCacheNodeRecurringChargeGetArgs.cs | 26 + .../Inputs/ReservedCacheNodeTimeoutsArgs.cs | 38 + .../ReservedCacheNodeTimeoutsGetArgs.cs | 38 + .../ReservedCacheNodeRecurringCharge.cs | 29 + .../Outputs/ReservedCacheNodeTimeouts.cs | 42 + sdk/dotnet/ElastiCache/ReplicationGroup.cs | 15 +- sdk/dotnet/ElastiCache/ReservedCacheNode.cs | 309 +++++++ sdk/dotnet/Iam/Role.cs | 2 + sdk/dotnet/Iam/RolePoliciesExclusive.cs | 131 +++ sdk/dotnet/Inputs/ProviderEndpointArgs.cs | 6 + sdk/dotnet/LB/Listener.cs | 6 - ...elsSlotTypeCompositeSlotTypeSettingArgs.cs | 2 +- ...SlotTypeCompositeSlotTypeSettingGetArgs.cs | 2 +- ...TypeCompositeSlotTypeSettingSubSlotArgs.cs | 8 +- ...eCompositeSlotTypeSettingSubSlotGetArgs.cs | 8 +- ...SlotTypeCompositeSlotTypeSettingSubSlot.cs | 10 +- sdk/dotnet/Lex/V2modelsBot.cs | 35 +- sdk/dotnet/Lex/V2modelsBotVersion.cs | 2 +- sdk/dotnet/Lex/V2modelsSlotType.cs | 2 +- .../Smsvoicev2PhoneNumberTimeoutsArgs.cs | 38 + .../Smsvoicev2PhoneNumberTimeoutsGetArgs.cs | 38 + .../Outputs/Smsvoicev2PhoneNumberTimeouts.cs | 42 + sdk/dotnet/Pinpoint/Smsvoicev2OptOutList.cs | 182 ++++ sdk/dotnet/Pinpoint/Smsvoicev2PhoneNumber.cs | 384 +++++++++ ...cketServerSideEncryptionConfigurationV2.cs | 2 - .../GetStandardsControlAssociations.cs | 154 ++++ ...AssociationsStandardsControlAssociation.cs | 80 ++ ...ciationsStandardsControlAssociationArgs.cs | 80 ++ ...ationsStandardsControlAssociationResult.cs | 84 ++ .../Ses/Inputs/ReceiptRuleS3ActionArgs.cs | 6 + .../Ses/Inputs/ReceiptRuleS3ActionGetArgs.cs | 6 + sdk/dotnet/Ses/Outputs/ReceiptRuleS3Action.cs | 7 + .../SesV2/AccountSuppressionAttributes.cs | 136 +++ sdk/dotnet/Synthetics/GetRuntimeVersion.cs | 220 +++++ sdk/dotnet/Synthetics/GetRuntimeVersions.cs | 125 +++ .../GetRuntimeVersionsRuntimeVersion.cs | 45 + .../GetRuntimeVersionsRuntimeVersionArgs.cs | 45 + .../GetRuntimeVersionsRuntimeVersionResult.cs | 50 ++ sdk/go/aws/alb/listener.go | 12 - sdk/go/aws/appsync/init.go | 7 + sdk/go/aws/appsync/pulumiTypes.go | 280 ++++++ sdk/go/aws/appsync/sourceApiAssociation.go | 355 ++++++++ sdk/go/aws/backup/regionSettings.go | 26 +- sdk/go/aws/config/pulumiTypes.go | 9 + sdk/go/aws/elasticache/cluster.go | 30 +- .../getReservedCacheNodeOffering.go | 177 ++++ sdk/go/aws/elasticache/init.go | 7 + sdk/go/aws/elasticache/pulumiTypes.go | 283 ++++++ sdk/go/aws/elasticache/replicationGroup.go | 30 +- sdk/go/aws/elasticache/reservedCacheNode.go | 411 +++++++++ sdk/go/aws/iam/init.go | 7 + sdk/go/aws/iam/role.go | 12 + sdk/go/aws/iam/rolePoliciesExclusive.go | 243 ++++++ sdk/go/aws/lb/listener.go | 12 - sdk/go/aws/lex/pulumiTypes2.go | 18 +- sdk/go/aws/lex/v2modelsBot.go | 42 +- sdk/go/aws/lex/v2modelsBotVersion.go | 2 +- sdk/go/aws/lex/v2modelsSlotType.go | 2 +- sdk/go/aws/pinpoint/init.go | 14 + sdk/go/aws/pinpoint/pulumiTypes.go | 179 ++++ sdk/go/aws/pinpoint/smsvoicev2OptOutList.go | 294 +++++++ sdk/go/aws/pinpoint/smsvoicev2PhoneNumber.go | 472 ++++++++++ sdk/go/aws/pulumiTypes.go | 9 + ...cketServerSideEncryptionConfigurationV2.go | 2 - .../getStandardsControlAssociations.go | 142 +++ sdk/go/aws/securityhub/pulumiTypes.go | 179 ++++ sdk/go/aws/ses/pulumiTypes.go | 9 + .../aws/sesv2/accountSuppressionAttributes.go | 255 ++++++ sdk/go/aws/sesv2/init.go | 7 + sdk/go/aws/synthetics/getRuntimeVersion.go | 199 +++++ sdk/go/aws/synthetics/getRuntimeVersions.go | 121 +++ sdk/go/aws/synthetics/pulumiTypes.go | 131 +++ .../java/com/pulumi/aws/alb/Listener.java | 4 - .../java/com/pulumi/aws/alb/ListenerArgs.java | 8 - .../pulumi/aws/alb/inputs/ListenerState.java | 8 - .../aws/appsync/SourceApiAssociation.java | 239 ++++++ .../aws/appsync/SourceApiAssociationArgs.java | 272 ++++++ ...ciationSourceApiAssociationConfigArgs.java | 85 ++ .../inputs/SourceApiAssociationState.java | 346 ++++++++ .../SourceApiAssociationTimeoutsArgs.java | 157 ++++ ...AssociationSourceApiAssociationConfig.java | 58 ++ .../outputs/SourceApiAssociationTimeouts.java | 99 +++ .../com/pulumi/aws/backup/RegionSettings.java | 6 +- .../pulumi/aws/config/inputs/Endpoints.java | 21 + .../com/pulumi/aws/elasticache/Cluster.java | 10 +- .../pulumi/aws/elasticache/ClusterArgs.java | 20 +- .../aws/elasticache/ElasticacheFunctions.java | 183 ++++ .../aws/elasticache/ReplicationGroup.java | 10 +- .../aws/elasticache/ReplicationGroupArgs.java | 20 +- .../aws/elasticache/ReservedCacheNode.java | 305 +++++++ .../elasticache/ReservedCacheNodeArgs.java | 173 ++++ .../aws/elasticache/inputs/ClusterState.java | 20 +- .../GetReservedCacheNodeOfferingArgs.java | 233 +++++ ...GetReservedCacheNodeOfferingPlainArgs.java | 185 ++++ .../inputs/ReplicationGroupState.java | 20 +- .../ReservedCacheNodeRecurringChargeArgs.java | 86 ++ .../inputs/ReservedCacheNodeState.java | 604 +++++++++++++ .../inputs/ReservedCacheNodeTimeoutsArgs.java | 157 ++++ .../GetReservedCacheNodeOfferingResult.java | 165 ++++ .../ReservedCacheNodeRecurringCharge.java | 66 ++ .../outputs/ReservedCacheNodeTimeouts.java | 99 +++ .../main/java/com/pulumi/aws/iam/Role.java | 4 + .../java/com/pulumi/aws/iam/RoleArgs.java | 20 + .../pulumi/aws/iam/RolePoliciesExclusive.java | 113 +++ .../aws/iam/RolePoliciesExclusiveArgs.java | 136 +++ .../inputs/RolePoliciesExclusiveState.java | 131 +++ .../com/pulumi/aws/iam/inputs/RoleState.java | 20 + .../aws/inputs/ProviderEndpointArgs.java | 37 + .../main/java/com/pulumi/aws/lb/Listener.java | 4 - .../java/com/pulumi/aws/lb/ListenerArgs.java | 8 - .../pulumi/aws/lb/inputs/ListenerState.java | 8 - .../java/com/pulumi/aws/lex/V2modelsBot.java | 28 +- .../pulumi/aws/lex/V2modelsBotVersion.java | 2 +- .../com/pulumi/aws/lex/V2modelsSlotType.java | 2 +- ...sSlotTypeCompositeSlotTypeSettingArgs.java | 16 +- ...peCompositeSlotTypeSettingSubSlotArgs.java | 46 +- ...odelsSlotTypeCompositeSlotTypeSetting.java | 14 +- ...otTypeCompositeSlotTypeSettingSubSlot.java | 30 +- .../aws/pinpoint/Smsvoicev2OptOutList.java | 183 ++++ .../pinpoint/Smsvoicev2OptOutListArgs.java | 121 +++ .../aws/pinpoint/Smsvoicev2PhoneNumber.java | 341 ++++++++ .../pinpoint/Smsvoicev2PhoneNumberArgs.java | 477 +++++++++++ .../inputs/Smsvoicev2OptOutListState.java | 211 +++++ .../inputs/Smsvoicev2PhoneNumberState.java | 628 ++++++++++++++ .../Smsvoicev2PhoneNumberTimeoutsArgs.java | 157 ++++ .../Smsvoicev2PhoneNumberTimeouts.java | 99 +++ ...etServerSideEncryptionConfigurationV2.java | 2 - .../aws/securityhub/SecurityhubFunctions.java | 205 +++++ .../GetStandardsControlAssociationsArgs.java | 141 +++ ...StandardsControlAssociationsPlainArgs.java | 119 +++ ...sociationsStandardsControlAssociation.java | 325 +++++++ ...ationsStandardsControlAssociationArgs.java | 416 +++++++++ ...GetStandardsControlAssociationsResult.java | 102 +++ ...sociationsStandardsControlAssociation.java | 246 ++++++ .../ses/inputs/ReceiptRuleS3ActionArgs.java | 37 + .../aws/ses/outputs/ReceiptRuleS3Action.java | 21 + .../sesv2/AccountSuppressionAttributes.java | 136 +++ .../AccountSuppressionAttributesArgs.java | 96 +++ .../AccountSuppressionAttributesState.java | 94 ++ .../aws/synthetics/SyntheticsFunctions.java | 596 +++++++++++++ .../inputs/GetRuntimeVersionArgs.java | 170 ++++ .../inputs/GetRuntimeVersionPlainArgs.java | 137 +++ .../inputs/GetRuntimeVersionsArgs.java | 94 ++ .../inputs/GetRuntimeVersionsPlainArgs.java | 83 ++ .../GetRuntimeVersionsRuntimeVersion.java | 167 ++++ .../GetRuntimeVersionsRuntimeVersionArgs.java | 209 +++++ .../outputs/GetRuntimeVersionResult.java | 194 +++++ .../outputs/GetRuntimeVersionsResult.java | 85 ++ .../GetRuntimeVersionsRuntimeVersion.java | 129 +++ sdk/nodejs/alb/listener.ts | 6 - sdk/nodejs/appsync/index.ts | 8 + sdk/nodejs/appsync/sourceApiAssociation.ts | 196 +++++ sdk/nodejs/backup/regionSettings.ts | 4 + sdk/nodejs/elasticache/cluster.ts | 15 +- .../getReservedCacheNodeOffering.ts | 138 +++ sdk/nodejs/elasticache/index.ts | 13 + sdk/nodejs/elasticache/replicationGroup.ts | 15 +- sdk/nodejs/elasticache/reservedCacheNode.ts | 249 ++++++ sdk/nodejs/iam/index.ts | 8 + sdk/nodejs/iam/role.ts | 6 + sdk/nodejs/iam/rolePoliciesExclusive.ts | 110 +++ sdk/nodejs/lb/listener.ts | 6 - sdk/nodejs/lex/v2modelsBot.ts | 25 +- sdk/nodejs/lex/v2modelsBotVersion.ts | 2 +- sdk/nodejs/lex/v2modelsSlotType.ts | 2 +- sdk/nodejs/pinpoint/index.ts | 16 + sdk/nodejs/pinpoint/smsvoicev2OptOutList.ts | 139 +++ sdk/nodejs/pinpoint/smsvoicev2PhoneNumber.ts | 301 +++++++ ...cketServerSideEncryptionConfigurationV2.ts | 2 - .../getStandardsControlAssociations.ts | 103 +++ sdk/nodejs/securityhub/index.ts | 5 + .../sesv2/accountSuppressionAttributes.ts | 104 +++ sdk/nodejs/sesv2/index.ts | 8 + sdk/nodejs/synthetics/getRuntimeVersion.ts | 149 ++++ sdk/nodejs/synthetics/getRuntimeVersions.ts | 85 ++ sdk/nodejs/synthetics/index.ts | 10 + sdk/nodejs/tsconfig.json | 10 + sdk/nodejs/types/input.ts | 191 ++++- sdk/nodejs/types/output.ts | 132 ++- sdk/python/pulumi_aws/__init__.py | 48 ++ sdk/python/pulumi_aws/_inputs.py | 20 + sdk/python/pulumi_aws/alb/listener.py | 14 - sdk/python/pulumi_aws/appsync/__init__.py | 1 + sdk/python/pulumi_aws/appsync/_inputs.py | 107 +++ sdk/python/pulumi_aws/appsync/outputs.py | 80 ++ .../appsync/source_api_association.py | 508 +++++++++++ .../pulumi_aws/backup/region_settings.py | 8 + sdk/python/pulumi_aws/config/outputs.py | 12 + sdk/python/pulumi_aws/elasticache/__init__.py | 2 + sdk/python/pulumi_aws/elasticache/_inputs.py | 110 +++ sdk/python/pulumi_aws/elasticache/cluster.py | 35 +- .../get_reserved_cache_node_offering.py | 197 +++++ sdk/python/pulumi_aws/elasticache/outputs.py | 83 ++ .../elasticache/replication_group.py | 35 +- .../elasticache/reserved_cache_node.py | 626 ++++++++++++++ sdk/python/pulumi_aws/iam/__init__.py | 1 + sdk/python/pulumi_aws/iam/role.py | 9 + .../pulumi_aws/iam/role_policies_exclusive.py | 211 +++++ sdk/python/pulumi_aws/lb/listener.py | 14 - sdk/python/pulumi_aws/lex/_inputs.py | 39 +- sdk/python/pulumi_aws/lex/outputs.py | 27 +- sdk/python/pulumi_aws/lex/v2models_bot.py | 50 +- .../pulumi_aws/lex/v2models_bot_version.py | 4 +- .../pulumi_aws/lex/v2models_slot_type.py | 4 +- sdk/python/pulumi_aws/pinpoint/__init__.py | 2 + sdk/python/pulumi_aws/pinpoint/_inputs.py | 74 ++ sdk/python/pulumi_aws/pinpoint/outputs.py | 44 + .../pinpoint/smsvoicev2_opt_out_list.py | 292 +++++++ .../pinpoint/smsvoicev2_phone_number.py | 806 ++++++++++++++++++ ...server_side_encryption_configuration_v2.py | 4 - sdk/python/pulumi_aws/securityhub/__init__.py | 1 + sdk/python/pulumi_aws/securityhub/_inputs.py | 185 ++++ .../get_standards_control_associations.py | 135 +++ sdk/python/pulumi_aws/securityhub/outputs.py | 107 +++ sdk/python/pulumi_aws/ses/_inputs.py | 20 + sdk/python/pulumi_aws/ses/outputs.py | 14 + sdk/python/pulumi_aws/sesv2/__init__.py | 1 + .../sesv2/account_suppression_attributes.py | 185 ++++ sdk/python/pulumi_aws/synthetics/__init__.py | 2 + sdk/python/pulumi_aws/synthetics/_inputs.py | 93 ++ .../synthetics/get_runtime_version.py | 218 +++++ .../synthetics/get_runtime_versions.py | 115 +++ sdk/python/pulumi_aws/synthetics/outputs.py | 54 ++ 236 files changed, 23751 insertions(+), 311 deletions(-) create mode 100644 sdk/dotnet/AppSync/Inputs/SourceApiAssociationSourceApiAssociationConfigArgs.cs create mode 100644 sdk/dotnet/AppSync/Inputs/SourceApiAssociationSourceApiAssociationConfigGetArgs.cs create mode 100644 sdk/dotnet/AppSync/Inputs/SourceApiAssociationTimeoutsArgs.cs create mode 100644 sdk/dotnet/AppSync/Inputs/SourceApiAssociationTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/AppSync/Outputs/SourceApiAssociationSourceApiAssociationConfig.cs create mode 100644 sdk/dotnet/AppSync/Outputs/SourceApiAssociationTimeouts.cs create mode 100644 sdk/dotnet/AppSync/SourceApiAssociation.cs create mode 100644 sdk/dotnet/ElastiCache/GetReservedCacheNodeOffering.cs create mode 100644 sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeRecurringChargeArgs.cs create mode 100644 sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeRecurringChargeGetArgs.cs create mode 100644 sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeTimeoutsArgs.cs create mode 100644 sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/ElastiCache/Outputs/ReservedCacheNodeRecurringCharge.cs create mode 100644 sdk/dotnet/ElastiCache/Outputs/ReservedCacheNodeTimeouts.cs create mode 100644 sdk/dotnet/ElastiCache/ReservedCacheNode.cs create mode 100644 sdk/dotnet/Iam/RolePoliciesExclusive.cs create mode 100644 sdk/dotnet/Pinpoint/Inputs/Smsvoicev2PhoneNumberTimeoutsArgs.cs create mode 100644 sdk/dotnet/Pinpoint/Inputs/Smsvoicev2PhoneNumberTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Pinpoint/Outputs/Smsvoicev2PhoneNumberTimeouts.cs create mode 100644 sdk/dotnet/Pinpoint/Smsvoicev2OptOutList.cs create mode 100644 sdk/dotnet/Pinpoint/Smsvoicev2PhoneNumber.cs create mode 100644 sdk/dotnet/SecurityHub/GetStandardsControlAssociations.cs create mode 100644 sdk/dotnet/SecurityHub/Inputs/GetStandardsControlAssociationsStandardsControlAssociation.cs create mode 100644 sdk/dotnet/SecurityHub/Inputs/GetStandardsControlAssociationsStandardsControlAssociationArgs.cs create mode 100644 sdk/dotnet/SecurityHub/Outputs/GetStandardsControlAssociationsStandardsControlAssociationResult.cs create mode 100644 sdk/dotnet/SesV2/AccountSuppressionAttributes.cs create mode 100644 sdk/dotnet/Synthetics/GetRuntimeVersion.cs create mode 100644 sdk/dotnet/Synthetics/GetRuntimeVersions.cs create mode 100644 sdk/dotnet/Synthetics/Inputs/GetRuntimeVersionsRuntimeVersion.cs create mode 100644 sdk/dotnet/Synthetics/Inputs/GetRuntimeVersionsRuntimeVersionArgs.cs create mode 100644 sdk/dotnet/Synthetics/Outputs/GetRuntimeVersionsRuntimeVersionResult.cs create mode 100644 sdk/go/aws/appsync/sourceApiAssociation.go create mode 100644 sdk/go/aws/elasticache/getReservedCacheNodeOffering.go create mode 100644 sdk/go/aws/elasticache/reservedCacheNode.go create mode 100644 sdk/go/aws/iam/rolePoliciesExclusive.go create mode 100644 sdk/go/aws/pinpoint/smsvoicev2OptOutList.go create mode 100644 sdk/go/aws/pinpoint/smsvoicev2PhoneNumber.go create mode 100644 sdk/go/aws/securityhub/getStandardsControlAssociations.go create mode 100644 sdk/go/aws/sesv2/accountSuppressionAttributes.go create mode 100644 sdk/go/aws/synthetics/getRuntimeVersion.go create mode 100644 sdk/go/aws/synthetics/getRuntimeVersions.go create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appsync/SourceApiAssociation.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appsync/SourceApiAssociationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationSourceApiAssociationConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationTimeoutsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appsync/outputs/SourceApiAssociationSourceApiAssociationConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appsync/outputs/SourceApiAssociationTimeouts.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/ReservedCacheNode.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/ReservedCacheNodeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GetReservedCacheNodeOfferingArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GetReservedCacheNodeOfferingPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeRecurringChargeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeTimeoutsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/GetReservedCacheNodeOfferingResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/ReservedCacheNodeRecurringCharge.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/ReservedCacheNodeTimeouts.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/iam/RolePoliciesExclusive.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/iam/RolePoliciesExclusiveArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/iam/inputs/RolePoliciesExclusiveState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2OptOutList.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2OptOutListArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2PhoneNumber.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2PhoneNumberArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2OptOutListState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2PhoneNumberState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2PhoneNumberTimeoutsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/pinpoint/outputs/Smsvoicev2PhoneNumberTimeouts.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/securityhub/SecurityhubFunctions.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsStandardsControlAssociation.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsStandardsControlAssociationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/securityhub/outputs/GetStandardsControlAssociationsResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/securityhub/outputs/GetStandardsControlAssociationsStandardsControlAssociation.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountSuppressionAttributes.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountSuppressionAttributesArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/AccountSuppressionAttributesState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/SyntheticsFunctions.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsRuntimeVersion.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsRuntimeVersionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionsResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionsRuntimeVersion.java create mode 100644 sdk/nodejs/appsync/sourceApiAssociation.ts create mode 100644 sdk/nodejs/elasticache/getReservedCacheNodeOffering.ts create mode 100644 sdk/nodejs/elasticache/reservedCacheNode.ts create mode 100644 sdk/nodejs/iam/rolePoliciesExclusive.ts create mode 100644 sdk/nodejs/pinpoint/smsvoicev2OptOutList.ts create mode 100644 sdk/nodejs/pinpoint/smsvoicev2PhoneNumber.ts create mode 100644 sdk/nodejs/securityhub/getStandardsControlAssociations.ts create mode 100644 sdk/nodejs/sesv2/accountSuppressionAttributes.ts create mode 100644 sdk/nodejs/synthetics/getRuntimeVersion.ts create mode 100644 sdk/nodejs/synthetics/getRuntimeVersions.ts create mode 100644 sdk/python/pulumi_aws/appsync/source_api_association.py create mode 100644 sdk/python/pulumi_aws/elasticache/get_reserved_cache_node_offering.py create mode 100644 sdk/python/pulumi_aws/elasticache/reserved_cache_node.py create mode 100644 sdk/python/pulumi_aws/iam/role_policies_exclusive.py create mode 100644 sdk/python/pulumi_aws/pinpoint/smsvoicev2_opt_out_list.py create mode 100644 sdk/python/pulumi_aws/pinpoint/smsvoicev2_phone_number.py create mode 100644 sdk/python/pulumi_aws/securityhub/get_standards_control_associations.py create mode 100644 sdk/python/pulumi_aws/sesv2/account_suppression_attributes.py create mode 100644 sdk/python/pulumi_aws/synthetics/get_runtime_version.py create mode 100644 sdk/python/pulumi_aws/synthetics/get_runtime_versions.py diff --git a/sdk/dotnet/Alb/Listener.cs b/sdk/dotnet/Alb/Listener.cs index 6b39f62ff59..d38c8b63721 100644 --- a/sdk/dotnet/Alb/Listener.cs +++ b/sdk/dotnet/Alb/Listener.cs @@ -403,8 +403,6 @@ public partial class Listener : global::Pulumi.CustomResource /// /// 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. - /// - /// > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -526,8 +524,6 @@ public InputList DefaultActions /// /// 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. - /// - /// > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. /// public InputMap Tags { @@ -610,8 +606,6 @@ public InputList DefaultActions /// /// 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. - /// - /// > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. /// public InputMap Tags { diff --git a/sdk/dotnet/AppSync/Inputs/SourceApiAssociationSourceApiAssociationConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/SourceApiAssociationSourceApiAssociationConfigArgs.cs new file mode 100644 index 00000000000..1cb4a0b3768 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/SourceApiAssociationSourceApiAssociationConfigArgs.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.AppSync.Inputs +{ + + public sealed class SourceApiAssociationSourceApiAssociationConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + /// + [Input("mergeType", required: true)] + public Input MergeType { get; set; } = null!; + + public SourceApiAssociationSourceApiAssociationConfigArgs() + { + } + public static new SourceApiAssociationSourceApiAssociationConfigArgs Empty => new SourceApiAssociationSourceApiAssociationConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/SourceApiAssociationSourceApiAssociationConfigGetArgs.cs b/sdk/dotnet/AppSync/Inputs/SourceApiAssociationSourceApiAssociationConfigGetArgs.cs new file mode 100644 index 00000000000..26b9c1889b6 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/SourceApiAssociationSourceApiAssociationConfigGetArgs.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.AppSync.Inputs +{ + + public sealed class SourceApiAssociationSourceApiAssociationConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + /// + [Input("mergeType", required: true)] + public Input MergeType { get; set; } = null!; + + public SourceApiAssociationSourceApiAssociationConfigGetArgs() + { + } + public static new SourceApiAssociationSourceApiAssociationConfigGetArgs Empty => new SourceApiAssociationSourceApiAssociationConfigGetArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/SourceApiAssociationTimeoutsArgs.cs b/sdk/dotnet/AppSync/Inputs/SourceApiAssociationTimeoutsArgs.cs new file mode 100644 index 00000000000..ea8bbedff93 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/SourceApiAssociationTimeoutsArgs.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.AppSync.Inputs +{ + + public sealed class SourceApiAssociationTimeoutsArgs : 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 SourceApiAssociationTimeoutsArgs() + { + } + public static new SourceApiAssociationTimeoutsArgs Empty => new SourceApiAssociationTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/SourceApiAssociationTimeoutsGetArgs.cs b/sdk/dotnet/AppSync/Inputs/SourceApiAssociationTimeoutsGetArgs.cs new file mode 100644 index 00000000000..e159d6fc72e --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/SourceApiAssociationTimeoutsGetArgs.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.AppSync.Inputs +{ + + public sealed class SourceApiAssociationTimeoutsGetArgs : 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 SourceApiAssociationTimeoutsGetArgs() + { + } + public static new SourceApiAssociationTimeoutsGetArgs Empty => new SourceApiAssociationTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Outputs/SourceApiAssociationSourceApiAssociationConfig.cs b/sdk/dotnet/AppSync/Outputs/SourceApiAssociationSourceApiAssociationConfig.cs new file mode 100644 index 00000000000..0c23cf08186 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/SourceApiAssociationSourceApiAssociationConfig.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.AppSync.Outputs +{ + + [OutputType] + public sealed class SourceApiAssociationSourceApiAssociationConfig + { + /// + /// Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + /// + public readonly string MergeType; + + [OutputConstructor] + private SourceApiAssociationSourceApiAssociationConfig(string mergeType) + { + MergeType = mergeType; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/SourceApiAssociationTimeouts.cs b/sdk/dotnet/AppSync/Outputs/SourceApiAssociationTimeouts.cs new file mode 100644 index 00000000000..cdfc9be11a2 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/SourceApiAssociationTimeouts.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.AppSync.Outputs +{ + + [OutputType] + public sealed class SourceApiAssociationTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 SourceApiAssociationTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/AppSync/SourceApiAssociation.cs b/sdk/dotnet/AppSync/SourceApiAssociation.cs new file mode 100644 index 00000000000..8703e1bc127 --- /dev/null +++ b/sdk/dotnet/AppSync/SourceApiAssociation.cs @@ -0,0 +1,249 @@ +// *** 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.AppSync +{ + /// + /// Resource for managing an AWS AppSync Source Api Association. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new Aws.AppSync.SourceApiAssociation("test", new() + /// { + /// Description = "My source API Merged", + /// MergedApiId = "gzos6bteufdunffzzifiowisoe", + /// SourceApiId = "fzzifiowisoegzos6bteufdunf", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: + /// + /// ```sh + /// $ pulumi import aws:appsync/sourceApiAssociation:SourceApiAssociation example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 + /// ``` + /// + [AwsResourceType("aws:appsync/sourceApiAssociation:SourceApiAssociation")] + public partial class SourceApiAssociation : global::Pulumi.CustomResource + { + /// + /// ARN of the Source Api Association. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// ID of the Source Api Association. + /// + [Output("associationId")] + public Output AssociationId { get; private set; } = null!; + + /// + /// Description of the source API being merged. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + /// + [Output("mergedApiArn")] + public Output MergedApiArn { get; private set; } = null!; + + /// + /// ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + /// + [Output("mergedApiId")] + public Output MergedApiId { get; private set; } = null!; + + /// + /// ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + /// + [Output("sourceApiArn")] + public Output SourceApiArn { get; private set; } = null!; + + [Output("sourceApiAssociationConfigs")] + public Output> SourceApiAssociationConfigs { get; private set; } = null!; + + /// + /// ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + /// + [Output("sourceApiId")] + public Output SourceApiId { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a SourceApiAssociation 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 SourceApiAssociation(string name, SourceApiAssociationArgs? args = null, CustomResourceOptions? options = null) + : base("aws:appsync/sourceApiAssociation:SourceApiAssociation", name, args ?? new SourceApiAssociationArgs(), MakeResourceOptions(options, "")) + { + } + + private SourceApiAssociation(string name, Input id, SourceApiAssociationState? state = null, CustomResourceOptions? options = null) + : base("aws:appsync/sourceApiAssociation:SourceApiAssociation", 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 SourceApiAssociation 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 SourceApiAssociation Get(string name, Input id, SourceApiAssociationState? state = null, CustomResourceOptions? options = null) + { + return new SourceApiAssociation(name, id, state, options); + } + } + + public sealed class SourceApiAssociationArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the source API being merged. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + /// + [Input("mergedApiArn")] + public Input? MergedApiArn { get; set; } + + /// + /// ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + /// + [Input("mergedApiId")] + public Input? MergedApiId { get; set; } + + /// + /// ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + /// + [Input("sourceApiArn")] + public Input? SourceApiArn { get; set; } + + [Input("sourceApiAssociationConfigs")] + private InputList? _sourceApiAssociationConfigs; + public InputList SourceApiAssociationConfigs + { + get => _sourceApiAssociationConfigs ?? (_sourceApiAssociationConfigs = new InputList()); + set => _sourceApiAssociationConfigs = value; + } + + /// + /// ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + /// + [Input("sourceApiId")] + public Input? SourceApiId { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public SourceApiAssociationArgs() + { + } + public static new SourceApiAssociationArgs Empty => new SourceApiAssociationArgs(); + } + + public sealed class SourceApiAssociationState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Source Api Association. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// ID of the Source Api Association. + /// + [Input("associationId")] + public Input? AssociationId { get; set; } + + /// + /// Description of the source API being merged. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + /// + [Input("mergedApiArn")] + public Input? MergedApiArn { get; set; } + + /// + /// ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + /// + [Input("mergedApiId")] + public Input? MergedApiId { get; set; } + + /// + /// ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + /// + [Input("sourceApiArn")] + public Input? SourceApiArn { get; set; } + + [Input("sourceApiAssociationConfigs")] + private InputList? _sourceApiAssociationConfigs; + public InputList SourceApiAssociationConfigs + { + get => _sourceApiAssociationConfigs ?? (_sourceApiAssociationConfigs = new InputList()); + set => _sourceApiAssociationConfigs = value; + } + + /// + /// ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + /// + [Input("sourceApiId")] + public Input? SourceApiId { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public SourceApiAssociationState() + { + } + public static new SourceApiAssociationState Empty => new SourceApiAssociationState(); + } +} diff --git a/sdk/dotnet/Backup/RegionSettings.cs b/sdk/dotnet/Backup/RegionSettings.cs index 8156bb798c7..72a55b11f7c 100644 --- a/sdk/dotnet/Backup/RegionSettings.cs +++ b/sdk/dotnet/Backup/RegionSettings.cs @@ -37,6 +37,10 @@ namespace Pulumi.Aws.Backup /// { "RDS", true }, /// { "Storage Gateway", true }, /// { "VirtualMachine", true }, + /// { "CloudFormation", true }, + /// { "Redshift", true }, + /// { "S3", true }, + /// { "SAP HANA on Amazon EC2", true }, /// }, /// ResourceTypeManagementPreference = /// { diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index ef5e5b5f186..0c5673a8850 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -1269,6 +1269,10 @@ public class Endpoints public string? Pinpoint { get; set; } = null!; /// /// Use this to override the default service endpoint URL + /// + public string? Pinpointsmsvoicev2 { get; set; } = null!; + /// + /// Use this to override the default service endpoint URL /// public string? Pipes { get; set; } = null!; /// diff --git a/sdk/dotnet/ElastiCache/Cluster.cs b/sdk/dotnet/ElastiCache/Cluster.cs index 5c4b1706635..bd018a321b7 100644 --- a/sdk/dotnet/ElastiCache/Cluster.cs +++ b/sdk/dotnet/ElastiCache/Cluster.cs @@ -322,7 +322,10 @@ public partial class Cluster : global::Pulumi.CustomResource public Output NetworkType { get; private set; } = null!; /// - /// The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + /// The instance class used. + /// See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + /// For Memcached, changing this value will re-create the resource. /// [Output("nodeType")] public Output NodeType { get; private set; } = null!; @@ -567,7 +570,10 @@ public InputList LogDeliveryConfigur public Input? NetworkType { get; set; } /// - /// The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + /// The instance class used. + /// See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + /// For Memcached, changing this value will re-create the resource. /// [Input("nodeType")] public Input? NodeType { get; set; } @@ -822,7 +828,10 @@ public InputList LogDeliveryConfi public Input? NetworkType { get; set; } /// - /// The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + /// The instance class used. + /// See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + /// For Memcached, changing this value will re-create the resource. /// [Input("nodeType")] public Input? NodeType { get; set; } diff --git a/sdk/dotnet/ElastiCache/GetReservedCacheNodeOffering.cs b/sdk/dotnet/ElastiCache/GetReservedCacheNodeOffering.cs new file mode 100644 index 00000000000..2a53d5d598f --- /dev/null +++ b/sdk/dotnet/ElastiCache/GetReservedCacheNodeOffering.cs @@ -0,0 +1,194 @@ +// *** 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.ElastiCache +{ + public static class GetReservedCacheNodeOffering + { + /// + /// Information about a single ElastiCache Reserved Cache Node Offering. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.ElastiCache.GetReservedCacheNodeOffering.Invoke(new() + /// { + /// CacheNodeType = "cache.t4g.small", + /// Duration = "P1Y", + /// OfferingType = "No Upfront", + /// ProductDescription = "redis", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetReservedCacheNodeOfferingArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", args ?? new GetReservedCacheNodeOfferingArgs(), options.WithDefaults()); + + /// + /// Information about a single ElastiCache Reserved Cache Node Offering. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.ElastiCache.GetReservedCacheNodeOffering.Invoke(new() + /// { + /// CacheNodeType = "cache.t4g.small", + /// Duration = "P1Y", + /// OfferingType = "No Upfront", + /// ProductDescription = "redis", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetReservedCacheNodeOfferingInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", args ?? new GetReservedCacheNodeOfferingInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetReservedCacheNodeOfferingArgs : global::Pulumi.InvokeArgs + { + /// + /// Node type for the reserved cache node. + /// See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + /// + [Input("cacheNodeType", required: true)] + public string CacheNodeType { get; set; } = null!; + + /// + /// Duration of the reservation in RFC3339 duration format. + /// Valid values are `P1Y` (one year) and `P3Y` (three years). + /// + [Input("duration", required: true)] + public string Duration { get; set; } = null!; + + /// + /// Offering type of this reserved cache node. + /// For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + /// For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + /// For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + /// + [Input("offeringType", required: true)] + public string OfferingType { get; set; } = null!; + + /// + /// Engine type for the reserved cache node. + /// Valid values are `redis` and `memcached`. + /// + [Input("productDescription", required: true)] + public string ProductDescription { get; set; } = null!; + + public GetReservedCacheNodeOfferingArgs() + { + } + public static new GetReservedCacheNodeOfferingArgs Empty => new GetReservedCacheNodeOfferingArgs(); + } + + public sealed class GetReservedCacheNodeOfferingInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Node type for the reserved cache node. + /// See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + /// + [Input("cacheNodeType", required: true)] + public Input CacheNodeType { get; set; } = null!; + + /// + /// Duration of the reservation in RFC3339 duration format. + /// Valid values are `P1Y` (one year) and `P3Y` (three years). + /// + [Input("duration", required: true)] + public Input Duration { get; set; } = null!; + + /// + /// Offering type of this reserved cache node. + /// For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + /// For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + /// For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + /// + [Input("offeringType", required: true)] + public Input OfferingType { get; set; } = null!; + + /// + /// Engine type for the reserved cache node. + /// Valid values are `redis` and `memcached`. + /// + [Input("productDescription", required: true)] + public Input ProductDescription { get; set; } = null!; + + public GetReservedCacheNodeOfferingInvokeArgs() + { + } + public static new GetReservedCacheNodeOfferingInvokeArgs Empty => new GetReservedCacheNodeOfferingInvokeArgs(); + } + + + [OutputType] + public sealed class GetReservedCacheNodeOfferingResult + { + public readonly string CacheNodeType; + public readonly string Duration; + /// + /// Fixed price charged for this reserved cache node. + /// + public readonly double FixedPrice; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Unique identifier for the reservation. + /// + public readonly string OfferingId; + public readonly string OfferingType; + public readonly string ProductDescription; + + [OutputConstructor] + private GetReservedCacheNodeOfferingResult( + string cacheNodeType, + + string duration, + + double fixedPrice, + + string id, + + string offeringId, + + string offeringType, + + string productDescription) + { + CacheNodeType = cacheNodeType; + Duration = duration; + FixedPrice = fixedPrice; + Id = id; + OfferingId = offeringId; + OfferingType = offeringType; + ProductDescription = productDescription; + } + } +} diff --git a/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeRecurringChargeArgs.cs b/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeRecurringChargeArgs.cs new file mode 100644 index 00000000000..c7b1de0e74b --- /dev/null +++ b/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeRecurringChargeArgs.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.ElastiCache.Inputs +{ + + public sealed class ReservedCacheNodeRecurringChargeArgs : global::Pulumi.ResourceArgs + { + [Input("recurringChargeAmount", required: true)] + public Input RecurringChargeAmount { get; set; } = null!; + + [Input("recurringChargeFrequency", required: true)] + public Input RecurringChargeFrequency { get; set; } = null!; + + public ReservedCacheNodeRecurringChargeArgs() + { + } + public static new ReservedCacheNodeRecurringChargeArgs Empty => new ReservedCacheNodeRecurringChargeArgs(); + } +} diff --git a/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeRecurringChargeGetArgs.cs b/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeRecurringChargeGetArgs.cs new file mode 100644 index 00000000000..920b6623acf --- /dev/null +++ b/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeRecurringChargeGetArgs.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.ElastiCache.Inputs +{ + + public sealed class ReservedCacheNodeRecurringChargeGetArgs : global::Pulumi.ResourceArgs + { + [Input("recurringChargeAmount", required: true)] + public Input RecurringChargeAmount { get; set; } = null!; + + [Input("recurringChargeFrequency", required: true)] + public Input RecurringChargeFrequency { get; set; } = null!; + + public ReservedCacheNodeRecurringChargeGetArgs() + { + } + public static new ReservedCacheNodeRecurringChargeGetArgs Empty => new ReservedCacheNodeRecurringChargeGetArgs(); + } +} diff --git a/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeTimeoutsArgs.cs b/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeTimeoutsArgs.cs new file mode 100644 index 00000000000..722501b0f35 --- /dev/null +++ b/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeTimeoutsArgs.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.ElastiCache.Inputs +{ + + public sealed class ReservedCacheNodeTimeoutsArgs : 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 ReservedCacheNodeTimeoutsArgs() + { + } + public static new ReservedCacheNodeTimeoutsArgs Empty => new ReservedCacheNodeTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeTimeoutsGetArgs.cs b/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeTimeoutsGetArgs.cs new file mode 100644 index 00000000000..6f82202a506 --- /dev/null +++ b/sdk/dotnet/ElastiCache/Inputs/ReservedCacheNodeTimeoutsGetArgs.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.ElastiCache.Inputs +{ + + public sealed class ReservedCacheNodeTimeoutsGetArgs : 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 ReservedCacheNodeTimeoutsGetArgs() + { + } + public static new ReservedCacheNodeTimeoutsGetArgs Empty => new ReservedCacheNodeTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/ElastiCache/Outputs/ReservedCacheNodeRecurringCharge.cs b/sdk/dotnet/ElastiCache/Outputs/ReservedCacheNodeRecurringCharge.cs new file mode 100644 index 00000000000..b770d3a61c0 --- /dev/null +++ b/sdk/dotnet/ElastiCache/Outputs/ReservedCacheNodeRecurringCharge.cs @@ -0,0 +1,29 @@ +// *** 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.ElastiCache.Outputs +{ + + [OutputType] + public sealed class ReservedCacheNodeRecurringCharge + { + public readonly double RecurringChargeAmount; + public readonly string RecurringChargeFrequency; + + [OutputConstructor] + private ReservedCacheNodeRecurringCharge( + double recurringChargeAmount, + + string recurringChargeFrequency) + { + RecurringChargeAmount = recurringChargeAmount; + RecurringChargeFrequency = recurringChargeFrequency; + } + } +} diff --git a/sdk/dotnet/ElastiCache/Outputs/ReservedCacheNodeTimeouts.cs b/sdk/dotnet/ElastiCache/Outputs/ReservedCacheNodeTimeouts.cs new file mode 100644 index 00000000000..e83c7e5802b --- /dev/null +++ b/sdk/dotnet/ElastiCache/Outputs/ReservedCacheNodeTimeouts.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.ElastiCache.Outputs +{ + + [OutputType] + public sealed class ReservedCacheNodeTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 ReservedCacheNodeTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/ElastiCache/ReplicationGroup.cs b/sdk/dotnet/ElastiCache/ReplicationGroup.cs index b7cc241d637..8251513ab0b 100644 --- a/sdk/dotnet/ElastiCache/ReplicationGroup.cs +++ b/sdk/dotnet/ElastiCache/ReplicationGroup.cs @@ -419,7 +419,10 @@ public partial class ReplicationGroup : global::Pulumi.CustomResource public Output NetworkType { get; private set; } = null!; /// - /// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + /// Instance class to be used. + /// See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// Required unless `global_replication_group_id` is set. + /// Cannot be set if `global_replication_group_id` is set. /// [Output("nodeType")] public Output NodeType { get; private set; } = null!; @@ -763,7 +766,10 @@ public InputList LogDeliver public Input? NetworkType { get; set; } /// - /// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + /// Instance class to be used. + /// See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// Required unless `global_replication_group_id` is set. + /// Cannot be set if `global_replication_group_id` is set. /// [Input("nodeType")] public Input? NodeType { get; set; } @@ -1119,7 +1125,10 @@ public InputList MemberClusters public Input? NetworkType { get; set; } /// - /// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + /// Instance class to be used. + /// See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// Required unless `global_replication_group_id` is set. + /// Cannot be set if `global_replication_group_id` is set. /// [Input("nodeType")] public Input? NodeType { get; set; } diff --git a/sdk/dotnet/ElastiCache/ReservedCacheNode.cs b/sdk/dotnet/ElastiCache/ReservedCacheNode.cs new file mode 100644 index 00000000000..27ae3904f4b --- /dev/null +++ b/sdk/dotnet/ElastiCache/ReservedCacheNode.cs @@ -0,0 +1,309 @@ +// *** 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.ElastiCache +{ + /// + /// Manages an ElastiCache Reserved Cache Node. + /// + /// > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.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. + /// + /// ## Import + /// + /// Using `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example: + /// + /// ```sh + /// $ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID + /// ``` + /// + [AwsResourceType("aws:elasticache/reservedCacheNode:ReservedCacheNode")] + public partial class ReservedCacheNode : global::Pulumi.CustomResource + { + /// + /// ARN for the reserved cache node. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + [Output("cacheNodeCount")] + public Output CacheNodeCount { get; private set; } = null!; + + /// + /// Node type for the reserved cache nodes. + /// + [Output("cacheNodeType")] + public Output CacheNodeType { get; private set; } = null!; + + /// + /// Duration of the reservation as an RFC3339 duration. + /// + [Output("duration")] + public Output Duration { get; private set; } = null!; + + /// + /// Fixed price charged for this reserved cache node. + /// + [Output("fixedPrice")] + public Output FixedPrice { get; private set; } = null!; + + /// + /// Offering type of this reserved cache node. + /// + [Output("offeringType")] + public Output OfferingType { get; private set; } = null!; + + /// + /// Engine type for the reserved cache node. + /// + [Output("productDescription")] + public Output ProductDescription { get; private set; } = null!; + + /// + /// Recurring price charged to run this reserved cache node. + /// + [Output("recurringCharges")] + public Output> RecurringCharges { get; private set; } = null!; + + /// + /// ID of the reserved cache node offering to purchase. + /// To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + /// + /// The following arguments are optional: + /// + [Output("reservedCacheNodesOfferingId")] + public Output ReservedCacheNodesOfferingId { get; private set; } = null!; + + /// + /// Time the reservation started. + /// + [Output("startTime")] + public Output StartTime { get; private set; } = null!; + + /// + /// State of the reserved cache node. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// Map of tags to assign to the reservation. 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!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// Hourly price charged for this reserved cache node. + /// + [Output("usagePrice")] + public Output UsagePrice { get; private set; } = null!; + + + /// + /// Create a ReservedCacheNode 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 ReservedCacheNode(string name, ReservedCacheNodeArgs args, CustomResourceOptions? options = null) + : base("aws:elasticache/reservedCacheNode:ReservedCacheNode", name, args ?? new ReservedCacheNodeArgs(), MakeResourceOptions(options, "")) + { + } + + private ReservedCacheNode(string name, Input id, ReservedCacheNodeState? state = null, CustomResourceOptions? options = null) + : base("aws:elasticache/reservedCacheNode:ReservedCacheNode", 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 ReservedCacheNode 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 ReservedCacheNode Get(string name, Input id, ReservedCacheNodeState? state = null, CustomResourceOptions? options = null) + { + return new ReservedCacheNode(name, id, state, options); + } + } + + public sealed class ReservedCacheNodeArgs : global::Pulumi.ResourceArgs + { + [Input("cacheNodeCount")] + public Input? CacheNodeCount { get; set; } + + /// + /// ID of the reserved cache node offering to purchase. + /// To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + /// + /// The following arguments are optional: + /// + [Input("reservedCacheNodesOfferingId", required: true)] + public Input ReservedCacheNodesOfferingId { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags to assign to the reservation. 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 ReservedCacheNodeArgs() + { + } + public static new ReservedCacheNodeArgs Empty => new ReservedCacheNodeArgs(); + } + + public sealed class ReservedCacheNodeState : global::Pulumi.ResourceArgs + { + /// + /// ARN for the reserved cache node. + /// + [Input("arn")] + public Input? Arn { get; set; } + + [Input("cacheNodeCount")] + public Input? CacheNodeCount { get; set; } + + /// + /// Node type for the reserved cache nodes. + /// + [Input("cacheNodeType")] + public Input? CacheNodeType { get; set; } + + /// + /// Duration of the reservation as an RFC3339 duration. + /// + [Input("duration")] + public Input? Duration { get; set; } + + /// + /// Fixed price charged for this reserved cache node. + /// + [Input("fixedPrice")] + public Input? FixedPrice { get; set; } + + /// + /// Offering type of this reserved cache node. + /// + [Input("offeringType")] + public Input? OfferingType { get; set; } + + /// + /// Engine type for the reserved cache node. + /// + [Input("productDescription")] + public Input? ProductDescription { get; set; } + + [Input("recurringCharges")] + private InputList? _recurringCharges; + + /// + /// Recurring price charged to run this reserved cache node. + /// + public InputList RecurringCharges + { + get => _recurringCharges ?? (_recurringCharges = new InputList()); + set => _recurringCharges = value; + } + + /// + /// ID of the reserved cache node offering to purchase. + /// To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + /// + /// The following arguments are optional: + /// + [Input("reservedCacheNodesOfferingId")] + public Input? ReservedCacheNodesOfferingId { get; set; } + + /// + /// Time the reservation started. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + + /// + /// State of the reserved cache node. + /// + [Input("state")] + public Input? State { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags to assign to the reservation. 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; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// Hourly price charged for this reserved cache node. + /// + [Input("usagePrice")] + public Input? UsagePrice { get; set; } + + public ReservedCacheNodeState() + { + } + public static new ReservedCacheNodeState Empty => new ReservedCacheNodeState(); + } +} diff --git a/sdk/dotnet/Iam/Role.cs b/sdk/dotnet/Iam/Role.cs index 9b1cde50001..edfbc43928b 100644 --- a/sdk/dotnet/Iam/Role.cs +++ b/sdk/dotnet/Iam/Role.cs @@ -467,6 +467,7 @@ public sealed class RoleArgs : global::Pulumi.ResourceArgs /// /// Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. /// + [Obsolete(@"Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well.")] public InputList InlinePolicies { get => _inlinePolicies ?? (_inlinePolicies = new InputList()); @@ -571,6 +572,7 @@ public sealed class RoleState : global::Pulumi.ResourceArgs /// /// Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. /// + [Obsolete(@"Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well.")] public InputList InlinePolicies { get => _inlinePolicies ?? (_inlinePolicies = new InputList()); diff --git a/sdk/dotnet/Iam/RolePoliciesExclusive.cs b/sdk/dotnet/Iam/RolePoliciesExclusive.cs new file mode 100644 index 00000000000..5be1affb1c5 --- /dev/null +++ b/sdk/dotnet/Iam/RolePoliciesExclusive.cs @@ -0,0 +1,131 @@ +// *** 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.Iam +{ + /// + /// ## Import + /// + /// Using `pulumi import`, import exclusive management of inline policy assignments using the `role_name`. For example: + /// + /// ```sh + /// $ pulumi import aws:iam/rolePoliciesExclusive:RolePoliciesExclusive example MyRole + /// ``` + /// + [AwsResourceType("aws:iam/rolePoliciesExclusive:RolePoliciesExclusive")] + public partial class RolePoliciesExclusive : global::Pulumi.CustomResource + { + /// + /// A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + /// + [Output("policyNames")] + public Output> PolicyNames { get; private set; } = null!; + + /// + /// IAM role name. + /// + [Output("roleName")] + public Output RoleName { get; private set; } = null!; + + + /// + /// Create a RolePoliciesExclusive 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 RolePoliciesExclusive(string name, RolePoliciesExclusiveArgs args, CustomResourceOptions? options = null) + : base("aws:iam/rolePoliciesExclusive:RolePoliciesExclusive", name, args ?? new RolePoliciesExclusiveArgs(), MakeResourceOptions(options, "")) + { + } + + private RolePoliciesExclusive(string name, Input id, RolePoliciesExclusiveState? state = null, CustomResourceOptions? options = null) + : base("aws:iam/rolePoliciesExclusive:RolePoliciesExclusive", 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 RolePoliciesExclusive 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 RolePoliciesExclusive Get(string name, Input id, RolePoliciesExclusiveState? state = null, CustomResourceOptions? options = null) + { + return new RolePoliciesExclusive(name, id, state, options); + } + } + + public sealed class RolePoliciesExclusiveArgs : global::Pulumi.ResourceArgs + { + [Input("policyNames", required: true)] + private InputList? _policyNames; + + /// + /// A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + /// + public InputList PolicyNames + { + get => _policyNames ?? (_policyNames = new InputList()); + set => _policyNames = value; + } + + /// + /// IAM role name. + /// + [Input("roleName", required: true)] + public Input RoleName { get; set; } = null!; + + public RolePoliciesExclusiveArgs() + { + } + public static new RolePoliciesExclusiveArgs Empty => new RolePoliciesExclusiveArgs(); + } + + public sealed class RolePoliciesExclusiveState : global::Pulumi.ResourceArgs + { + [Input("policyNames")] + private InputList? _policyNames; + + /// + /// A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + /// + public InputList PolicyNames + { + get => _policyNames ?? (_policyNames = new InputList()); + set => _policyNames = value; + } + + /// + /// IAM role name. + /// + [Input("roleName")] + public Input? RoleName { get; set; } + + public RolePoliciesExclusiveState() + { + } + public static new RolePoliciesExclusiveState Empty => new RolePoliciesExclusiveState(); + } +} diff --git a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs index e967da37aba..00871b5a8b0 100644 --- a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs +++ b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs @@ -1254,6 +1254,12 @@ public sealed class ProviderEndpointArgs : global::Pulumi.ResourceArgs [Input("pinpoint")] public Input? Pinpoint { get; set; } + /// + /// Use this to override the default service endpoint URL + /// + [Input("pinpointsmsvoicev2")] + public Input? Pinpointsmsvoicev2 { get; set; } + /// /// Use this to override the default service endpoint URL /// diff --git a/sdk/dotnet/LB/Listener.cs b/sdk/dotnet/LB/Listener.cs index 6a452aa4dc2..fab55007e6c 100644 --- a/sdk/dotnet/LB/Listener.cs +++ b/sdk/dotnet/LB/Listener.cs @@ -403,8 +403,6 @@ public partial class Listener : global::Pulumi.CustomResource /// /// 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. - /// - /// > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -526,8 +524,6 @@ public InputList DefaultActions /// /// 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. - /// - /// > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. /// public InputMap Tags { @@ -610,8 +606,6 @@ public InputList DefaultActions /// /// 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. - /// - /// > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. /// public InputMap Tags { diff --git a/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingArgs.cs b/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingArgs.cs index d085270e1eb..6693b556182 100644 --- a/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingArgs.cs +++ b/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingArgs.cs @@ -12,7 +12,7 @@ namespace Pulumi.Aws.Lex.Inputs public sealed class V2modelsSlotTypeCompositeSlotTypeSettingArgs : global::Pulumi.ResourceArgs { - [Input("subSlots", required: true)] + [Input("subSlots")] private InputList? _subSlots; /// diff --git a/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingGetArgs.cs b/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingGetArgs.cs index 8b1f5ab3ac2..54f5d82b5f3 100644 --- a/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingGetArgs.cs +++ b/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingGetArgs.cs @@ -12,7 +12,7 @@ namespace Pulumi.Aws.Lex.Inputs public sealed class V2modelsSlotTypeCompositeSlotTypeSettingGetArgs : global::Pulumi.ResourceArgs { - [Input("subSlots", required: true)] + [Input("subSlots")] private InputList? _subSlots; /// diff --git a/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs.cs b/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs.cs index 5dca19c2a82..7a18ecff35f 100644 --- a/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs.cs +++ b/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs.cs @@ -18,8 +18,12 @@ public sealed class V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs : global [Input("name", required: true)] public Input Name { get; set; } = null!; - [Input("subSlotId", required: true)] - public Input SubSlotId { get; set; } = null!; + /// + /// Unique identifier assigned to a slot type. + /// This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type. + /// + [Input("slotTypeId", required: true)] + public Input SlotTypeId { get; set; } = null!; public V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs() { diff --git a/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotGetArgs.cs b/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotGetArgs.cs index 5f823ec1c7d..195c547d06b 100644 --- a/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotGetArgs.cs +++ b/sdk/dotnet/Lex/Inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotGetArgs.cs @@ -18,8 +18,12 @@ public sealed class V2modelsSlotTypeCompositeSlotTypeSettingSubSlotGetArgs : glo [Input("name", required: true)] public Input Name { get; set; } = null!; - [Input("subSlotId", required: true)] - public Input SubSlotId { get; set; } = null!; + /// + /// Unique identifier assigned to a slot type. + /// This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type. + /// + [Input("slotTypeId", required: true)] + public Input SlotTypeId { get; set; } = null!; public V2modelsSlotTypeCompositeSlotTypeSettingSubSlotGetArgs() { diff --git a/sdk/dotnet/Lex/Outputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot.cs b/sdk/dotnet/Lex/Outputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot.cs index 544d2e209c8..34baa2b22a5 100644 --- a/sdk/dotnet/Lex/Outputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot.cs +++ b/sdk/dotnet/Lex/Outputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot.cs @@ -17,16 +17,20 @@ public sealed class V2modelsSlotTypeCompositeSlotTypeSettingSubSlot /// Name of a constituent sub slot inside a composite slot. /// public readonly string Name; - public readonly string SubSlotId; + /// + /// Unique identifier assigned to a slot type. + /// This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type. + /// + public readonly string SlotTypeId; [OutputConstructor] private V2modelsSlotTypeCompositeSlotTypeSettingSubSlot( string name, - string subSlotId) + string slotTypeId) { Name = name; - SubSlotId = subSlotId; + SlotTypeId = slotTypeId; } } } diff --git a/sdk/dotnet/Lex/V2modelsBot.cs b/sdk/dotnet/Lex/V2modelsBot.cs index 2f913cff2bd..7f6f4663147 100644 --- a/sdk/dotnet/Lex/V2modelsBot.cs +++ b/sdk/dotnet/Lex/V2modelsBot.cs @@ -19,23 +19,52 @@ namespace Pulumi.Aws.Lex /// ```csharp /// using System.Collections.Generic; /// using System.Linq; + /// using System.Text.Json; /// using Pulumi; /// using Aws = Pulumi.Aws; /// /// return await Deployment.RunAsync(() => /// { + /// var exampleRole = new Aws.Iam.Role("example", new() + /// { + /// Name = "example", + /// AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["Version"] = "2012-10-17", + /// ["Statement"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["Action"] = "sts:AssumeRole", + /// ["Effect"] = "Allow", + /// ["Sid"] = "", + /// ["Principal"] = new Dictionary<string, object?> + /// { + /// ["Service"] = "lexv2.amazonaws.com", + /// }, + /// }, + /// }, + /// }), + /// Tags = + /// { + /// { "created_by", "aws" }, + /// }, + /// }); + /// /// var example = new Aws.Lex.V2modelsBot("example", new() /// { /// Name = "example", + /// Description = "Example description", /// DataPrivacies = new[] /// { /// new Aws.Lex.Inputs.V2modelsBotDataPrivacyArgs /// { - /// ChildDirected = "boolean", + /// ChildDirected = false, /// }, /// }, - /// IdleSessionTtlInSeconds = 10, - /// RoleArn = "bot_example_arn", + /// IdleSessionTtlInSeconds = 60, + /// RoleArn = exampleRole.Arn, + /// Type = "Bot", /// Tags = /// { /// { "foo", "bar" }, diff --git a/sdk/dotnet/Lex/V2modelsBotVersion.cs b/sdk/dotnet/Lex/V2modelsBotVersion.cs index 282031a4ff2..1ea9de1667c 100644 --- a/sdk/dotnet/Lex/V2modelsBotVersion.cs +++ b/sdk/dotnet/Lex/V2modelsBotVersion.cs @@ -26,7 +26,7 @@ namespace Pulumi.Aws.Lex /// { /// var test = new Aws.Lex.V2modelsBotVersion("test", new() /// { - /// BotId = testAwsLexv2models.Id, + /// BotId = testAwsLexv2modelsBot.Id, /// LocaleSpecification = /// { /// { "en_US", new Aws.Lex.Inputs.V2modelsBotVersionLocaleSpecificationArgs diff --git a/sdk/dotnet/Lex/V2modelsSlotType.cs b/sdk/dotnet/Lex/V2modelsSlotType.cs index e219ebcb3b5..a1bf8a20176 100644 --- a/sdk/dotnet/Lex/V2modelsSlotType.cs +++ b/sdk/dotnet/Lex/V2modelsSlotType.cs @@ -69,7 +69,7 @@ namespace Pulumi.Aws.Lex /// }); /// ``` /// - /// ### `value_selection_setting` Usage + /// ### value_selection_setting Usage /// /// ```csharp /// using System.Collections.Generic; diff --git a/sdk/dotnet/Pinpoint/Inputs/Smsvoicev2PhoneNumberTimeoutsArgs.cs b/sdk/dotnet/Pinpoint/Inputs/Smsvoicev2PhoneNumberTimeoutsArgs.cs new file mode 100644 index 00000000000..cebb85aed96 --- /dev/null +++ b/sdk/dotnet/Pinpoint/Inputs/Smsvoicev2PhoneNumberTimeoutsArgs.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.Pinpoint.Inputs +{ + + public sealed class Smsvoicev2PhoneNumberTimeoutsArgs : 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 Smsvoicev2PhoneNumberTimeoutsArgs() + { + } + public static new Smsvoicev2PhoneNumberTimeoutsArgs Empty => new Smsvoicev2PhoneNumberTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Pinpoint/Inputs/Smsvoicev2PhoneNumberTimeoutsGetArgs.cs b/sdk/dotnet/Pinpoint/Inputs/Smsvoicev2PhoneNumberTimeoutsGetArgs.cs new file mode 100644 index 00000000000..6ca7f47860b --- /dev/null +++ b/sdk/dotnet/Pinpoint/Inputs/Smsvoicev2PhoneNumberTimeoutsGetArgs.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.Pinpoint.Inputs +{ + + public sealed class Smsvoicev2PhoneNumberTimeoutsGetArgs : 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 Smsvoicev2PhoneNumberTimeoutsGetArgs() + { + } + public static new Smsvoicev2PhoneNumberTimeoutsGetArgs Empty => new Smsvoicev2PhoneNumberTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Pinpoint/Outputs/Smsvoicev2PhoneNumberTimeouts.cs b/sdk/dotnet/Pinpoint/Outputs/Smsvoicev2PhoneNumberTimeouts.cs new file mode 100644 index 00000000000..9301abaf208 --- /dev/null +++ b/sdk/dotnet/Pinpoint/Outputs/Smsvoicev2PhoneNumberTimeouts.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.Pinpoint.Outputs +{ + + [OutputType] + public sealed class Smsvoicev2PhoneNumberTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 Smsvoicev2PhoneNumberTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/Pinpoint/Smsvoicev2OptOutList.cs b/sdk/dotnet/Pinpoint/Smsvoicev2OptOutList.cs new file mode 100644 index 00000000000..1a135464f45 --- /dev/null +++ b/sdk/dotnet/Pinpoint/Smsvoicev2OptOutList.cs @@ -0,0 +1,182 @@ +// *** 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.Pinpoint +{ + /// + /// Manages an AWS End User Messaging SMS opt-out list. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Pinpoint.Smsvoicev2OptOutList("example", new() + /// { + /// Name = "example-opt-out-list", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import opt-out lists using the `name`. For example: + /// + /// ```sh + /// $ pulumi import aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList example example-opt-out-list + /// ``` + /// + [AwsResourceType("aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList")] + public partial class Smsvoicev2OptOutList : global::Pulumi.CustomResource + { + /// + /// ARN of the opt-out list. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The name of the opt-out list. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [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!; + + + /// + /// Create a Smsvoicev2OptOutList 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 Smsvoicev2OptOutList(string name, Smsvoicev2OptOutListArgs? args = null, CustomResourceOptions? options = null) + : base("aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList", name, args ?? new Smsvoicev2OptOutListArgs(), MakeResourceOptions(options, "")) + { + } + + private Smsvoicev2OptOutList(string name, Input id, Smsvoicev2OptOutListState? state = null, CustomResourceOptions? options = null) + : base("aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList", 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 Smsvoicev2OptOutList 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 Smsvoicev2OptOutList Get(string name, Input id, Smsvoicev2OptOutListState? state = null, CustomResourceOptions? options = null) + { + return new Smsvoicev2OptOutList(name, id, state, options); + } + } + + public sealed class Smsvoicev2OptOutListArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the opt-out list. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public Smsvoicev2OptOutListArgs() + { + } + public static new Smsvoicev2OptOutListArgs Empty => new Smsvoicev2OptOutListArgs(); + } + + public sealed class Smsvoicev2OptOutListState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the opt-out list. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The name of the opt-out list. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + 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; + } + + public Smsvoicev2OptOutListState() + { + } + public static new Smsvoicev2OptOutListState Empty => new Smsvoicev2OptOutListState(); + } +} diff --git a/sdk/dotnet/Pinpoint/Smsvoicev2PhoneNumber.cs b/sdk/dotnet/Pinpoint/Smsvoicev2PhoneNumber.cs new file mode 100644 index 00000000000..5491fcf11a7 --- /dev/null +++ b/sdk/dotnet/Pinpoint/Smsvoicev2PhoneNumber.cs @@ -0,0 +1,384 @@ +// *** 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.Pinpoint +{ + /// + /// Manages an AWS End User Messaging SMS phone number. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Pinpoint.Smsvoicev2PhoneNumber("example", new() + /// { + /// IsoCountryCode = "US", + /// MessageType = "TRANSACTIONAL", + /// NumberType = "TOLL_FREE", + /// NumberCapabilities = new[] + /// { + /// "SMS", + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import phone numbers using the `id`. For example: + /// + /// ```sh + /// $ pulumi import aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber example phone-abcdef0123456789abcdef0123456789 + /// ``` + /// + [AwsResourceType("aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber")] + public partial class Smsvoicev2PhoneNumber : global::Pulumi.CustomResource + { + /// + /// ARN of the phone number. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// By default this is set to `false`. When set to true the phone number can’t be deleted. + /// + [Output("deletionProtectionEnabled")] + public Output DeletionProtectionEnabled { get; private set; } = null!; + + /// + /// The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + /// + [Output("isoCountryCode")] + public Output IsoCountryCode { get; private set; } = null!; + + /// + /// The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + /// + [Output("messageType")] + public Output MessageType { get; private set; } = null!; + + /// + /// The monthly price, in US dollars, to lease the phone number. + /// + [Output("monthlyLeasingPrice")] + public Output MonthlyLeasingPrice { get; private set; } = null!; + + /// + /// Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + /// + [Output("numberCapabilities")] + public Output> NumberCapabilities { get; private set; } = null!; + + /// + /// The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + /// + [Output("numberType")] + public Output NumberType { get; private set; } = null!; + + /// + /// The name of the opt-out list to associate with the phone number. + /// + [Output("optOutListName")] + public Output OptOutListName { get; private set; } = null!; + + /// + /// The new phone number that was requested. + /// + [Output("phoneNumber")] + public Output PhoneNumber { get; private set; } = null!; + + /// + /// Use this field to attach your phone number for an external registration process. + /// + [Output("registrationId")] + public Output RegistrationId { get; private set; } = null!; + + /// + /// When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + /// + [Output("selfManagedOptOutsEnabled")] + public Output SelfManagedOptOutsEnabled { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the two way channel. + /// + [Output("twoWayChannelArn")] + public Output TwoWayChannelArn { get; private set; } = null!; + + /// + /// By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + /// + [Output("twoWayChannelEnabled")] + public Output TwoWayChannelEnabled { get; private set; } = null!; + + + /// + /// Create a Smsvoicev2PhoneNumber 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 Smsvoicev2PhoneNumber(string name, Smsvoicev2PhoneNumberArgs args, CustomResourceOptions? options = null) + : base("aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber", name, args ?? new Smsvoicev2PhoneNumberArgs(), MakeResourceOptions(options, "")) + { + } + + private Smsvoicev2PhoneNumber(string name, Input id, Smsvoicev2PhoneNumberState? state = null, CustomResourceOptions? options = null) + : base("aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber", 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 Smsvoicev2PhoneNumber 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 Smsvoicev2PhoneNumber Get(string name, Input id, Smsvoicev2PhoneNumberState? state = null, CustomResourceOptions? options = null) + { + return new Smsvoicev2PhoneNumber(name, id, state, options); + } + } + + public sealed class Smsvoicev2PhoneNumberArgs : global::Pulumi.ResourceArgs + { + /// + /// By default this is set to `false`. When set to true the phone number can’t be deleted. + /// + [Input("deletionProtectionEnabled")] + public Input? DeletionProtectionEnabled { get; set; } + + /// + /// The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + /// + [Input("isoCountryCode", required: true)] + public Input IsoCountryCode { get; set; } = null!; + + /// + /// The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + /// + [Input("messageType", required: true)] + public Input MessageType { get; set; } = null!; + + [Input("numberCapabilities", required: true)] + private InputList? _numberCapabilities; + + /// + /// Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + /// + public InputList NumberCapabilities + { + get => _numberCapabilities ?? (_numberCapabilities = new InputList()); + set => _numberCapabilities = value; + } + + /// + /// The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + /// + [Input("numberType", required: true)] + public Input NumberType { get; set; } = null!; + + /// + /// The name of the opt-out list to associate with the phone number. + /// + [Input("optOutListName")] + public Input? OptOutListName { get; set; } + + /// + /// Use this field to attach your phone number for an external registration process. + /// + [Input("registrationId")] + public Input? RegistrationId { get; set; } + + /// + /// When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + /// + [Input("selfManagedOptOutsEnabled")] + public Input? SelfManagedOptOutsEnabled { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the two way channel. + /// + [Input("twoWayChannelArn")] + public Input? TwoWayChannelArn { get; set; } + + /// + /// By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + /// + [Input("twoWayChannelEnabled")] + public Input? TwoWayChannelEnabled { get; set; } + + public Smsvoicev2PhoneNumberArgs() + { + } + public static new Smsvoicev2PhoneNumberArgs Empty => new Smsvoicev2PhoneNumberArgs(); + } + + public sealed class Smsvoicev2PhoneNumberState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the phone number. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// By default this is set to `false`. When set to true the phone number can’t be deleted. + /// + [Input("deletionProtectionEnabled")] + public Input? DeletionProtectionEnabled { get; set; } + + /// + /// The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + /// + [Input("isoCountryCode")] + public Input? IsoCountryCode { get; set; } + + /// + /// The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + /// + [Input("messageType")] + public Input? MessageType { get; set; } + + /// + /// The monthly price, in US dollars, to lease the phone number. + /// + [Input("monthlyLeasingPrice")] + public Input? MonthlyLeasingPrice { get; set; } + + [Input("numberCapabilities")] + private InputList? _numberCapabilities; + + /// + /// Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + /// + public InputList NumberCapabilities + { + get => _numberCapabilities ?? (_numberCapabilities = new InputList()); + set => _numberCapabilities = value; + } + + /// + /// The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + /// + [Input("numberType")] + public Input? NumberType { get; set; } + + /// + /// The name of the opt-out list to associate with the phone number. + /// + [Input("optOutListName")] + public Input? OptOutListName { get; set; } + + /// + /// The new phone number that was requested. + /// + [Input("phoneNumber")] + public Input? PhoneNumber { get; set; } + + /// + /// Use this field to attach your phone number for an external registration process. + /// + [Input("registrationId")] + public Input? RegistrationId { get; set; } + + /// + /// When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + /// + [Input("selfManagedOptOutsEnabled")] + public Input? SelfManagedOptOutsEnabled { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the two way channel. + /// + [Input("twoWayChannelArn")] + public Input? TwoWayChannelArn { get; set; } + + /// + /// By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + /// + [Input("twoWayChannelEnabled")] + public Input? TwoWayChannelEnabled { get; set; } + + public Smsvoicev2PhoneNumberState() + { + } + public static new Smsvoicev2PhoneNumberState Empty => new Smsvoicev2PhoneNumberState(); + } +} diff --git a/sdk/dotnet/S3/BucketServerSideEncryptionConfigurationV2.cs b/sdk/dotnet/S3/BucketServerSideEncryptionConfigurationV2.cs index 50790f030ab..06832d4c0b0 100644 --- a/sdk/dotnet/S3/BucketServerSideEncryptionConfigurationV2.cs +++ b/sdk/dotnet/S3/BucketServerSideEncryptionConfigurationV2.cs @@ -14,8 +14,6 @@ namespace Pulumi.Aws.S3 /// /// > **NOTE:** Destroying an `aws.s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). /// - /// > This resource cannot be used with S3 directory buckets. - /// /// ## Example Usage /// /// ```csharp diff --git a/sdk/dotnet/SecurityHub/GetStandardsControlAssociations.cs b/sdk/dotnet/SecurityHub/GetStandardsControlAssociations.cs new file mode 100644 index 00000000000..6aafdd32904 --- /dev/null +++ b/sdk/dotnet/SecurityHub/GetStandardsControlAssociations.cs @@ -0,0 +1,154 @@ +// *** 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.SecurityHub +{ + public static class GetStandardsControlAssociations + { + /// + /// Data source for managing an AWS Security Hub Standards Control Associations. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var testAccount = new Aws.SecurityHub.Account("test"); + /// + /// var test = Aws.SecurityHub.GetStandardsControlAssociations.Invoke(new() + /// { + /// SecurityControlId = "IAM.1", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetStandardsControlAssociationsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", args ?? new GetStandardsControlAssociationsArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS Security Hub Standards Control Associations. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var testAccount = new Aws.SecurityHub.Account("test"); + /// + /// var test = Aws.SecurityHub.GetStandardsControlAssociations.Invoke(new() + /// { + /// SecurityControlId = "IAM.1", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetStandardsControlAssociationsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", args ?? new GetStandardsControlAssociationsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetStandardsControlAssociationsArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + /// + [Input("securityControlId", required: true)] + public string SecurityControlId { get; set; } = null!; + + [Input("standardsControlAssociations")] + private List? _standardsControlAssociations; + + /// + /// A list that provides the status and other details for each security control that applies to each enabled standard. + /// See `standards_control_associations` below. + /// + public List StandardsControlAssociations + { + get => _standardsControlAssociations ?? (_standardsControlAssociations = new List()); + set => _standardsControlAssociations = value; + } + + public GetStandardsControlAssociationsArgs() + { + } + public static new GetStandardsControlAssociationsArgs Empty => new GetStandardsControlAssociationsArgs(); + } + + public sealed class GetStandardsControlAssociationsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + /// + [Input("securityControlId", required: true)] + public Input SecurityControlId { get; set; } = null!; + + [Input("standardsControlAssociations")] + private InputList? _standardsControlAssociations; + + /// + /// A list that provides the status and other details for each security control that applies to each enabled standard. + /// See `standards_control_associations` below. + /// + public InputList StandardsControlAssociations + { + get => _standardsControlAssociations ?? (_standardsControlAssociations = new InputList()); + set => _standardsControlAssociations = value; + } + + public GetStandardsControlAssociationsInvokeArgs() + { + } + public static new GetStandardsControlAssociationsInvokeArgs Empty => new GetStandardsControlAssociationsInvokeArgs(); + } + + + [OutputType] + public sealed class GetStandardsControlAssociationsResult + { + public readonly string Id; + /// + /// ID of the security control. + /// + public readonly string SecurityControlId; + /// + /// A list that provides the status and other details for each security control that applies to each enabled standard. + /// See `standards_control_associations` below. + /// + public readonly ImmutableArray StandardsControlAssociations; + + [OutputConstructor] + private GetStandardsControlAssociationsResult( + string id, + + string securityControlId, + + ImmutableArray standardsControlAssociations) + { + Id = id; + SecurityControlId = securityControlId; + StandardsControlAssociations = standardsControlAssociations; + } + } +} diff --git a/sdk/dotnet/SecurityHub/Inputs/GetStandardsControlAssociationsStandardsControlAssociation.cs b/sdk/dotnet/SecurityHub/Inputs/GetStandardsControlAssociationsStandardsControlAssociation.cs new file mode 100644 index 00000000000..3cb75ad92a8 --- /dev/null +++ b/sdk/dotnet/SecurityHub/Inputs/GetStandardsControlAssociationsStandardsControlAssociation.cs @@ -0,0 +1,80 @@ +// *** 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.SecurityHub.Inputs +{ + + public sealed class GetStandardsControlAssociationsStandardsControlAssociationArgs : global::Pulumi.InvokeArgs + { + /// + /// Enablement status of a control in a specific standard. + /// + [Input("associationStatus", required: true)] + public string AssociationStatus { get; set; } = null!; + + [Input("relatedRequirements", required: true)] + private List? _relatedRequirements; + + /// + /// List of underlying requirements in the compliance framework related to the standard. + /// + public List RelatedRequirements + { + get => _relatedRequirements ?? (_relatedRequirements = new List()); + set => _relatedRequirements = value; + } + + /// + /// ARN of the security control. + /// + [Input("securityControlArn", required: true)] + public string SecurityControlArn { get; set; } = null!; + + /// + /// The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + /// + [Input("securityControlId", required: true)] + public string SecurityControlId { get; set; } = null!; + + /// + /// ARN of the standard. + /// + [Input("standardsArn", required: true)] + public string StandardsArn { get; set; } = null!; + + /// + /// Description of the standard. + /// + [Input("standardsControlDescription", required: true)] + public string StandardsControlDescription { get; set; } = null!; + + /// + /// Title of the standard. + /// + [Input("standardsControlTitle", required: true)] + public string StandardsControlTitle { get; set; } = null!; + + /// + /// Last time that a control's enablement status in a specified standard was updated. + /// + [Input("updatedAt", required: true)] + public string UpdatedAt { get; set; } = null!; + + /// + /// Reason for updating a control's enablement status in a specified standard. + /// + [Input("updatedReason", required: true)] + public string UpdatedReason { get; set; } = null!; + + public GetStandardsControlAssociationsStandardsControlAssociationArgs() + { + } + public static new GetStandardsControlAssociationsStandardsControlAssociationArgs Empty => new GetStandardsControlAssociationsStandardsControlAssociationArgs(); + } +} diff --git a/sdk/dotnet/SecurityHub/Inputs/GetStandardsControlAssociationsStandardsControlAssociationArgs.cs b/sdk/dotnet/SecurityHub/Inputs/GetStandardsControlAssociationsStandardsControlAssociationArgs.cs new file mode 100644 index 00000000000..9a6d4fd6814 --- /dev/null +++ b/sdk/dotnet/SecurityHub/Inputs/GetStandardsControlAssociationsStandardsControlAssociationArgs.cs @@ -0,0 +1,80 @@ +// *** 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.SecurityHub.Inputs +{ + + public sealed class GetStandardsControlAssociationsStandardsControlAssociationInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Enablement status of a control in a specific standard. + /// + [Input("associationStatus", required: true)] + public Input AssociationStatus { get; set; } = null!; + + [Input("relatedRequirements", required: true)] + private InputList? _relatedRequirements; + + /// + /// List of underlying requirements in the compliance framework related to the standard. + /// + public InputList RelatedRequirements + { + get => _relatedRequirements ?? (_relatedRequirements = new InputList()); + set => _relatedRequirements = value; + } + + /// + /// ARN of the security control. + /// + [Input("securityControlArn", required: true)] + public Input SecurityControlArn { get; set; } = null!; + + /// + /// The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + /// + [Input("securityControlId", required: true)] + public Input SecurityControlId { get; set; } = null!; + + /// + /// ARN of the standard. + /// + [Input("standardsArn", required: true)] + public Input StandardsArn { get; set; } = null!; + + /// + /// Description of the standard. + /// + [Input("standardsControlDescription", required: true)] + public Input StandardsControlDescription { get; set; } = null!; + + /// + /// Title of the standard. + /// + [Input("standardsControlTitle", required: true)] + public Input StandardsControlTitle { get; set; } = null!; + + /// + /// Last time that a control's enablement status in a specified standard was updated. + /// + [Input("updatedAt", required: true)] + public Input UpdatedAt { get; set; } = null!; + + /// + /// Reason for updating a control's enablement status in a specified standard. + /// + [Input("updatedReason", required: true)] + public Input UpdatedReason { get; set; } = null!; + + public GetStandardsControlAssociationsStandardsControlAssociationInputArgs() + { + } + public static new GetStandardsControlAssociationsStandardsControlAssociationInputArgs Empty => new GetStandardsControlAssociationsStandardsControlAssociationInputArgs(); + } +} diff --git a/sdk/dotnet/SecurityHub/Outputs/GetStandardsControlAssociationsStandardsControlAssociationResult.cs b/sdk/dotnet/SecurityHub/Outputs/GetStandardsControlAssociationsStandardsControlAssociationResult.cs new file mode 100644 index 00000000000..2b47ddbd38c --- /dev/null +++ b/sdk/dotnet/SecurityHub/Outputs/GetStandardsControlAssociationsStandardsControlAssociationResult.cs @@ -0,0 +1,84 @@ +// *** 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.SecurityHub.Outputs +{ + + [OutputType] + public sealed class GetStandardsControlAssociationsStandardsControlAssociationResult + { + /// + /// Enablement status of a control in a specific standard. + /// + public readonly string AssociationStatus; + /// + /// List of underlying requirements in the compliance framework related to the standard. + /// + public readonly ImmutableArray RelatedRequirements; + /// + /// ARN of the security control. + /// + public readonly string SecurityControlArn; + /// + /// The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + /// + public readonly string SecurityControlId; + /// + /// ARN of the standard. + /// + public readonly string StandardsArn; + /// + /// Description of the standard. + /// + public readonly string StandardsControlDescription; + /// + /// Title of the standard. + /// + public readonly string StandardsControlTitle; + /// + /// Last time that a control's enablement status in a specified standard was updated. + /// + public readonly string UpdatedAt; + /// + /// Reason for updating a control's enablement status in a specified standard. + /// + public readonly string UpdatedReason; + + [OutputConstructor] + private GetStandardsControlAssociationsStandardsControlAssociationResult( + string associationStatus, + + ImmutableArray relatedRequirements, + + string securityControlArn, + + string securityControlId, + + string standardsArn, + + string standardsControlDescription, + + string standardsControlTitle, + + string updatedAt, + + string updatedReason) + { + AssociationStatus = associationStatus; + RelatedRequirements = relatedRequirements; + SecurityControlArn = securityControlArn; + SecurityControlId = securityControlId; + StandardsArn = standardsArn; + StandardsControlDescription = standardsControlDescription; + StandardsControlTitle = standardsControlTitle; + UpdatedAt = updatedAt; + UpdatedReason = updatedReason; + } + } +} diff --git a/sdk/dotnet/Ses/Inputs/ReceiptRuleS3ActionArgs.cs b/sdk/dotnet/Ses/Inputs/ReceiptRuleS3ActionArgs.cs index d7bc9588a82..25ffc011a7e 100644 --- a/sdk/dotnet/Ses/Inputs/ReceiptRuleS3ActionArgs.cs +++ b/sdk/dotnet/Ses/Inputs/ReceiptRuleS3ActionArgs.cs @@ -18,6 +18,12 @@ public sealed class ReceiptRuleS3ActionArgs : global::Pulumi.ResourceArgs [Input("bucketName", required: true)] public Input BucketName { get; set; } = null!; + /// + /// The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + /// + [Input("iamRoleArn")] + public Input? IamRoleArn { get; set; } + /// /// The ARN of the KMS key /// diff --git a/sdk/dotnet/Ses/Inputs/ReceiptRuleS3ActionGetArgs.cs b/sdk/dotnet/Ses/Inputs/ReceiptRuleS3ActionGetArgs.cs index a06988a87b8..492b7dac577 100644 --- a/sdk/dotnet/Ses/Inputs/ReceiptRuleS3ActionGetArgs.cs +++ b/sdk/dotnet/Ses/Inputs/ReceiptRuleS3ActionGetArgs.cs @@ -18,6 +18,12 @@ public sealed class ReceiptRuleS3ActionGetArgs : global::Pulumi.ResourceArgs [Input("bucketName", required: true)] public Input BucketName { get; set; } = null!; + /// + /// The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + /// + [Input("iamRoleArn")] + public Input? IamRoleArn { get; set; } + /// /// The ARN of the KMS key /// diff --git a/sdk/dotnet/Ses/Outputs/ReceiptRuleS3Action.cs b/sdk/dotnet/Ses/Outputs/ReceiptRuleS3Action.cs index 66366cbbdd9..b04f31953d7 100644 --- a/sdk/dotnet/Ses/Outputs/ReceiptRuleS3Action.cs +++ b/sdk/dotnet/Ses/Outputs/ReceiptRuleS3Action.cs @@ -18,6 +18,10 @@ public sealed class ReceiptRuleS3Action /// public readonly string BucketName; /// + /// The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + /// + public readonly string? IamRoleArn; + /// /// The ARN of the KMS key /// public readonly string? KmsKeyArn; @@ -38,6 +42,8 @@ public sealed class ReceiptRuleS3Action private ReceiptRuleS3Action( string bucketName, + string? iamRoleArn, + string? kmsKeyArn, string? objectKeyPrefix, @@ -47,6 +53,7 @@ private ReceiptRuleS3Action( string? topicArn) { BucketName = bucketName; + IamRoleArn = iamRoleArn; KmsKeyArn = kmsKeyArn; ObjectKeyPrefix = objectKeyPrefix; Position = position; diff --git a/sdk/dotnet/SesV2/AccountSuppressionAttributes.cs b/sdk/dotnet/SesV2/AccountSuppressionAttributes.cs new file mode 100644 index 00000000000..b73349457a4 --- /dev/null +++ b/sdk/dotnet/SesV2/AccountSuppressionAttributes.cs @@ -0,0 +1,136 @@ +// *** 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.SesV2 +{ + /// + /// Manages AWS SESv2 (Simple Email V2) account-level suppression attributes. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.SesV2.AccountSuppressionAttributes("example", new() + /// { + /// SuppressedReasons = new[] + /// { + /// "COMPLAINT", + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import account-level suppression attributes using the account ID. For example: + /// + /// ```sh + /// $ pulumi import aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes example 123456789012 + /// ``` + /// + [AwsResourceType("aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes")] + public partial class AccountSuppressionAttributes : global::Pulumi.CustomResource + { + /// + /// A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + /// + [Output("suppressedReasons")] + public Output> SuppressedReasons { get; private set; } = null!; + + + /// + /// Create a AccountSuppressionAttributes 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 AccountSuppressionAttributes(string name, AccountSuppressionAttributesArgs args, CustomResourceOptions? options = null) + : base("aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes", name, args ?? new AccountSuppressionAttributesArgs(), MakeResourceOptions(options, "")) + { + } + + private AccountSuppressionAttributes(string name, Input id, AccountSuppressionAttributesState? state = null, CustomResourceOptions? options = null) + : base("aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes", 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 AccountSuppressionAttributes 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 AccountSuppressionAttributes Get(string name, Input id, AccountSuppressionAttributesState? state = null, CustomResourceOptions? options = null) + { + return new AccountSuppressionAttributes(name, id, state, options); + } + } + + public sealed class AccountSuppressionAttributesArgs : global::Pulumi.ResourceArgs + { + [Input("suppressedReasons", required: true)] + private InputList? _suppressedReasons; + + /// + /// A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + /// + public InputList SuppressedReasons + { + get => _suppressedReasons ?? (_suppressedReasons = new InputList()); + set => _suppressedReasons = value; + } + + public AccountSuppressionAttributesArgs() + { + } + public static new AccountSuppressionAttributesArgs Empty => new AccountSuppressionAttributesArgs(); + } + + public sealed class AccountSuppressionAttributesState : global::Pulumi.ResourceArgs + { + [Input("suppressedReasons")] + private InputList? _suppressedReasons; + + /// + /// A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + /// + public InputList SuppressedReasons + { + get => _suppressedReasons ?? (_suppressedReasons = new InputList()); + set => _suppressedReasons = value; + } + + public AccountSuppressionAttributesState() + { + } + public static new AccountSuppressionAttributesState Empty => new AccountSuppressionAttributesState(); + } +} diff --git a/sdk/dotnet/Synthetics/GetRuntimeVersion.cs b/sdk/dotnet/Synthetics/GetRuntimeVersion.cs new file mode 100644 index 00000000000..19b3f5a29d5 --- /dev/null +++ b/sdk/dotnet/Synthetics/GetRuntimeVersion.cs @@ -0,0 +1,220 @@ +// *** 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.Synthetics +{ + public static class GetRuntimeVersion + { + /// + /// Data source for managing an AWS CloudWatch Synthetics Runtime Version. + /// + /// ## Example Usage + /// + /// ### Latest Runtime Version + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Synthetics.GetRuntimeVersion.Invoke(new() + /// { + /// Prefix = "syn-nodejs-puppeteer", + /// Latest = true, + /// }); + /// + /// }); + /// ``` + /// + /// ### Specific Runtime Version + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Synthetics.GetRuntimeVersion.Invoke(new() + /// { + /// Prefix = "syn-nodejs-puppeteer", + /// Version = "9.0", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetRuntimeVersionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:synthetics/getRuntimeVersion:getRuntimeVersion", args ?? new GetRuntimeVersionArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS CloudWatch Synthetics Runtime Version. + /// + /// ## Example Usage + /// + /// ### Latest Runtime Version + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Synthetics.GetRuntimeVersion.Invoke(new() + /// { + /// Prefix = "syn-nodejs-puppeteer", + /// Latest = true, + /// }); + /// + /// }); + /// ``` + /// + /// ### Specific Runtime Version + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Synthetics.GetRuntimeVersion.Invoke(new() + /// { + /// Prefix = "syn-nodejs-puppeteer", + /// Version = "9.0", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetRuntimeVersionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:synthetics/getRuntimeVersion:getRuntimeVersion", args ?? new GetRuntimeVersionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRuntimeVersionArgs : global::Pulumi.InvokeArgs + { + /// + /// Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + /// + [Input("latest")] + public bool? Latest { get; set; } + + /// + /// Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + /// + /// The following arguments are optional: + /// + [Input("prefix", required: true)] + public string Prefix { get; set; } = null!; + + /// + /// Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + /// + [Input("version")] + public string? Version { get; set; } + + public GetRuntimeVersionArgs() + { + } + public static new GetRuntimeVersionArgs Empty => new GetRuntimeVersionArgs(); + } + + public sealed class GetRuntimeVersionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + /// + [Input("latest")] + public Input? Latest { get; set; } + + /// + /// Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + /// + /// The following arguments are optional: + /// + [Input("prefix", required: true)] + public Input Prefix { get; set; } = null!; + + /// + /// Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + /// + [Input("version")] + public Input? Version { get; set; } + + public GetRuntimeVersionInvokeArgs() + { + } + public static new GetRuntimeVersionInvokeArgs Empty => new GetRuntimeVersionInvokeArgs(); + } + + + [OutputType] + public sealed class GetRuntimeVersionResult + { + /// + /// Date of deprecation if the runtme version is deprecated. + /// + public readonly string DeprecationDate; + /// + /// Description of the runtime version, created by Amazon. + /// + public readonly string Description; + /// + /// Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + /// + public readonly string Id; + public readonly bool? Latest; + public readonly string Prefix; + /// + /// Date that the runtime version was released. + /// + public readonly string ReleaseDate; + public readonly string? Version; + /// + /// Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + /// + public readonly string VersionName; + + [OutputConstructor] + private GetRuntimeVersionResult( + string deprecationDate, + + string description, + + string id, + + bool? latest, + + string prefix, + + string releaseDate, + + string? version, + + string versionName) + { + DeprecationDate = deprecationDate; + Description = description; + Id = id; + Latest = latest; + Prefix = prefix; + ReleaseDate = releaseDate; + Version = version; + VersionName = versionName; + } + } +} diff --git a/sdk/dotnet/Synthetics/GetRuntimeVersions.cs b/sdk/dotnet/Synthetics/GetRuntimeVersions.cs new file mode 100644 index 00000000000..53306fb3136 --- /dev/null +++ b/sdk/dotnet/Synthetics/GetRuntimeVersions.cs @@ -0,0 +1,125 @@ +// *** 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.Synthetics +{ + public static class GetRuntimeVersions + { + /// + /// Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Synthetics.GetRuntimeVersions.Invoke(); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetRuntimeVersionsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:synthetics/getRuntimeVersions:getRuntimeVersions", args ?? new GetRuntimeVersionsArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Synthetics.GetRuntimeVersions.Invoke(); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetRuntimeVersionsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:synthetics/getRuntimeVersions:getRuntimeVersions", args ?? new GetRuntimeVersionsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRuntimeVersionsArgs : global::Pulumi.InvokeArgs + { + [Input("runtimeVersions")] + private List? _runtimeVersions; + + /// + /// List of runtime versions. See `runtime_versions` attribute reference. + /// + public List RuntimeVersions + { + get => _runtimeVersions ?? (_runtimeVersions = new List()); + set => _runtimeVersions = value; + } + + public GetRuntimeVersionsArgs() + { + } + public static new GetRuntimeVersionsArgs Empty => new GetRuntimeVersionsArgs(); + } + + public sealed class GetRuntimeVersionsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("runtimeVersions")] + private InputList? _runtimeVersions; + + /// + /// List of runtime versions. See `runtime_versions` attribute reference. + /// + public InputList RuntimeVersions + { + get => _runtimeVersions ?? (_runtimeVersions = new InputList()); + set => _runtimeVersions = value; + } + + public GetRuntimeVersionsInvokeArgs() + { + } + public static new GetRuntimeVersionsInvokeArgs Empty => new GetRuntimeVersionsInvokeArgs(); + } + + + [OutputType] + public sealed class GetRuntimeVersionsResult + { + /// + /// Name of the AWS region from which runtime versions are fetched. + /// + public readonly string Id; + /// + /// List of runtime versions. See `runtime_versions` attribute reference. + /// + public readonly ImmutableArray RuntimeVersions; + + [OutputConstructor] + private GetRuntimeVersionsResult( + string id, + + ImmutableArray runtimeVersions) + { + Id = id; + RuntimeVersions = runtimeVersions; + } + } +} diff --git a/sdk/dotnet/Synthetics/Inputs/GetRuntimeVersionsRuntimeVersion.cs b/sdk/dotnet/Synthetics/Inputs/GetRuntimeVersionsRuntimeVersion.cs new file mode 100644 index 00000000000..253ba2c7422 --- /dev/null +++ b/sdk/dotnet/Synthetics/Inputs/GetRuntimeVersionsRuntimeVersion.cs @@ -0,0 +1,45 @@ +// *** 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.Synthetics.Inputs +{ + + public sealed class GetRuntimeVersionsRuntimeVersionArgs : global::Pulumi.InvokeArgs + { + /// + /// Date of deprecation if the runtme version is deprecated. + /// + [Input("deprecationDate", required: true)] + public string DeprecationDate { get; set; } = null!; + + /// + /// Description of the runtime version, created by Amazon. + /// + [Input("description", required: true)] + public string Description { get; set; } = null!; + + /// + /// Date that the runtime version was released. + /// + [Input("releaseDate", required: true)] + public string ReleaseDate { get; set; } = null!; + + /// + /// Name of the runtime version. + /// For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + /// + [Input("versionName", required: true)] + public string VersionName { get; set; } = null!; + + public GetRuntimeVersionsRuntimeVersionArgs() + { + } + public static new GetRuntimeVersionsRuntimeVersionArgs Empty => new GetRuntimeVersionsRuntimeVersionArgs(); + } +} diff --git a/sdk/dotnet/Synthetics/Inputs/GetRuntimeVersionsRuntimeVersionArgs.cs b/sdk/dotnet/Synthetics/Inputs/GetRuntimeVersionsRuntimeVersionArgs.cs new file mode 100644 index 00000000000..3bca8c31b8b --- /dev/null +++ b/sdk/dotnet/Synthetics/Inputs/GetRuntimeVersionsRuntimeVersionArgs.cs @@ -0,0 +1,45 @@ +// *** 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.Synthetics.Inputs +{ + + public sealed class GetRuntimeVersionsRuntimeVersionInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Date of deprecation if the runtme version is deprecated. + /// + [Input("deprecationDate", required: true)] + public Input DeprecationDate { get; set; } = null!; + + /// + /// Description of the runtime version, created by Amazon. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Date that the runtime version was released. + /// + [Input("releaseDate", required: true)] + public Input ReleaseDate { get; set; } = null!; + + /// + /// Name of the runtime version. + /// For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + /// + [Input("versionName", required: true)] + public Input VersionName { get; set; } = null!; + + public GetRuntimeVersionsRuntimeVersionInputArgs() + { + } + public static new GetRuntimeVersionsRuntimeVersionInputArgs Empty => new GetRuntimeVersionsRuntimeVersionInputArgs(); + } +} diff --git a/sdk/dotnet/Synthetics/Outputs/GetRuntimeVersionsRuntimeVersionResult.cs b/sdk/dotnet/Synthetics/Outputs/GetRuntimeVersionsRuntimeVersionResult.cs new file mode 100644 index 00000000000..ca559000ef3 --- /dev/null +++ b/sdk/dotnet/Synthetics/Outputs/GetRuntimeVersionsRuntimeVersionResult.cs @@ -0,0 +1,50 @@ +// *** 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.Synthetics.Outputs +{ + + [OutputType] + public sealed class GetRuntimeVersionsRuntimeVersionResult + { + /// + /// Date of deprecation if the runtme version is deprecated. + /// + public readonly string DeprecationDate; + /// + /// Description of the runtime version, created by Amazon. + /// + public readonly string Description; + /// + /// Date that the runtime version was released. + /// + public readonly string ReleaseDate; + /// + /// Name of the runtime version. + /// For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + /// + public readonly string VersionName; + + [OutputConstructor] + private GetRuntimeVersionsRuntimeVersionResult( + string deprecationDate, + + string description, + + string releaseDate, + + string versionName) + { + DeprecationDate = deprecationDate; + Description = description; + ReleaseDate = releaseDate; + VersionName = versionName; + } + } +} diff --git a/sdk/go/aws/alb/listener.go b/sdk/go/aws/alb/listener.go index 5419c4edbe8..827c23dbf10 100644 --- a/sdk/go/aws/alb/listener.go +++ b/sdk/go/aws/alb/listener.go @@ -433,8 +433,6 @@ type Listener struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringOutput `pulumi:"sslPolicy"` // 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -505,8 +503,6 @@ type listenerState struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -536,8 +532,6 @@ type ListenerState struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -569,8 +563,6 @@ type listenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags map[string]string `pulumi:"tags"` } @@ -595,8 +587,6 @@ type ListenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags pulumi.StringMapInput } @@ -735,8 +725,6 @@ func (o ListenerOutput) SslPolicy() 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. -// -// > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. func (o ListenerOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Listener) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/appsync/init.go b/sdk/go/aws/appsync/init.go index d5a54af35e1..416f672e0c0 100644 --- a/sdk/go/aws/appsync/init.go +++ b/sdk/go/aws/appsync/init.go @@ -37,6 +37,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &GraphQLApi{} case "aws:appsync/resolver:Resolver": r = &Resolver{} + case "aws:appsync/sourceApiAssociation:SourceApiAssociation": + r = &SourceApiAssociation{} case "aws:appsync/type:Type": r = &Type{} default: @@ -92,6 +94,11 @@ func init() { "appsync/resolver", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "appsync/sourceApiAssociation", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "appsync/type", diff --git a/sdk/go/aws/appsync/pulumiTypes.go b/sdk/go/aws/appsync/pulumiTypes.go index a43ab568e8a..6f11b94e664 100644 --- a/sdk/go/aws/appsync/pulumiTypes.go +++ b/sdk/go/aws/appsync/pulumiTypes.go @@ -4654,6 +4654,278 @@ func (o ResolverSyncConfigLambdaConflictHandlerConfigPtrOutput) LambdaConflictHa }).(pulumi.StringPtrOutput) } +type SourceApiAssociationSourceApiAssociationConfig struct { + // Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + MergeType string `pulumi:"mergeType"` +} + +// SourceApiAssociationSourceApiAssociationConfigInput is an input type that accepts SourceApiAssociationSourceApiAssociationConfigArgs and SourceApiAssociationSourceApiAssociationConfigOutput values. +// You can construct a concrete instance of `SourceApiAssociationSourceApiAssociationConfigInput` via: +// +// SourceApiAssociationSourceApiAssociationConfigArgs{...} +type SourceApiAssociationSourceApiAssociationConfigInput interface { + pulumi.Input + + ToSourceApiAssociationSourceApiAssociationConfigOutput() SourceApiAssociationSourceApiAssociationConfigOutput + ToSourceApiAssociationSourceApiAssociationConfigOutputWithContext(context.Context) SourceApiAssociationSourceApiAssociationConfigOutput +} + +type SourceApiAssociationSourceApiAssociationConfigArgs struct { + // Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + MergeType pulumi.StringInput `pulumi:"mergeType"` +} + +func (SourceApiAssociationSourceApiAssociationConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SourceApiAssociationSourceApiAssociationConfig)(nil)).Elem() +} + +func (i SourceApiAssociationSourceApiAssociationConfigArgs) ToSourceApiAssociationSourceApiAssociationConfigOutput() SourceApiAssociationSourceApiAssociationConfigOutput { + return i.ToSourceApiAssociationSourceApiAssociationConfigOutputWithContext(context.Background()) +} + +func (i SourceApiAssociationSourceApiAssociationConfigArgs) ToSourceApiAssociationSourceApiAssociationConfigOutputWithContext(ctx context.Context) SourceApiAssociationSourceApiAssociationConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(SourceApiAssociationSourceApiAssociationConfigOutput) +} + +// SourceApiAssociationSourceApiAssociationConfigArrayInput is an input type that accepts SourceApiAssociationSourceApiAssociationConfigArray and SourceApiAssociationSourceApiAssociationConfigArrayOutput values. +// You can construct a concrete instance of `SourceApiAssociationSourceApiAssociationConfigArrayInput` via: +// +// SourceApiAssociationSourceApiAssociationConfigArray{ SourceApiAssociationSourceApiAssociationConfigArgs{...} } +type SourceApiAssociationSourceApiAssociationConfigArrayInput interface { + pulumi.Input + + ToSourceApiAssociationSourceApiAssociationConfigArrayOutput() SourceApiAssociationSourceApiAssociationConfigArrayOutput + ToSourceApiAssociationSourceApiAssociationConfigArrayOutputWithContext(context.Context) SourceApiAssociationSourceApiAssociationConfigArrayOutput +} + +type SourceApiAssociationSourceApiAssociationConfigArray []SourceApiAssociationSourceApiAssociationConfigInput + +func (SourceApiAssociationSourceApiAssociationConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SourceApiAssociationSourceApiAssociationConfig)(nil)).Elem() +} + +func (i SourceApiAssociationSourceApiAssociationConfigArray) ToSourceApiAssociationSourceApiAssociationConfigArrayOutput() SourceApiAssociationSourceApiAssociationConfigArrayOutput { + return i.ToSourceApiAssociationSourceApiAssociationConfigArrayOutputWithContext(context.Background()) +} + +func (i SourceApiAssociationSourceApiAssociationConfigArray) ToSourceApiAssociationSourceApiAssociationConfigArrayOutputWithContext(ctx context.Context) SourceApiAssociationSourceApiAssociationConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SourceApiAssociationSourceApiAssociationConfigArrayOutput) +} + +type SourceApiAssociationSourceApiAssociationConfigOutput struct{ *pulumi.OutputState } + +func (SourceApiAssociationSourceApiAssociationConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SourceApiAssociationSourceApiAssociationConfig)(nil)).Elem() +} + +func (o SourceApiAssociationSourceApiAssociationConfigOutput) ToSourceApiAssociationSourceApiAssociationConfigOutput() SourceApiAssociationSourceApiAssociationConfigOutput { + return o +} + +func (o SourceApiAssociationSourceApiAssociationConfigOutput) ToSourceApiAssociationSourceApiAssociationConfigOutputWithContext(ctx context.Context) SourceApiAssociationSourceApiAssociationConfigOutput { + return o +} + +// Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` +func (o SourceApiAssociationSourceApiAssociationConfigOutput) MergeType() pulumi.StringOutput { + return o.ApplyT(func(v SourceApiAssociationSourceApiAssociationConfig) string { return v.MergeType }).(pulumi.StringOutput) +} + +type SourceApiAssociationSourceApiAssociationConfigArrayOutput struct{ *pulumi.OutputState } + +func (SourceApiAssociationSourceApiAssociationConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SourceApiAssociationSourceApiAssociationConfig)(nil)).Elem() +} + +func (o SourceApiAssociationSourceApiAssociationConfigArrayOutput) ToSourceApiAssociationSourceApiAssociationConfigArrayOutput() SourceApiAssociationSourceApiAssociationConfigArrayOutput { + return o +} + +func (o SourceApiAssociationSourceApiAssociationConfigArrayOutput) ToSourceApiAssociationSourceApiAssociationConfigArrayOutputWithContext(ctx context.Context) SourceApiAssociationSourceApiAssociationConfigArrayOutput { + return o +} + +func (o SourceApiAssociationSourceApiAssociationConfigArrayOutput) Index(i pulumi.IntInput) SourceApiAssociationSourceApiAssociationConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SourceApiAssociationSourceApiAssociationConfig { + return vs[0].([]SourceApiAssociationSourceApiAssociationConfig)[vs[1].(int)] + }).(SourceApiAssociationSourceApiAssociationConfigOutput) +} + +type SourceApiAssociationTimeouts 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"` +} + +// SourceApiAssociationTimeoutsInput is an input type that accepts SourceApiAssociationTimeoutsArgs and SourceApiAssociationTimeoutsOutput values. +// You can construct a concrete instance of `SourceApiAssociationTimeoutsInput` via: +// +// SourceApiAssociationTimeoutsArgs{...} +type SourceApiAssociationTimeoutsInput interface { + pulumi.Input + + ToSourceApiAssociationTimeoutsOutput() SourceApiAssociationTimeoutsOutput + ToSourceApiAssociationTimeoutsOutputWithContext(context.Context) SourceApiAssociationTimeoutsOutput +} + +type SourceApiAssociationTimeoutsArgs 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 (SourceApiAssociationTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SourceApiAssociationTimeouts)(nil)).Elem() +} + +func (i SourceApiAssociationTimeoutsArgs) ToSourceApiAssociationTimeoutsOutput() SourceApiAssociationTimeoutsOutput { + return i.ToSourceApiAssociationTimeoutsOutputWithContext(context.Background()) +} + +func (i SourceApiAssociationTimeoutsArgs) ToSourceApiAssociationTimeoutsOutputWithContext(ctx context.Context) SourceApiAssociationTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SourceApiAssociationTimeoutsOutput) +} + +func (i SourceApiAssociationTimeoutsArgs) ToSourceApiAssociationTimeoutsPtrOutput() SourceApiAssociationTimeoutsPtrOutput { + return i.ToSourceApiAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i SourceApiAssociationTimeoutsArgs) ToSourceApiAssociationTimeoutsPtrOutputWithContext(ctx context.Context) SourceApiAssociationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SourceApiAssociationTimeoutsOutput).ToSourceApiAssociationTimeoutsPtrOutputWithContext(ctx) +} + +// SourceApiAssociationTimeoutsPtrInput is an input type that accepts SourceApiAssociationTimeoutsArgs, SourceApiAssociationTimeoutsPtr and SourceApiAssociationTimeoutsPtrOutput values. +// You can construct a concrete instance of `SourceApiAssociationTimeoutsPtrInput` via: +// +// SourceApiAssociationTimeoutsArgs{...} +// +// or: +// +// nil +type SourceApiAssociationTimeoutsPtrInput interface { + pulumi.Input + + ToSourceApiAssociationTimeoutsPtrOutput() SourceApiAssociationTimeoutsPtrOutput + ToSourceApiAssociationTimeoutsPtrOutputWithContext(context.Context) SourceApiAssociationTimeoutsPtrOutput +} + +type sourceApiAssociationTimeoutsPtrType SourceApiAssociationTimeoutsArgs + +func SourceApiAssociationTimeoutsPtr(v *SourceApiAssociationTimeoutsArgs) SourceApiAssociationTimeoutsPtrInput { + return (*sourceApiAssociationTimeoutsPtrType)(v) +} + +func (*sourceApiAssociationTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SourceApiAssociationTimeouts)(nil)).Elem() +} + +func (i *sourceApiAssociationTimeoutsPtrType) ToSourceApiAssociationTimeoutsPtrOutput() SourceApiAssociationTimeoutsPtrOutput { + return i.ToSourceApiAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *sourceApiAssociationTimeoutsPtrType) ToSourceApiAssociationTimeoutsPtrOutputWithContext(ctx context.Context) SourceApiAssociationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SourceApiAssociationTimeoutsPtrOutput) +} + +type SourceApiAssociationTimeoutsOutput struct{ *pulumi.OutputState } + +func (SourceApiAssociationTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SourceApiAssociationTimeouts)(nil)).Elem() +} + +func (o SourceApiAssociationTimeoutsOutput) ToSourceApiAssociationTimeoutsOutput() SourceApiAssociationTimeoutsOutput { + return o +} + +func (o SourceApiAssociationTimeoutsOutput) ToSourceApiAssociationTimeoutsOutputWithContext(ctx context.Context) SourceApiAssociationTimeoutsOutput { + return o +} + +func (o SourceApiAssociationTimeoutsOutput) ToSourceApiAssociationTimeoutsPtrOutput() SourceApiAssociationTimeoutsPtrOutput { + return o.ToSourceApiAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o SourceApiAssociationTimeoutsOutput) ToSourceApiAssociationTimeoutsPtrOutputWithContext(ctx context.Context) SourceApiAssociationTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SourceApiAssociationTimeouts) *SourceApiAssociationTimeouts { + return &v + }).(SourceApiAssociationTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 SourceApiAssociationTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v SourceApiAssociationTimeouts) *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 SourceApiAssociationTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v SourceApiAssociationTimeouts) *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 SourceApiAssociationTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v SourceApiAssociationTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type SourceApiAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (SourceApiAssociationTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SourceApiAssociationTimeouts)(nil)).Elem() +} + +func (o SourceApiAssociationTimeoutsPtrOutput) ToSourceApiAssociationTimeoutsPtrOutput() SourceApiAssociationTimeoutsPtrOutput { + return o +} + +func (o SourceApiAssociationTimeoutsPtrOutput) ToSourceApiAssociationTimeoutsPtrOutputWithContext(ctx context.Context) SourceApiAssociationTimeoutsPtrOutput { + return o +} + +func (o SourceApiAssociationTimeoutsPtrOutput) Elem() SourceApiAssociationTimeoutsOutput { + return o.ApplyT(func(v *SourceApiAssociationTimeouts) SourceApiAssociationTimeouts { + if v != nil { + return *v + } + var ret SourceApiAssociationTimeouts + return ret + }).(SourceApiAssociationTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 SourceApiAssociationTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SourceApiAssociationTimeouts) *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 SourceApiAssociationTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SourceApiAssociationTimeouts) *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 SourceApiAssociationTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SourceApiAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDynamodbConfigInput)(nil)).Elem(), DataSourceDynamodbConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDynamodbConfigPtrInput)(nil)).Elem(), DataSourceDynamodbConfigArgs{}) @@ -4711,6 +4983,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ResolverSyncConfigPtrInput)(nil)).Elem(), ResolverSyncConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResolverSyncConfigLambdaConflictHandlerConfigInput)(nil)).Elem(), ResolverSyncConfigLambdaConflictHandlerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResolverSyncConfigLambdaConflictHandlerConfigPtrInput)(nil)).Elem(), ResolverSyncConfigLambdaConflictHandlerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationSourceApiAssociationConfigInput)(nil)).Elem(), SourceApiAssociationSourceApiAssociationConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationSourceApiAssociationConfigArrayInput)(nil)).Elem(), SourceApiAssociationSourceApiAssociationConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationTimeoutsInput)(nil)).Elem(), SourceApiAssociationTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationTimeoutsPtrInput)(nil)).Elem(), SourceApiAssociationTimeoutsArgs{}) pulumi.RegisterOutputType(DataSourceDynamodbConfigOutput{}) pulumi.RegisterOutputType(DataSourceDynamodbConfigPtrOutput{}) pulumi.RegisterOutputType(DataSourceDynamodbConfigDeltaSyncConfigOutput{}) @@ -4767,4 +5043,8 @@ func init() { pulumi.RegisterOutputType(ResolverSyncConfigPtrOutput{}) pulumi.RegisterOutputType(ResolverSyncConfigLambdaConflictHandlerConfigOutput{}) pulumi.RegisterOutputType(ResolverSyncConfigLambdaConflictHandlerConfigPtrOutput{}) + pulumi.RegisterOutputType(SourceApiAssociationSourceApiAssociationConfigOutput{}) + pulumi.RegisterOutputType(SourceApiAssociationSourceApiAssociationConfigArrayOutput{}) + pulumi.RegisterOutputType(SourceApiAssociationTimeoutsOutput{}) + pulumi.RegisterOutputType(SourceApiAssociationTimeoutsPtrOutput{}) } diff --git a/sdk/go/aws/appsync/sourceApiAssociation.go b/sdk/go/aws/appsync/sourceApiAssociation.go new file mode 100644 index 00000000000..184e552246d --- /dev/null +++ b/sdk/go/aws/appsync/sourceApiAssociation.go @@ -0,0 +1,355 @@ +// 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 appsync + +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 AppSync Source Api Association. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := appsync.NewSourceApiAssociation(ctx, "test", &appsync.SourceApiAssociationArgs{ +// Description: pulumi.String("My source API Merged"), +// MergedApiId: pulumi.String("gzos6bteufdunffzzifiowisoe"), +// SourceApiId: pulumi.String("fzzifiowisoegzos6bteufdunf"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: +// +// ```sh +// $ pulumi import aws:appsync/sourceApiAssociation:SourceApiAssociation example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 +// ``` +type SourceApiAssociation struct { + pulumi.CustomResourceState + + // ARN of the Source Api Association. + Arn pulumi.StringOutput `pulumi:"arn"` + // ID of the Source Api Association. + AssociationId pulumi.StringOutput `pulumi:"associationId"` + // Description of the source API being merged. + Description pulumi.StringPtrOutput `pulumi:"description"` + // ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiArn pulumi.StringOutput `pulumi:"mergedApiArn"` + // ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiId pulumi.StringOutput `pulumi:"mergedApiId"` + // ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiArn pulumi.StringOutput `pulumi:"sourceApiArn"` + SourceApiAssociationConfigs SourceApiAssociationSourceApiAssociationConfigArrayOutput `pulumi:"sourceApiAssociationConfigs"` + // ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiId pulumi.StringOutput `pulumi:"sourceApiId"` + Timeouts SourceApiAssociationTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewSourceApiAssociation registers a new resource with the given unique name, arguments, and options. +func NewSourceApiAssociation(ctx *pulumi.Context, + name string, args *SourceApiAssociationArgs, opts ...pulumi.ResourceOption) (*SourceApiAssociation, error) { + if args == nil { + args = &SourceApiAssociationArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource SourceApiAssociation + err := ctx.RegisterResource("aws:appsync/sourceApiAssociation:SourceApiAssociation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSourceApiAssociation gets an existing SourceApiAssociation 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 GetSourceApiAssociation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SourceApiAssociationState, opts ...pulumi.ResourceOption) (*SourceApiAssociation, error) { + var resource SourceApiAssociation + err := ctx.ReadResource("aws:appsync/sourceApiAssociation:SourceApiAssociation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SourceApiAssociation resources. +type sourceApiAssociationState struct { + // ARN of the Source Api Association. + Arn *string `pulumi:"arn"` + // ID of the Source Api Association. + AssociationId *string `pulumi:"associationId"` + // Description of the source API being merged. + Description *string `pulumi:"description"` + // ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiArn *string `pulumi:"mergedApiArn"` + // ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiId *string `pulumi:"mergedApiId"` + // ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiArn *string `pulumi:"sourceApiArn"` + SourceApiAssociationConfigs []SourceApiAssociationSourceApiAssociationConfig `pulumi:"sourceApiAssociationConfigs"` + // ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiId *string `pulumi:"sourceApiId"` + Timeouts *SourceApiAssociationTimeouts `pulumi:"timeouts"` +} + +type SourceApiAssociationState struct { + // ARN of the Source Api Association. + Arn pulumi.StringPtrInput + // ID of the Source Api Association. + AssociationId pulumi.StringPtrInput + // Description of the source API being merged. + Description pulumi.StringPtrInput + // ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiArn pulumi.StringPtrInput + // ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiId pulumi.StringPtrInput + // ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiArn pulumi.StringPtrInput + SourceApiAssociationConfigs SourceApiAssociationSourceApiAssociationConfigArrayInput + // ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiId pulumi.StringPtrInput + Timeouts SourceApiAssociationTimeoutsPtrInput +} + +func (SourceApiAssociationState) ElementType() reflect.Type { + return reflect.TypeOf((*sourceApiAssociationState)(nil)).Elem() +} + +type sourceApiAssociationArgs struct { + // Description of the source API being merged. + Description *string `pulumi:"description"` + // ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiArn *string `pulumi:"mergedApiArn"` + // ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiId *string `pulumi:"mergedApiId"` + // ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiArn *string `pulumi:"sourceApiArn"` + SourceApiAssociationConfigs []SourceApiAssociationSourceApiAssociationConfig `pulumi:"sourceApiAssociationConfigs"` + // ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiId *string `pulumi:"sourceApiId"` + Timeouts *SourceApiAssociationTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a SourceApiAssociation resource. +type SourceApiAssociationArgs struct { + // Description of the source API being merged. + Description pulumi.StringPtrInput + // ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiArn pulumi.StringPtrInput + // ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + MergedApiId pulumi.StringPtrInput + // ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiArn pulumi.StringPtrInput + SourceApiAssociationConfigs SourceApiAssociationSourceApiAssociationConfigArrayInput + // ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + SourceApiId pulumi.StringPtrInput + Timeouts SourceApiAssociationTimeoutsPtrInput +} + +func (SourceApiAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*sourceApiAssociationArgs)(nil)).Elem() +} + +type SourceApiAssociationInput interface { + pulumi.Input + + ToSourceApiAssociationOutput() SourceApiAssociationOutput + ToSourceApiAssociationOutputWithContext(ctx context.Context) SourceApiAssociationOutput +} + +func (*SourceApiAssociation) ElementType() reflect.Type { + return reflect.TypeOf((**SourceApiAssociation)(nil)).Elem() +} + +func (i *SourceApiAssociation) ToSourceApiAssociationOutput() SourceApiAssociationOutput { + return i.ToSourceApiAssociationOutputWithContext(context.Background()) +} + +func (i *SourceApiAssociation) ToSourceApiAssociationOutputWithContext(ctx context.Context) SourceApiAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SourceApiAssociationOutput) +} + +// SourceApiAssociationArrayInput is an input type that accepts SourceApiAssociationArray and SourceApiAssociationArrayOutput values. +// You can construct a concrete instance of `SourceApiAssociationArrayInput` via: +// +// SourceApiAssociationArray{ SourceApiAssociationArgs{...} } +type SourceApiAssociationArrayInput interface { + pulumi.Input + + ToSourceApiAssociationArrayOutput() SourceApiAssociationArrayOutput + ToSourceApiAssociationArrayOutputWithContext(context.Context) SourceApiAssociationArrayOutput +} + +type SourceApiAssociationArray []SourceApiAssociationInput + +func (SourceApiAssociationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SourceApiAssociation)(nil)).Elem() +} + +func (i SourceApiAssociationArray) ToSourceApiAssociationArrayOutput() SourceApiAssociationArrayOutput { + return i.ToSourceApiAssociationArrayOutputWithContext(context.Background()) +} + +func (i SourceApiAssociationArray) ToSourceApiAssociationArrayOutputWithContext(ctx context.Context) SourceApiAssociationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SourceApiAssociationArrayOutput) +} + +// SourceApiAssociationMapInput is an input type that accepts SourceApiAssociationMap and SourceApiAssociationMapOutput values. +// You can construct a concrete instance of `SourceApiAssociationMapInput` via: +// +// SourceApiAssociationMap{ "key": SourceApiAssociationArgs{...} } +type SourceApiAssociationMapInput interface { + pulumi.Input + + ToSourceApiAssociationMapOutput() SourceApiAssociationMapOutput + ToSourceApiAssociationMapOutputWithContext(context.Context) SourceApiAssociationMapOutput +} + +type SourceApiAssociationMap map[string]SourceApiAssociationInput + +func (SourceApiAssociationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SourceApiAssociation)(nil)).Elem() +} + +func (i SourceApiAssociationMap) ToSourceApiAssociationMapOutput() SourceApiAssociationMapOutput { + return i.ToSourceApiAssociationMapOutputWithContext(context.Background()) +} + +func (i SourceApiAssociationMap) ToSourceApiAssociationMapOutputWithContext(ctx context.Context) SourceApiAssociationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SourceApiAssociationMapOutput) +} + +type SourceApiAssociationOutput struct{ *pulumi.OutputState } + +func (SourceApiAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SourceApiAssociation)(nil)).Elem() +} + +func (o SourceApiAssociationOutput) ToSourceApiAssociationOutput() SourceApiAssociationOutput { + return o +} + +func (o SourceApiAssociationOutput) ToSourceApiAssociationOutputWithContext(ctx context.Context) SourceApiAssociationOutput { + return o +} + +// ARN of the Source Api Association. +func (o SourceApiAssociationOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *SourceApiAssociation) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// ID of the Source Api Association. +func (o SourceApiAssociationOutput) AssociationId() pulumi.StringOutput { + return o.ApplyT(func(v *SourceApiAssociation) pulumi.StringOutput { return v.AssociationId }).(pulumi.StringOutput) +} + +// Description of the source API being merged. +func (o SourceApiAssociationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SourceApiAssociation) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. +func (o SourceApiAssociationOutput) MergedApiArn() pulumi.StringOutput { + return o.ApplyT(func(v *SourceApiAssociation) pulumi.StringOutput { return v.MergedApiArn }).(pulumi.StringOutput) +} + +// ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. +func (o SourceApiAssociationOutput) MergedApiId() pulumi.StringOutput { + return o.ApplyT(func(v *SourceApiAssociation) pulumi.StringOutput { return v.MergedApiId }).(pulumi.StringOutput) +} + +// ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. +func (o SourceApiAssociationOutput) SourceApiArn() pulumi.StringOutput { + return o.ApplyT(func(v *SourceApiAssociation) pulumi.StringOutput { return v.SourceApiArn }).(pulumi.StringOutput) +} + +func (o SourceApiAssociationOutput) SourceApiAssociationConfigs() SourceApiAssociationSourceApiAssociationConfigArrayOutput { + return o.ApplyT(func(v *SourceApiAssociation) SourceApiAssociationSourceApiAssociationConfigArrayOutput { + return v.SourceApiAssociationConfigs + }).(SourceApiAssociationSourceApiAssociationConfigArrayOutput) +} + +// ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. +func (o SourceApiAssociationOutput) SourceApiId() pulumi.StringOutput { + return o.ApplyT(func(v *SourceApiAssociation) pulumi.StringOutput { return v.SourceApiId }).(pulumi.StringOutput) +} + +func (o SourceApiAssociationOutput) Timeouts() SourceApiAssociationTimeoutsPtrOutput { + return o.ApplyT(func(v *SourceApiAssociation) SourceApiAssociationTimeoutsPtrOutput { return v.Timeouts }).(SourceApiAssociationTimeoutsPtrOutput) +} + +type SourceApiAssociationArrayOutput struct{ *pulumi.OutputState } + +func (SourceApiAssociationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SourceApiAssociation)(nil)).Elem() +} + +func (o SourceApiAssociationArrayOutput) ToSourceApiAssociationArrayOutput() SourceApiAssociationArrayOutput { + return o +} + +func (o SourceApiAssociationArrayOutput) ToSourceApiAssociationArrayOutputWithContext(ctx context.Context) SourceApiAssociationArrayOutput { + return o +} + +func (o SourceApiAssociationArrayOutput) Index(i pulumi.IntInput) SourceApiAssociationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SourceApiAssociation { + return vs[0].([]*SourceApiAssociation)[vs[1].(int)] + }).(SourceApiAssociationOutput) +} + +type SourceApiAssociationMapOutput struct{ *pulumi.OutputState } + +func (SourceApiAssociationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SourceApiAssociation)(nil)).Elem() +} + +func (o SourceApiAssociationMapOutput) ToSourceApiAssociationMapOutput() SourceApiAssociationMapOutput { + return o +} + +func (o SourceApiAssociationMapOutput) ToSourceApiAssociationMapOutputWithContext(ctx context.Context) SourceApiAssociationMapOutput { + return o +} + +func (o SourceApiAssociationMapOutput) MapIndex(k pulumi.StringInput) SourceApiAssociationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SourceApiAssociation { + return vs[0].(map[string]*SourceApiAssociation)[vs[1].(string)] + }).(SourceApiAssociationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationInput)(nil)).Elem(), &SourceApiAssociation{}) + pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationArrayInput)(nil)).Elem(), SourceApiAssociationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationMapInput)(nil)).Elem(), SourceApiAssociationMap{}) + pulumi.RegisterOutputType(SourceApiAssociationOutput{}) + pulumi.RegisterOutputType(SourceApiAssociationArrayOutput{}) + pulumi.RegisterOutputType(SourceApiAssociationMapOutput{}) +} diff --git a/sdk/go/aws/backup/regionSettings.go b/sdk/go/aws/backup/regionSettings.go index 860c0c5d887..e00110c4785 100644 --- a/sdk/go/aws/backup/regionSettings.go +++ b/sdk/go/aws/backup/regionSettings.go @@ -30,17 +30,21 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := backup.NewRegionSettings(ctx, "test", &backup.RegionSettingsArgs{ // ResourceTypeOptInPreference: pulumi.BoolMap{ -// "Aurora": pulumi.Bool(true), -// "DocumentDB": pulumi.Bool(true), -// "DynamoDB": pulumi.Bool(true), -// "EBS": pulumi.Bool(true), -// "EC2": pulumi.Bool(true), -// "EFS": pulumi.Bool(true), -// "FSx": pulumi.Bool(true), -// "Neptune": pulumi.Bool(true), -// "RDS": pulumi.Bool(true), -// "Storage Gateway": pulumi.Bool(true), -// "VirtualMachine": pulumi.Bool(true), +// "Aurora": pulumi.Bool(true), +// "DocumentDB": pulumi.Bool(true), +// "DynamoDB": pulumi.Bool(true), +// "EBS": pulumi.Bool(true), +// "EC2": pulumi.Bool(true), +// "EFS": pulumi.Bool(true), +// "FSx": pulumi.Bool(true), +// "Neptune": pulumi.Bool(true), +// "RDS": pulumi.Bool(true), +// "Storage Gateway": pulumi.Bool(true), +// "VirtualMachine": pulumi.Bool(true), +// "CloudFormation": pulumi.Bool(true), +// "Redshift": pulumi.Bool(true), +// "S3": pulumi.Bool(true), +// "SAP HANA on Amazon EC2": pulumi.Bool(true), // }, // ResourceTypeManagementPreference: pulumi.BoolMap{ // "DynamoDB": pulumi.Bool(true), diff --git a/sdk/go/aws/config/pulumiTypes.go b/sdk/go/aws/config/pulumiTypes.go index dd6590d6ffa..b1fd0b47cf5 100644 --- a/sdk/go/aws/config/pulumiTypes.go +++ b/sdk/go/aws/config/pulumiTypes.go @@ -705,6 +705,8 @@ type Endpoints struct { // Use this to override the default service endpoint URL Pinpoint *string `pulumi:"pinpoint"` // Use this to override the default service endpoint URL + Pinpointsmsvoicev2 *string `pulumi:"pinpointsmsvoicev2"` + // Use this to override the default service endpoint URL Pipes *string `pulumi:"pipes"` // Use this to override the default service endpoint URL Polly *string `pulumi:"polly"` @@ -1297,6 +1299,8 @@ type EndpointsArgs struct { // Use this to override the default service endpoint URL Pinpoint pulumi.StringPtrInput `pulumi:"pinpoint"` // Use this to override the default service endpoint URL + Pinpointsmsvoicev2 pulumi.StringPtrInput `pulumi:"pinpointsmsvoicev2"` + // Use this to override the default service endpoint URL Pipes pulumi.StringPtrInput `pulumi:"pipes"` // Use this to override the default service endpoint URL Polly pulumi.StringPtrInput `pulumi:"polly"` @@ -2548,6 +2552,11 @@ func (o EndpointsOutput) Pinpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Pinpoint }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o EndpointsOutput) Pinpointsmsvoicev2() pulumi.StringPtrOutput { + return o.ApplyT(func(v Endpoints) *string { return v.Pinpointsmsvoicev2 }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o EndpointsOutput) Pipes() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Pipes }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/elasticache/cluster.go b/sdk/go/aws/elasticache/cluster.go index fcb42933801..fab1cfc5261 100644 --- a/sdk/go/aws/elasticache/cluster.go +++ b/sdk/go/aws/elasticache/cluster.go @@ -296,7 +296,10 @@ type Cluster struct { MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"` // The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType pulumi.StringOutput `pulumi:"networkType"` - // The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + // The instance class used. + // See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + // For Memcached, changing this value will re-create the resource. NodeType pulumi.StringOutput `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. NotificationTopicArn pulumi.StringPtrOutput `pulumi:"notificationTopicArn"` @@ -413,7 +416,10 @@ type clusterState struct { MaintenanceWindow *string `pulumi:"maintenanceWindow"` // The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType *string `pulumi:"networkType"` - // The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + // The instance class used. + // See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + // For Memcached, changing this value will re-create the resource. NodeType *string `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. NotificationTopicArn *string `pulumi:"notificationTopicArn"` @@ -501,7 +507,10 @@ type ClusterState struct { MaintenanceWindow pulumi.StringPtrInput // The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType pulumi.StringPtrInput - // The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + // The instance class used. + // See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + // For Memcached, changing this value will re-create the resource. NodeType pulumi.StringPtrInput // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. NotificationTopicArn pulumi.StringPtrInput @@ -583,7 +592,10 @@ type clusterArgs struct { MaintenanceWindow *string `pulumi:"maintenanceWindow"` // The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType *string `pulumi:"networkType"` - // The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + // The instance class used. + // See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + // For Memcached, changing this value will re-create the resource. NodeType *string `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. NotificationTopicArn *string `pulumi:"notificationTopicArn"` @@ -658,7 +670,10 @@ type ClusterArgs struct { MaintenanceWindow pulumi.StringPtrInput // The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType pulumi.StringPtrInput - // The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + // The instance class used. + // See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + // For Memcached, changing this value will re-create the resource. NodeType pulumi.StringPtrInput // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. NotificationTopicArn pulumi.StringPtrInput @@ -879,7 +894,10 @@ func (o ClusterOutput) NetworkType() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.NetworkType }).(pulumi.StringOutput) } -// The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. +// The instance class used. +// See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). +// See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). +// For Memcached, changing this value will re-create the resource. func (o ClusterOutput) NodeType() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.NodeType }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/elasticache/getReservedCacheNodeOffering.go b/sdk/go/aws/elasticache/getReservedCacheNodeOffering.go new file mode 100644 index 00000000000..f6cac6d7929 --- /dev/null +++ b/sdk/go/aws/elasticache/getReservedCacheNodeOffering.go @@ -0,0 +1,177 @@ +// 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 elasticache + +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 ElastiCache Reserved Cache Node Offering. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := elasticache.GetReservedCacheNodeOffering(ctx, &elasticache.GetReservedCacheNodeOfferingArgs{ +// CacheNodeType: "cache.t4g.small", +// Duration: "P1Y", +// OfferingType: "No Upfront", +// ProductDescription: "redis", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetReservedCacheNodeOffering(ctx *pulumi.Context, args *GetReservedCacheNodeOfferingArgs, opts ...pulumi.InvokeOption) (*GetReservedCacheNodeOfferingResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetReservedCacheNodeOfferingResult + err := ctx.Invoke("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getReservedCacheNodeOffering. +type GetReservedCacheNodeOfferingArgs struct { + // Node type for the reserved cache node. + // See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + CacheNodeType string `pulumi:"cacheNodeType"` + // Duration of the reservation in RFC3339 duration format. + // Valid values are `P1Y` (one year) and `P3Y` (three years). + Duration string `pulumi:"duration"` + // Offering type of this reserved cache node. + // For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + // For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + // For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + OfferingType string `pulumi:"offeringType"` + // Engine type for the reserved cache node. + // Valid values are `redis` and `memcached`. + ProductDescription string `pulumi:"productDescription"` +} + +// A collection of values returned by getReservedCacheNodeOffering. +type GetReservedCacheNodeOfferingResult struct { + CacheNodeType string `pulumi:"cacheNodeType"` + Duration string `pulumi:"duration"` + // Fixed price charged for this reserved cache node. + FixedPrice float64 `pulumi:"fixedPrice"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Unique identifier for the reservation. + OfferingId string `pulumi:"offeringId"` + OfferingType string `pulumi:"offeringType"` + ProductDescription string `pulumi:"productDescription"` +} + +func GetReservedCacheNodeOfferingOutput(ctx *pulumi.Context, args GetReservedCacheNodeOfferingOutputArgs, opts ...pulumi.InvokeOption) GetReservedCacheNodeOfferingResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetReservedCacheNodeOfferingResultOutput, error) { + args := v.(GetReservedCacheNodeOfferingArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetReservedCacheNodeOfferingResult + secret, err := ctx.InvokePackageRaw("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", args, &rv, "", opts...) + if err != nil { + return GetReservedCacheNodeOfferingResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(GetReservedCacheNodeOfferingResultOutput) + if secret { + return pulumi.ToSecret(output).(GetReservedCacheNodeOfferingResultOutput), nil + } + return output, nil + }).(GetReservedCacheNodeOfferingResultOutput) +} + +// A collection of arguments for invoking getReservedCacheNodeOffering. +type GetReservedCacheNodeOfferingOutputArgs struct { + // Node type for the reserved cache node. + // See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + CacheNodeType pulumi.StringInput `pulumi:"cacheNodeType"` + // Duration of the reservation in RFC3339 duration format. + // Valid values are `P1Y` (one year) and `P3Y` (three years). + Duration pulumi.StringInput `pulumi:"duration"` + // Offering type of this reserved cache node. + // For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + // For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + // For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + OfferingType pulumi.StringInput `pulumi:"offeringType"` + // Engine type for the reserved cache node. + // Valid values are `redis` and `memcached`. + ProductDescription pulumi.StringInput `pulumi:"productDescription"` +} + +func (GetReservedCacheNodeOfferingOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReservedCacheNodeOfferingArgs)(nil)).Elem() +} + +// A collection of values returned by getReservedCacheNodeOffering. +type GetReservedCacheNodeOfferingResultOutput struct{ *pulumi.OutputState } + +func (GetReservedCacheNodeOfferingResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReservedCacheNodeOfferingResult)(nil)).Elem() +} + +func (o GetReservedCacheNodeOfferingResultOutput) ToGetReservedCacheNodeOfferingResultOutput() GetReservedCacheNodeOfferingResultOutput { + return o +} + +func (o GetReservedCacheNodeOfferingResultOutput) ToGetReservedCacheNodeOfferingResultOutputWithContext(ctx context.Context) GetReservedCacheNodeOfferingResultOutput { + return o +} + +func (o GetReservedCacheNodeOfferingResultOutput) CacheNodeType() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedCacheNodeOfferingResult) string { return v.CacheNodeType }).(pulumi.StringOutput) +} + +func (o GetReservedCacheNodeOfferingResultOutput) Duration() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedCacheNodeOfferingResult) string { return v.Duration }).(pulumi.StringOutput) +} + +// Fixed price charged for this reserved cache node. +func (o GetReservedCacheNodeOfferingResultOutput) FixedPrice() pulumi.Float64Output { + return o.ApplyT(func(v GetReservedCacheNodeOfferingResult) float64 { return v.FixedPrice }).(pulumi.Float64Output) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetReservedCacheNodeOfferingResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedCacheNodeOfferingResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Unique identifier for the reservation. +func (o GetReservedCacheNodeOfferingResultOutput) OfferingId() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedCacheNodeOfferingResult) string { return v.OfferingId }).(pulumi.StringOutput) +} + +func (o GetReservedCacheNodeOfferingResultOutput) OfferingType() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedCacheNodeOfferingResult) string { return v.OfferingType }).(pulumi.StringOutput) +} + +func (o GetReservedCacheNodeOfferingResultOutput) ProductDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedCacheNodeOfferingResult) string { return v.ProductDescription }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetReservedCacheNodeOfferingResultOutput{}) +} diff --git a/sdk/go/aws/elasticache/init.go b/sdk/go/aws/elasticache/init.go index 643c24fc359..a2de9be7398 100644 --- a/sdk/go/aws/elasticache/init.go +++ b/sdk/go/aws/elasticache/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ParameterGroup{} case "aws:elasticache/replicationGroup:ReplicationGroup": r = &ReplicationGroup{} + case "aws:elasticache/reservedCacheNode:ReservedCacheNode": + r = &ReservedCacheNode{} case "aws:elasticache/serverlessCache:ServerlessCache": r = &ServerlessCache{} case "aws:elasticache/subnetGroup:SubnetGroup": @@ -72,6 +74,11 @@ func init() { "elasticache/replicationGroup", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "elasticache/reservedCacheNode", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "elasticache/serverlessCache", diff --git a/sdk/go/aws/elasticache/pulumiTypes.go b/sdk/go/aws/elasticache/pulumiTypes.go index 9996e4f5372..96d7f07bbaa 100644 --- a/sdk/go/aws/elasticache/pulumiTypes.go +++ b/sdk/go/aws/elasticache/pulumiTypes.go @@ -597,6 +597,281 @@ func (o ReplicationGroupLogDeliveryConfigurationArrayOutput) Index(i pulumi.IntI }).(ReplicationGroupLogDeliveryConfigurationOutput) } +type ReservedCacheNodeRecurringCharge struct { + RecurringChargeAmount float64 `pulumi:"recurringChargeAmount"` + RecurringChargeFrequency string `pulumi:"recurringChargeFrequency"` +} + +// ReservedCacheNodeRecurringChargeInput is an input type that accepts ReservedCacheNodeRecurringChargeArgs and ReservedCacheNodeRecurringChargeOutput values. +// You can construct a concrete instance of `ReservedCacheNodeRecurringChargeInput` via: +// +// ReservedCacheNodeRecurringChargeArgs{...} +type ReservedCacheNodeRecurringChargeInput interface { + pulumi.Input + + ToReservedCacheNodeRecurringChargeOutput() ReservedCacheNodeRecurringChargeOutput + ToReservedCacheNodeRecurringChargeOutputWithContext(context.Context) ReservedCacheNodeRecurringChargeOutput +} + +type ReservedCacheNodeRecurringChargeArgs struct { + RecurringChargeAmount pulumi.Float64Input `pulumi:"recurringChargeAmount"` + RecurringChargeFrequency pulumi.StringInput `pulumi:"recurringChargeFrequency"` +} + +func (ReservedCacheNodeRecurringChargeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReservedCacheNodeRecurringCharge)(nil)).Elem() +} + +func (i ReservedCacheNodeRecurringChargeArgs) ToReservedCacheNodeRecurringChargeOutput() ReservedCacheNodeRecurringChargeOutput { + return i.ToReservedCacheNodeRecurringChargeOutputWithContext(context.Background()) +} + +func (i ReservedCacheNodeRecurringChargeArgs) ToReservedCacheNodeRecurringChargeOutputWithContext(ctx context.Context) ReservedCacheNodeRecurringChargeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedCacheNodeRecurringChargeOutput) +} + +// ReservedCacheNodeRecurringChargeArrayInput is an input type that accepts ReservedCacheNodeRecurringChargeArray and ReservedCacheNodeRecurringChargeArrayOutput values. +// You can construct a concrete instance of `ReservedCacheNodeRecurringChargeArrayInput` via: +// +// ReservedCacheNodeRecurringChargeArray{ ReservedCacheNodeRecurringChargeArgs{...} } +type ReservedCacheNodeRecurringChargeArrayInput interface { + pulumi.Input + + ToReservedCacheNodeRecurringChargeArrayOutput() ReservedCacheNodeRecurringChargeArrayOutput + ToReservedCacheNodeRecurringChargeArrayOutputWithContext(context.Context) ReservedCacheNodeRecurringChargeArrayOutput +} + +type ReservedCacheNodeRecurringChargeArray []ReservedCacheNodeRecurringChargeInput + +func (ReservedCacheNodeRecurringChargeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReservedCacheNodeRecurringCharge)(nil)).Elem() +} + +func (i ReservedCacheNodeRecurringChargeArray) ToReservedCacheNodeRecurringChargeArrayOutput() ReservedCacheNodeRecurringChargeArrayOutput { + return i.ToReservedCacheNodeRecurringChargeArrayOutputWithContext(context.Background()) +} + +func (i ReservedCacheNodeRecurringChargeArray) ToReservedCacheNodeRecurringChargeArrayOutputWithContext(ctx context.Context) ReservedCacheNodeRecurringChargeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedCacheNodeRecurringChargeArrayOutput) +} + +type ReservedCacheNodeRecurringChargeOutput struct{ *pulumi.OutputState } + +func (ReservedCacheNodeRecurringChargeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReservedCacheNodeRecurringCharge)(nil)).Elem() +} + +func (o ReservedCacheNodeRecurringChargeOutput) ToReservedCacheNodeRecurringChargeOutput() ReservedCacheNodeRecurringChargeOutput { + return o +} + +func (o ReservedCacheNodeRecurringChargeOutput) ToReservedCacheNodeRecurringChargeOutputWithContext(ctx context.Context) ReservedCacheNodeRecurringChargeOutput { + return o +} + +func (o ReservedCacheNodeRecurringChargeOutput) RecurringChargeAmount() pulumi.Float64Output { + return o.ApplyT(func(v ReservedCacheNodeRecurringCharge) float64 { return v.RecurringChargeAmount }).(pulumi.Float64Output) +} + +func (o ReservedCacheNodeRecurringChargeOutput) RecurringChargeFrequency() pulumi.StringOutput { + return o.ApplyT(func(v ReservedCacheNodeRecurringCharge) string { return v.RecurringChargeFrequency }).(pulumi.StringOutput) +} + +type ReservedCacheNodeRecurringChargeArrayOutput struct{ *pulumi.OutputState } + +func (ReservedCacheNodeRecurringChargeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReservedCacheNodeRecurringCharge)(nil)).Elem() +} + +func (o ReservedCacheNodeRecurringChargeArrayOutput) ToReservedCacheNodeRecurringChargeArrayOutput() ReservedCacheNodeRecurringChargeArrayOutput { + return o +} + +func (o ReservedCacheNodeRecurringChargeArrayOutput) ToReservedCacheNodeRecurringChargeArrayOutputWithContext(ctx context.Context) ReservedCacheNodeRecurringChargeArrayOutput { + return o +} + +func (o ReservedCacheNodeRecurringChargeArrayOutput) Index(i pulumi.IntInput) ReservedCacheNodeRecurringChargeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReservedCacheNodeRecurringCharge { + return vs[0].([]ReservedCacheNodeRecurringCharge)[vs[1].(int)] + }).(ReservedCacheNodeRecurringChargeOutput) +} + +type ReservedCacheNodeTimeouts 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"` +} + +// ReservedCacheNodeTimeoutsInput is an input type that accepts ReservedCacheNodeTimeoutsArgs and ReservedCacheNodeTimeoutsOutput values. +// You can construct a concrete instance of `ReservedCacheNodeTimeoutsInput` via: +// +// ReservedCacheNodeTimeoutsArgs{...} +type ReservedCacheNodeTimeoutsInput interface { + pulumi.Input + + ToReservedCacheNodeTimeoutsOutput() ReservedCacheNodeTimeoutsOutput + ToReservedCacheNodeTimeoutsOutputWithContext(context.Context) ReservedCacheNodeTimeoutsOutput +} + +type ReservedCacheNodeTimeoutsArgs 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 (ReservedCacheNodeTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReservedCacheNodeTimeouts)(nil)).Elem() +} + +func (i ReservedCacheNodeTimeoutsArgs) ToReservedCacheNodeTimeoutsOutput() ReservedCacheNodeTimeoutsOutput { + return i.ToReservedCacheNodeTimeoutsOutputWithContext(context.Background()) +} + +func (i ReservedCacheNodeTimeoutsArgs) ToReservedCacheNodeTimeoutsOutputWithContext(ctx context.Context) ReservedCacheNodeTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedCacheNodeTimeoutsOutput) +} + +func (i ReservedCacheNodeTimeoutsArgs) ToReservedCacheNodeTimeoutsPtrOutput() ReservedCacheNodeTimeoutsPtrOutput { + return i.ToReservedCacheNodeTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i ReservedCacheNodeTimeoutsArgs) ToReservedCacheNodeTimeoutsPtrOutputWithContext(ctx context.Context) ReservedCacheNodeTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedCacheNodeTimeoutsOutput).ToReservedCacheNodeTimeoutsPtrOutputWithContext(ctx) +} + +// ReservedCacheNodeTimeoutsPtrInput is an input type that accepts ReservedCacheNodeTimeoutsArgs, ReservedCacheNodeTimeoutsPtr and ReservedCacheNodeTimeoutsPtrOutput values. +// You can construct a concrete instance of `ReservedCacheNodeTimeoutsPtrInput` via: +// +// ReservedCacheNodeTimeoutsArgs{...} +// +// or: +// +// nil +type ReservedCacheNodeTimeoutsPtrInput interface { + pulumi.Input + + ToReservedCacheNodeTimeoutsPtrOutput() ReservedCacheNodeTimeoutsPtrOutput + ToReservedCacheNodeTimeoutsPtrOutputWithContext(context.Context) ReservedCacheNodeTimeoutsPtrOutput +} + +type reservedCacheNodeTimeoutsPtrType ReservedCacheNodeTimeoutsArgs + +func ReservedCacheNodeTimeoutsPtr(v *ReservedCacheNodeTimeoutsArgs) ReservedCacheNodeTimeoutsPtrInput { + return (*reservedCacheNodeTimeoutsPtrType)(v) +} + +func (*reservedCacheNodeTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ReservedCacheNodeTimeouts)(nil)).Elem() +} + +func (i *reservedCacheNodeTimeoutsPtrType) ToReservedCacheNodeTimeoutsPtrOutput() ReservedCacheNodeTimeoutsPtrOutput { + return i.ToReservedCacheNodeTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *reservedCacheNodeTimeoutsPtrType) ToReservedCacheNodeTimeoutsPtrOutputWithContext(ctx context.Context) ReservedCacheNodeTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedCacheNodeTimeoutsPtrOutput) +} + +type ReservedCacheNodeTimeoutsOutput struct{ *pulumi.OutputState } + +func (ReservedCacheNodeTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReservedCacheNodeTimeouts)(nil)).Elem() +} + +func (o ReservedCacheNodeTimeoutsOutput) ToReservedCacheNodeTimeoutsOutput() ReservedCacheNodeTimeoutsOutput { + return o +} + +func (o ReservedCacheNodeTimeoutsOutput) ToReservedCacheNodeTimeoutsOutputWithContext(ctx context.Context) ReservedCacheNodeTimeoutsOutput { + return o +} + +func (o ReservedCacheNodeTimeoutsOutput) ToReservedCacheNodeTimeoutsPtrOutput() ReservedCacheNodeTimeoutsPtrOutput { + return o.ToReservedCacheNodeTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o ReservedCacheNodeTimeoutsOutput) ToReservedCacheNodeTimeoutsPtrOutputWithContext(ctx context.Context) ReservedCacheNodeTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ReservedCacheNodeTimeouts) *ReservedCacheNodeTimeouts { + return &v + }).(ReservedCacheNodeTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 ReservedCacheNodeTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReservedCacheNodeTimeouts) *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 ReservedCacheNodeTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReservedCacheNodeTimeouts) *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 ReservedCacheNodeTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReservedCacheNodeTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type ReservedCacheNodeTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (ReservedCacheNodeTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ReservedCacheNodeTimeouts)(nil)).Elem() +} + +func (o ReservedCacheNodeTimeoutsPtrOutput) ToReservedCacheNodeTimeoutsPtrOutput() ReservedCacheNodeTimeoutsPtrOutput { + return o +} + +func (o ReservedCacheNodeTimeoutsPtrOutput) ToReservedCacheNodeTimeoutsPtrOutputWithContext(ctx context.Context) ReservedCacheNodeTimeoutsPtrOutput { + return o +} + +func (o ReservedCacheNodeTimeoutsPtrOutput) Elem() ReservedCacheNodeTimeoutsOutput { + return o.ApplyT(func(v *ReservedCacheNodeTimeouts) ReservedCacheNodeTimeouts { + if v != nil { + return *v + } + var ret ReservedCacheNodeTimeouts + return ret + }).(ReservedCacheNodeTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 ReservedCacheNodeTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReservedCacheNodeTimeouts) *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 ReservedCacheNodeTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReservedCacheNodeTimeouts) *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 ReservedCacheNodeTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReservedCacheNodeTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + type ServerlessCacheCacheUsageLimits struct { // The maximum data storage limit in the cache, expressed in Gigabytes. See Data Storage config for more details. DataStorage *ServerlessCacheCacheUsageLimitsDataStorage `pulumi:"dataStorage"` @@ -2044,6 +2319,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ParameterGroupParameterArrayInput)(nil)).Elem(), ParameterGroupParameterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationGroupLogDeliveryConfigurationInput)(nil)).Elem(), ReplicationGroupLogDeliveryConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationGroupLogDeliveryConfigurationArrayInput)(nil)).Elem(), ReplicationGroupLogDeliveryConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedCacheNodeRecurringChargeInput)(nil)).Elem(), ReservedCacheNodeRecurringChargeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedCacheNodeRecurringChargeArrayInput)(nil)).Elem(), ReservedCacheNodeRecurringChargeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedCacheNodeTimeoutsInput)(nil)).Elem(), ReservedCacheNodeTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedCacheNodeTimeoutsPtrInput)(nil)).Elem(), ReservedCacheNodeTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheCacheUsageLimitsInput)(nil)).Elem(), ServerlessCacheCacheUsageLimitsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheCacheUsageLimitsPtrInput)(nil)).Elem(), ServerlessCacheCacheUsageLimitsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheCacheUsageLimitsDataStorageInput)(nil)).Elem(), ServerlessCacheCacheUsageLimitsDataStorageArgs{}) @@ -2076,6 +2355,10 @@ func init() { pulumi.RegisterOutputType(ParameterGroupParameterArrayOutput{}) pulumi.RegisterOutputType(ReplicationGroupLogDeliveryConfigurationOutput{}) pulumi.RegisterOutputType(ReplicationGroupLogDeliveryConfigurationArrayOutput{}) + pulumi.RegisterOutputType(ReservedCacheNodeRecurringChargeOutput{}) + pulumi.RegisterOutputType(ReservedCacheNodeRecurringChargeArrayOutput{}) + pulumi.RegisterOutputType(ReservedCacheNodeTimeoutsOutput{}) + pulumi.RegisterOutputType(ReservedCacheNodeTimeoutsPtrOutput{}) pulumi.RegisterOutputType(ServerlessCacheCacheUsageLimitsOutput{}) pulumi.RegisterOutputType(ServerlessCacheCacheUsageLimitsPtrOutput{}) pulumi.RegisterOutputType(ServerlessCacheCacheUsageLimitsDataStorageOutput{}) diff --git a/sdk/go/aws/elasticache/replicationGroup.go b/sdk/go/aws/elasticache/replicationGroup.go index 58dac6d5536..a553c3e1c7c 100644 --- a/sdk/go/aws/elasticache/replicationGroup.go +++ b/sdk/go/aws/elasticache/replicationGroup.go @@ -372,7 +372,10 @@ type ReplicationGroup struct { MultiAzEnabled pulumi.BoolPtrOutput `pulumi:"multiAzEnabled"` // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType pulumi.StringOutput `pulumi:"networkType"` - // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. + // Instance class to be used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // Required unless `globalReplicationGroupId` is set. + // Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringOutput `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrOutput `pulumi:"notificationTopicArn"` @@ -536,7 +539,10 @@ type replicationGroupState struct { MultiAzEnabled *bool `pulumi:"multiAzEnabled"` // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType *string `pulumi:"networkType"` - // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. + // Instance class to be used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // Required unless `globalReplicationGroupId` is set. + // Cannot be set if `globalReplicationGroupId` is set. NodeType *string `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn *string `pulumi:"notificationTopicArn"` @@ -661,7 +667,10 @@ type ReplicationGroupState struct { MultiAzEnabled pulumi.BoolPtrInput // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType pulumi.StringPtrInput - // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. + // Instance class to be used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // Required unless `globalReplicationGroupId` is set. + // Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringPtrInput // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrInput @@ -780,7 +789,10 @@ type replicationGroupArgs struct { MultiAzEnabled *bool `pulumi:"multiAzEnabled"` // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType *string `pulumi:"networkType"` - // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. + // Instance class to be used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // Required unless `globalReplicationGroupId` is set. + // Cannot be set if `globalReplicationGroupId` is set. NodeType *string `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn *string `pulumi:"notificationTopicArn"` @@ -888,7 +900,10 @@ type ReplicationGroupArgs struct { MultiAzEnabled pulumi.BoolPtrInput // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. NetworkType pulumi.StringPtrInput - // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. + // Instance class to be used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // Required unless `globalReplicationGroupId` is set. + // Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringPtrInput // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrInput @@ -1165,7 +1180,10 @@ func (o ReplicationGroupOutput) NetworkType() pulumi.StringOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringOutput { return v.NetworkType }).(pulumi.StringOutput) } -// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. +// Instance class to be used. +// See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). +// Required unless `globalReplicationGroupId` is set. +// Cannot be set if `globalReplicationGroupId` is set. func (o ReplicationGroupOutput) NodeType() pulumi.StringOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringOutput { return v.NodeType }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/elasticache/reservedCacheNode.go b/sdk/go/aws/elasticache/reservedCacheNode.go new file mode 100644 index 00000000000..73162cb7c6c --- /dev/null +++ b/sdk/go/aws/elasticache/reservedCacheNode.go @@ -0,0 +1,411 @@ +// 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 elasticache + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an ElastiCache Reserved Cache Node. +// +// > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offeringId` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.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. +// +// ## Import +// +// Using `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example: +// +// ```sh +// $ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID +// ``` +type ReservedCacheNode struct { + pulumi.CustomResourceState + + // ARN for the reserved cache node. + Arn pulumi.StringOutput `pulumi:"arn"` + CacheNodeCount pulumi.Float64Output `pulumi:"cacheNodeCount"` + // Node type for the reserved cache nodes. + CacheNodeType pulumi.StringOutput `pulumi:"cacheNodeType"` + // Duration of the reservation as an RFC3339 duration. + Duration pulumi.StringOutput `pulumi:"duration"` + // Fixed price charged for this reserved cache node. + FixedPrice pulumi.Float64Output `pulumi:"fixedPrice"` + // Offering type of this reserved cache node. + OfferingType pulumi.StringOutput `pulumi:"offeringType"` + // Engine type for the reserved cache node. + ProductDescription pulumi.StringOutput `pulumi:"productDescription"` + // Recurring price charged to run this reserved cache node. + RecurringCharges ReservedCacheNodeRecurringChargeArrayOutput `pulumi:"recurringCharges"` + // ID of the reserved cache node offering to purchase. + // To determine an `reservedCacheNodesOfferingId`, see the `elasticache.getReservedCacheNodeOffering` data source. + // + // The following arguments are optional: + ReservedCacheNodesOfferingId pulumi.StringOutput `pulumi:"reservedCacheNodesOfferingId"` + // Time the reservation started. + StartTime pulumi.StringOutput `pulumi:"startTime"` + // State of the reserved cache node. + State pulumi.StringOutput `pulumi:"state"` + // Map of tags to assign to the reservation. 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"` + Timeouts ReservedCacheNodeTimeoutsPtrOutput `pulumi:"timeouts"` + // Hourly price charged for this reserved cache node. + UsagePrice pulumi.Float64Output `pulumi:"usagePrice"` +} + +// NewReservedCacheNode registers a new resource with the given unique name, arguments, and options. +func NewReservedCacheNode(ctx *pulumi.Context, + name string, args *ReservedCacheNodeArgs, opts ...pulumi.ResourceOption) (*ReservedCacheNode, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ReservedCacheNodesOfferingId == nil { + return nil, errors.New("invalid value for required argument 'ReservedCacheNodesOfferingId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ReservedCacheNode + err := ctx.RegisterResource("aws:elasticache/reservedCacheNode:ReservedCacheNode", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetReservedCacheNode gets an existing ReservedCacheNode 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 GetReservedCacheNode(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ReservedCacheNodeState, opts ...pulumi.ResourceOption) (*ReservedCacheNode, error) { + var resource ReservedCacheNode + err := ctx.ReadResource("aws:elasticache/reservedCacheNode:ReservedCacheNode", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ReservedCacheNode resources. +type reservedCacheNodeState struct { + // ARN for the reserved cache node. + Arn *string `pulumi:"arn"` + CacheNodeCount *float64 `pulumi:"cacheNodeCount"` + // Node type for the reserved cache nodes. + CacheNodeType *string `pulumi:"cacheNodeType"` + // Duration of the reservation as an RFC3339 duration. + Duration *string `pulumi:"duration"` + // Fixed price charged for this reserved cache node. + FixedPrice *float64 `pulumi:"fixedPrice"` + // Offering type of this reserved cache node. + OfferingType *string `pulumi:"offeringType"` + // Engine type for the reserved cache node. + ProductDescription *string `pulumi:"productDescription"` + // Recurring price charged to run this reserved cache node. + RecurringCharges []ReservedCacheNodeRecurringCharge `pulumi:"recurringCharges"` + // ID of the reserved cache node offering to purchase. + // To determine an `reservedCacheNodesOfferingId`, see the `elasticache.getReservedCacheNodeOffering` data source. + // + // The following arguments are optional: + ReservedCacheNodesOfferingId *string `pulumi:"reservedCacheNodesOfferingId"` + // Time the reservation started. + StartTime *string `pulumi:"startTime"` + // State of the reserved cache node. + State *string `pulumi:"state"` + // Map of tags to assign to the reservation. 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"` + Timeouts *ReservedCacheNodeTimeouts `pulumi:"timeouts"` + // Hourly price charged for this reserved cache node. + UsagePrice *float64 `pulumi:"usagePrice"` +} + +type ReservedCacheNodeState struct { + // ARN for the reserved cache node. + Arn pulumi.StringPtrInput + CacheNodeCount pulumi.Float64PtrInput + // Node type for the reserved cache nodes. + CacheNodeType pulumi.StringPtrInput + // Duration of the reservation as an RFC3339 duration. + Duration pulumi.StringPtrInput + // Fixed price charged for this reserved cache node. + FixedPrice pulumi.Float64PtrInput + // Offering type of this reserved cache node. + OfferingType pulumi.StringPtrInput + // Engine type for the reserved cache node. + ProductDescription pulumi.StringPtrInput + // Recurring price charged to run this reserved cache node. + RecurringCharges ReservedCacheNodeRecurringChargeArrayInput + // ID of the reserved cache node offering to purchase. + // To determine an `reservedCacheNodesOfferingId`, see the `elasticache.getReservedCacheNodeOffering` data source. + // + // The following arguments are optional: + ReservedCacheNodesOfferingId pulumi.StringPtrInput + // Time the reservation started. + StartTime pulumi.StringPtrInput + // State of the reserved cache node. + State pulumi.StringPtrInput + // Map of tags to assign to the reservation. 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 + Timeouts ReservedCacheNodeTimeoutsPtrInput + // Hourly price charged for this reserved cache node. + UsagePrice pulumi.Float64PtrInput +} + +func (ReservedCacheNodeState) ElementType() reflect.Type { + return reflect.TypeOf((*reservedCacheNodeState)(nil)).Elem() +} + +type reservedCacheNodeArgs struct { + CacheNodeCount *float64 `pulumi:"cacheNodeCount"` + // ID of the reserved cache node offering to purchase. + // To determine an `reservedCacheNodesOfferingId`, see the `elasticache.getReservedCacheNodeOffering` data source. + // + // The following arguments are optional: + ReservedCacheNodesOfferingId string `pulumi:"reservedCacheNodesOfferingId"` + // Map of tags to assign to the reservation. 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 *ReservedCacheNodeTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a ReservedCacheNode resource. +type ReservedCacheNodeArgs struct { + CacheNodeCount pulumi.Float64PtrInput + // ID of the reserved cache node offering to purchase. + // To determine an `reservedCacheNodesOfferingId`, see the `elasticache.getReservedCacheNodeOffering` data source. + // + // The following arguments are optional: + ReservedCacheNodesOfferingId pulumi.StringInput + // Map of tags to assign to the reservation. 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 ReservedCacheNodeTimeoutsPtrInput +} + +func (ReservedCacheNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*reservedCacheNodeArgs)(nil)).Elem() +} + +type ReservedCacheNodeInput interface { + pulumi.Input + + ToReservedCacheNodeOutput() ReservedCacheNodeOutput + ToReservedCacheNodeOutputWithContext(ctx context.Context) ReservedCacheNodeOutput +} + +func (*ReservedCacheNode) ElementType() reflect.Type { + return reflect.TypeOf((**ReservedCacheNode)(nil)).Elem() +} + +func (i *ReservedCacheNode) ToReservedCacheNodeOutput() ReservedCacheNodeOutput { + return i.ToReservedCacheNodeOutputWithContext(context.Background()) +} + +func (i *ReservedCacheNode) ToReservedCacheNodeOutputWithContext(ctx context.Context) ReservedCacheNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedCacheNodeOutput) +} + +// ReservedCacheNodeArrayInput is an input type that accepts ReservedCacheNodeArray and ReservedCacheNodeArrayOutput values. +// You can construct a concrete instance of `ReservedCacheNodeArrayInput` via: +// +// ReservedCacheNodeArray{ ReservedCacheNodeArgs{...} } +type ReservedCacheNodeArrayInput interface { + pulumi.Input + + ToReservedCacheNodeArrayOutput() ReservedCacheNodeArrayOutput + ToReservedCacheNodeArrayOutputWithContext(context.Context) ReservedCacheNodeArrayOutput +} + +type ReservedCacheNodeArray []ReservedCacheNodeInput + +func (ReservedCacheNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ReservedCacheNode)(nil)).Elem() +} + +func (i ReservedCacheNodeArray) ToReservedCacheNodeArrayOutput() ReservedCacheNodeArrayOutput { + return i.ToReservedCacheNodeArrayOutputWithContext(context.Background()) +} + +func (i ReservedCacheNodeArray) ToReservedCacheNodeArrayOutputWithContext(ctx context.Context) ReservedCacheNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedCacheNodeArrayOutput) +} + +// ReservedCacheNodeMapInput is an input type that accepts ReservedCacheNodeMap and ReservedCacheNodeMapOutput values. +// You can construct a concrete instance of `ReservedCacheNodeMapInput` via: +// +// ReservedCacheNodeMap{ "key": ReservedCacheNodeArgs{...} } +type ReservedCacheNodeMapInput interface { + pulumi.Input + + ToReservedCacheNodeMapOutput() ReservedCacheNodeMapOutput + ToReservedCacheNodeMapOutputWithContext(context.Context) ReservedCacheNodeMapOutput +} + +type ReservedCacheNodeMap map[string]ReservedCacheNodeInput + +func (ReservedCacheNodeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ReservedCacheNode)(nil)).Elem() +} + +func (i ReservedCacheNodeMap) ToReservedCacheNodeMapOutput() ReservedCacheNodeMapOutput { + return i.ToReservedCacheNodeMapOutputWithContext(context.Background()) +} + +func (i ReservedCacheNodeMap) ToReservedCacheNodeMapOutputWithContext(ctx context.Context) ReservedCacheNodeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedCacheNodeMapOutput) +} + +type ReservedCacheNodeOutput struct{ *pulumi.OutputState } + +func (ReservedCacheNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ReservedCacheNode)(nil)).Elem() +} + +func (o ReservedCacheNodeOutput) ToReservedCacheNodeOutput() ReservedCacheNodeOutput { + return o +} + +func (o ReservedCacheNodeOutput) ToReservedCacheNodeOutputWithContext(ctx context.Context) ReservedCacheNodeOutput { + return o +} + +// ARN for the reserved cache node. +func (o ReservedCacheNodeOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +func (o ReservedCacheNodeOutput) CacheNodeCount() pulumi.Float64Output { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.Float64Output { return v.CacheNodeCount }).(pulumi.Float64Output) +} + +// Node type for the reserved cache nodes. +func (o ReservedCacheNodeOutput) CacheNodeType() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringOutput { return v.CacheNodeType }).(pulumi.StringOutput) +} + +// Duration of the reservation as an RFC3339 duration. +func (o ReservedCacheNodeOutput) Duration() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringOutput { return v.Duration }).(pulumi.StringOutput) +} + +// Fixed price charged for this reserved cache node. +func (o ReservedCacheNodeOutput) FixedPrice() pulumi.Float64Output { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.Float64Output { return v.FixedPrice }).(pulumi.Float64Output) +} + +// Offering type of this reserved cache node. +func (o ReservedCacheNodeOutput) OfferingType() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringOutput { return v.OfferingType }).(pulumi.StringOutput) +} + +// Engine type for the reserved cache node. +func (o ReservedCacheNodeOutput) ProductDescription() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringOutput { return v.ProductDescription }).(pulumi.StringOutput) +} + +// Recurring price charged to run this reserved cache node. +func (o ReservedCacheNodeOutput) RecurringCharges() ReservedCacheNodeRecurringChargeArrayOutput { + return o.ApplyT(func(v *ReservedCacheNode) ReservedCacheNodeRecurringChargeArrayOutput { return v.RecurringCharges }).(ReservedCacheNodeRecurringChargeArrayOutput) +} + +// ID of the reserved cache node offering to purchase. +// To determine an `reservedCacheNodesOfferingId`, see the `elasticache.getReservedCacheNodeOffering` data source. +// +// The following arguments are optional: +func (o ReservedCacheNodeOutput) ReservedCacheNodesOfferingId() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringOutput { return v.ReservedCacheNodesOfferingId }).(pulumi.StringOutput) +} + +// Time the reservation started. +func (o ReservedCacheNodeOutput) StartTime() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringOutput { return v.StartTime }).(pulumi.StringOutput) +} + +// State of the reserved cache node. +func (o ReservedCacheNodeOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Map of tags to assign to the reservation. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o ReservedCacheNodeOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ReservedCacheNode) 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 ReservedCacheNodeOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o ReservedCacheNodeOutput) Timeouts() ReservedCacheNodeTimeoutsPtrOutput { + return o.ApplyT(func(v *ReservedCacheNode) ReservedCacheNodeTimeoutsPtrOutput { return v.Timeouts }).(ReservedCacheNodeTimeoutsPtrOutput) +} + +// Hourly price charged for this reserved cache node. +func (o ReservedCacheNodeOutput) UsagePrice() pulumi.Float64Output { + return o.ApplyT(func(v *ReservedCacheNode) pulumi.Float64Output { return v.UsagePrice }).(pulumi.Float64Output) +} + +type ReservedCacheNodeArrayOutput struct{ *pulumi.OutputState } + +func (ReservedCacheNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ReservedCacheNode)(nil)).Elem() +} + +func (o ReservedCacheNodeArrayOutput) ToReservedCacheNodeArrayOutput() ReservedCacheNodeArrayOutput { + return o +} + +func (o ReservedCacheNodeArrayOutput) ToReservedCacheNodeArrayOutputWithContext(ctx context.Context) ReservedCacheNodeArrayOutput { + return o +} + +func (o ReservedCacheNodeArrayOutput) Index(i pulumi.IntInput) ReservedCacheNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReservedCacheNode { + return vs[0].([]*ReservedCacheNode)[vs[1].(int)] + }).(ReservedCacheNodeOutput) +} + +type ReservedCacheNodeMapOutput struct{ *pulumi.OutputState } + +func (ReservedCacheNodeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ReservedCacheNode)(nil)).Elem() +} + +func (o ReservedCacheNodeMapOutput) ToReservedCacheNodeMapOutput() ReservedCacheNodeMapOutput { + return o +} + +func (o ReservedCacheNodeMapOutput) ToReservedCacheNodeMapOutputWithContext(ctx context.Context) ReservedCacheNodeMapOutput { + return o +} + +func (o ReservedCacheNodeMapOutput) MapIndex(k pulumi.StringInput) ReservedCacheNodeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReservedCacheNode { + return vs[0].(map[string]*ReservedCacheNode)[vs[1].(string)] + }).(ReservedCacheNodeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ReservedCacheNodeInput)(nil)).Elem(), &ReservedCacheNode{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedCacheNodeArrayInput)(nil)).Elem(), ReservedCacheNodeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedCacheNodeMapInput)(nil)).Elem(), ReservedCacheNodeMap{}) + pulumi.RegisterOutputType(ReservedCacheNodeOutput{}) + pulumi.RegisterOutputType(ReservedCacheNodeArrayOutput{}) + pulumi.RegisterOutputType(ReservedCacheNodeMapOutput{}) +} diff --git a/sdk/go/aws/iam/init.go b/sdk/go/aws/iam/init.go index 9c343f62860..d8cd4998b53 100644 --- a/sdk/go/aws/iam/init.go +++ b/sdk/go/aws/iam/init.go @@ -45,6 +45,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &PolicyAttachment{} case "aws:iam/role:Role": r = &Role{} + case "aws:iam/rolePoliciesExclusive:RolePoliciesExclusive": + r = &RolePoliciesExclusive{} case "aws:iam/rolePolicy:RolePolicy": r = &RolePolicy{} case "aws:iam/rolePolicyAttachment:RolePolicyAttachment": @@ -148,6 +150,11 @@ func init() { "iam/role", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "iam/rolePoliciesExclusive", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "iam/rolePolicy", diff --git a/sdk/go/aws/iam/role.go b/sdk/go/aws/iam/role.go index e851c1e077f..a19de45e343 100644 --- a/sdk/go/aws/iam/role.go +++ b/sdk/go/aws/iam/role.go @@ -361,6 +361,8 @@ type Role struct { // Whether to force detaching any policies the role has before destroying it. Defaults to `false`. ForceDetachPolicies pulumi.BoolPtrOutput `pulumi:"forceDetachPolicies"` // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. + // + // Deprecated: Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well. InlinePolicies RoleInlinePolicyArrayOutput `pulumi:"inlinePolicies"` ManagedPolicyArns pulumi.StringArrayOutput `pulumi:"managedPolicyArns"` // Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. @@ -431,6 +433,8 @@ type roleState struct { // Whether to force detaching any policies the role has before destroying it. Defaults to `false`. ForceDetachPolicies *bool `pulumi:"forceDetachPolicies"` // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. + // + // Deprecated: Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well. InlinePolicies []RoleInlinePolicy `pulumi:"inlinePolicies"` ManagedPolicyArns []string `pulumi:"managedPolicyArns"` // Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. @@ -469,6 +473,8 @@ type RoleState struct { // Whether to force detaching any policies the role has before destroying it. Defaults to `false`. ForceDetachPolicies pulumi.BoolPtrInput // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. + // + // Deprecated: Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well. InlinePolicies RoleInlinePolicyArrayInput ManagedPolicyArns pulumi.StringArrayInput // Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. @@ -507,6 +513,8 @@ type roleArgs struct { // Whether to force detaching any policies the role has before destroying it. Defaults to `false`. ForceDetachPolicies *bool `pulumi:"forceDetachPolicies"` // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. + // + // Deprecated: Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well. InlinePolicies []RoleInlinePolicy `pulumi:"inlinePolicies"` ManagedPolicyArns []string `pulumi:"managedPolicyArns"` // Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. @@ -536,6 +544,8 @@ type RoleArgs struct { // Whether to force detaching any policies the role has before destroying it. Defaults to `false`. ForceDetachPolicies pulumi.BoolPtrInput // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. + // + // Deprecated: Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well. InlinePolicies RoleInlinePolicyArrayInput ManagedPolicyArns pulumi.StringArrayInput // Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. @@ -669,6 +679,8 @@ func (o RoleOutput) ForceDetachPolicies() pulumi.BoolPtrOutput { } // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. +// +// Deprecated: Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well. func (o RoleOutput) InlinePolicies() RoleInlinePolicyArrayOutput { return o.ApplyT(func(v *Role) RoleInlinePolicyArrayOutput { return v.InlinePolicies }).(RoleInlinePolicyArrayOutput) } diff --git a/sdk/go/aws/iam/rolePoliciesExclusive.go b/sdk/go/aws/iam/rolePoliciesExclusive.go new file mode 100644 index 00000000000..1348308e0df --- /dev/null +++ b/sdk/go/aws/iam/rolePoliciesExclusive.go @@ -0,0 +1,243 @@ +// 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 iam + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Import +// +// Using `pulumi import`, import exclusive management of inline policy assignments using the `role_name`. For example: +// +// ```sh +// $ pulumi import aws:iam/rolePoliciesExclusive:RolePoliciesExclusive example MyRole +// ``` +type RolePoliciesExclusive struct { + pulumi.CustomResourceState + + // A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + PolicyNames pulumi.StringArrayOutput `pulumi:"policyNames"` + // IAM role name. + RoleName pulumi.StringOutput `pulumi:"roleName"` +} + +// NewRolePoliciesExclusive registers a new resource with the given unique name, arguments, and options. +func NewRolePoliciesExclusive(ctx *pulumi.Context, + name string, args *RolePoliciesExclusiveArgs, opts ...pulumi.ResourceOption) (*RolePoliciesExclusive, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PolicyNames == nil { + return nil, errors.New("invalid value for required argument 'PolicyNames'") + } + if args.RoleName == nil { + return nil, errors.New("invalid value for required argument 'RoleName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RolePoliciesExclusive + err := ctx.RegisterResource("aws:iam/rolePoliciesExclusive:RolePoliciesExclusive", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRolePoliciesExclusive gets an existing RolePoliciesExclusive 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 GetRolePoliciesExclusive(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RolePoliciesExclusiveState, opts ...pulumi.ResourceOption) (*RolePoliciesExclusive, error) { + var resource RolePoliciesExclusive + err := ctx.ReadResource("aws:iam/rolePoliciesExclusive:RolePoliciesExclusive", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RolePoliciesExclusive resources. +type rolePoliciesExclusiveState struct { + // A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + PolicyNames []string `pulumi:"policyNames"` + // IAM role name. + RoleName *string `pulumi:"roleName"` +} + +type RolePoliciesExclusiveState struct { + // A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + PolicyNames pulumi.StringArrayInput + // IAM role name. + RoleName pulumi.StringPtrInput +} + +func (RolePoliciesExclusiveState) ElementType() reflect.Type { + return reflect.TypeOf((*rolePoliciesExclusiveState)(nil)).Elem() +} + +type rolePoliciesExclusiveArgs struct { + // A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + PolicyNames []string `pulumi:"policyNames"` + // IAM role name. + RoleName string `pulumi:"roleName"` +} + +// The set of arguments for constructing a RolePoliciesExclusive resource. +type RolePoliciesExclusiveArgs struct { + // A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + PolicyNames pulumi.StringArrayInput + // IAM role name. + RoleName pulumi.StringInput +} + +func (RolePoliciesExclusiveArgs) ElementType() reflect.Type { + return reflect.TypeOf((*rolePoliciesExclusiveArgs)(nil)).Elem() +} + +type RolePoliciesExclusiveInput interface { + pulumi.Input + + ToRolePoliciesExclusiveOutput() RolePoliciesExclusiveOutput + ToRolePoliciesExclusiveOutputWithContext(ctx context.Context) RolePoliciesExclusiveOutput +} + +func (*RolePoliciesExclusive) ElementType() reflect.Type { + return reflect.TypeOf((**RolePoliciesExclusive)(nil)).Elem() +} + +func (i *RolePoliciesExclusive) ToRolePoliciesExclusiveOutput() RolePoliciesExclusiveOutput { + return i.ToRolePoliciesExclusiveOutputWithContext(context.Background()) +} + +func (i *RolePoliciesExclusive) ToRolePoliciesExclusiveOutputWithContext(ctx context.Context) RolePoliciesExclusiveOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolePoliciesExclusiveOutput) +} + +// RolePoliciesExclusiveArrayInput is an input type that accepts RolePoliciesExclusiveArray and RolePoliciesExclusiveArrayOutput values. +// You can construct a concrete instance of `RolePoliciesExclusiveArrayInput` via: +// +// RolePoliciesExclusiveArray{ RolePoliciesExclusiveArgs{...} } +type RolePoliciesExclusiveArrayInput interface { + pulumi.Input + + ToRolePoliciesExclusiveArrayOutput() RolePoliciesExclusiveArrayOutput + ToRolePoliciesExclusiveArrayOutputWithContext(context.Context) RolePoliciesExclusiveArrayOutput +} + +type RolePoliciesExclusiveArray []RolePoliciesExclusiveInput + +func (RolePoliciesExclusiveArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RolePoliciesExclusive)(nil)).Elem() +} + +func (i RolePoliciesExclusiveArray) ToRolePoliciesExclusiveArrayOutput() RolePoliciesExclusiveArrayOutput { + return i.ToRolePoliciesExclusiveArrayOutputWithContext(context.Background()) +} + +func (i RolePoliciesExclusiveArray) ToRolePoliciesExclusiveArrayOutputWithContext(ctx context.Context) RolePoliciesExclusiveArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolePoliciesExclusiveArrayOutput) +} + +// RolePoliciesExclusiveMapInput is an input type that accepts RolePoliciesExclusiveMap and RolePoliciesExclusiveMapOutput values. +// You can construct a concrete instance of `RolePoliciesExclusiveMapInput` via: +// +// RolePoliciesExclusiveMap{ "key": RolePoliciesExclusiveArgs{...} } +type RolePoliciesExclusiveMapInput interface { + pulumi.Input + + ToRolePoliciesExclusiveMapOutput() RolePoliciesExclusiveMapOutput + ToRolePoliciesExclusiveMapOutputWithContext(context.Context) RolePoliciesExclusiveMapOutput +} + +type RolePoliciesExclusiveMap map[string]RolePoliciesExclusiveInput + +func (RolePoliciesExclusiveMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RolePoliciesExclusive)(nil)).Elem() +} + +func (i RolePoliciesExclusiveMap) ToRolePoliciesExclusiveMapOutput() RolePoliciesExclusiveMapOutput { + return i.ToRolePoliciesExclusiveMapOutputWithContext(context.Background()) +} + +func (i RolePoliciesExclusiveMap) ToRolePoliciesExclusiveMapOutputWithContext(ctx context.Context) RolePoliciesExclusiveMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolePoliciesExclusiveMapOutput) +} + +type RolePoliciesExclusiveOutput struct{ *pulumi.OutputState } + +func (RolePoliciesExclusiveOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolePoliciesExclusive)(nil)).Elem() +} + +func (o RolePoliciesExclusiveOutput) ToRolePoliciesExclusiveOutput() RolePoliciesExclusiveOutput { + return o +} + +func (o RolePoliciesExclusiveOutput) ToRolePoliciesExclusiveOutputWithContext(ctx context.Context) RolePoliciesExclusiveOutput { + return o +} + +// A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. +func (o RolePoliciesExclusiveOutput) PolicyNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RolePoliciesExclusive) pulumi.StringArrayOutput { return v.PolicyNames }).(pulumi.StringArrayOutput) +} + +// IAM role name. +func (o RolePoliciesExclusiveOutput) RoleName() pulumi.StringOutput { + return o.ApplyT(func(v *RolePoliciesExclusive) pulumi.StringOutput { return v.RoleName }).(pulumi.StringOutput) +} + +type RolePoliciesExclusiveArrayOutput struct{ *pulumi.OutputState } + +func (RolePoliciesExclusiveArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RolePoliciesExclusive)(nil)).Elem() +} + +func (o RolePoliciesExclusiveArrayOutput) ToRolePoliciesExclusiveArrayOutput() RolePoliciesExclusiveArrayOutput { + return o +} + +func (o RolePoliciesExclusiveArrayOutput) ToRolePoliciesExclusiveArrayOutputWithContext(ctx context.Context) RolePoliciesExclusiveArrayOutput { + return o +} + +func (o RolePoliciesExclusiveArrayOutput) Index(i pulumi.IntInput) RolePoliciesExclusiveOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RolePoliciesExclusive { + return vs[0].([]*RolePoliciesExclusive)[vs[1].(int)] + }).(RolePoliciesExclusiveOutput) +} + +type RolePoliciesExclusiveMapOutput struct{ *pulumi.OutputState } + +func (RolePoliciesExclusiveMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RolePoliciesExclusive)(nil)).Elem() +} + +func (o RolePoliciesExclusiveMapOutput) ToRolePoliciesExclusiveMapOutput() RolePoliciesExclusiveMapOutput { + return o +} + +func (o RolePoliciesExclusiveMapOutput) ToRolePoliciesExclusiveMapOutputWithContext(ctx context.Context) RolePoliciesExclusiveMapOutput { + return o +} + +func (o RolePoliciesExclusiveMapOutput) MapIndex(k pulumi.StringInput) RolePoliciesExclusiveOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RolePoliciesExclusive { + return vs[0].(map[string]*RolePoliciesExclusive)[vs[1].(string)] + }).(RolePoliciesExclusiveOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RolePoliciesExclusiveInput)(nil)).Elem(), &RolePoliciesExclusive{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolePoliciesExclusiveArrayInput)(nil)).Elem(), RolePoliciesExclusiveArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolePoliciesExclusiveMapInput)(nil)).Elem(), RolePoliciesExclusiveMap{}) + pulumi.RegisterOutputType(RolePoliciesExclusiveOutput{}) + pulumi.RegisterOutputType(RolePoliciesExclusiveArrayOutput{}) + pulumi.RegisterOutputType(RolePoliciesExclusiveMapOutput{}) +} diff --git a/sdk/go/aws/lb/listener.go b/sdk/go/aws/lb/listener.go index cb8437357e6..e36fe56cff1 100644 --- a/sdk/go/aws/lb/listener.go +++ b/sdk/go/aws/lb/listener.go @@ -433,8 +433,6 @@ type Listener struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringOutput `pulumi:"sslPolicy"` // 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -505,8 +503,6 @@ type listenerState struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -536,8 +532,6 @@ type ListenerState struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -569,8 +563,6 @@ type listenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags map[string]string `pulumi:"tags"` } @@ -595,8 +587,6 @@ type ListenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy 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. - // - // > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. Tags pulumi.StringMapInput } @@ -735,8 +725,6 @@ func (o ListenerOutput) SslPolicy() 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. -// -// > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. func (o ListenerOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Listener) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/lex/pulumiTypes2.go b/sdk/go/aws/lex/pulumiTypes2.go index a25d4b72e3f..4fa83b1e26b 100644 --- a/sdk/go/aws/lex/pulumiTypes2.go +++ b/sdk/go/aws/lex/pulumiTypes2.go @@ -3342,8 +3342,10 @@ func (o V2modelsSlotTypeCompositeSlotTypeSettingPtrOutput) SubSlots() V2modelsSl type V2modelsSlotTypeCompositeSlotTypeSettingSubSlot struct { // Name of a constituent sub slot inside a composite slot. - Name string `pulumi:"name"` - SubSlotId string `pulumi:"subSlotId"` + Name string `pulumi:"name"` + // Unique identifier assigned to a slot type. + // This refers to either a built-in slot type or the unique `slotTypeId` of a custom slot type. + SlotTypeId string `pulumi:"slotTypeId"` } // V2modelsSlotTypeCompositeSlotTypeSettingSubSlotInput is an input type that accepts V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs and V2modelsSlotTypeCompositeSlotTypeSettingSubSlotOutput values. @@ -3359,8 +3361,10 @@ type V2modelsSlotTypeCompositeSlotTypeSettingSubSlotInput interface { type V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs struct { // Name of a constituent sub slot inside a composite slot. - Name pulumi.StringInput `pulumi:"name"` - SubSlotId pulumi.StringInput `pulumi:"subSlotId"` + Name pulumi.StringInput `pulumi:"name"` + // Unique identifier assigned to a slot type. + // This refers to either a built-in slot type or the unique `slotTypeId` of a custom slot type. + SlotTypeId pulumi.StringInput `pulumi:"slotTypeId"` } func (V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs) ElementType() reflect.Type { @@ -3419,8 +3423,10 @@ func (o V2modelsSlotTypeCompositeSlotTypeSettingSubSlotOutput) Name() pulumi.Str return o.ApplyT(func(v V2modelsSlotTypeCompositeSlotTypeSettingSubSlot) string { return v.Name }).(pulumi.StringOutput) } -func (o V2modelsSlotTypeCompositeSlotTypeSettingSubSlotOutput) SubSlotId() pulumi.StringOutput { - return o.ApplyT(func(v V2modelsSlotTypeCompositeSlotTypeSettingSubSlot) string { return v.SubSlotId }).(pulumi.StringOutput) +// Unique identifier assigned to a slot type. +// This refers to either a built-in slot type or the unique `slotTypeId` of a custom slot type. +func (o V2modelsSlotTypeCompositeSlotTypeSettingSubSlotOutput) SlotTypeId() pulumi.StringOutput { + return o.ApplyT(func(v V2modelsSlotTypeCompositeSlotTypeSettingSubSlot) string { return v.SlotTypeId }).(pulumi.StringOutput) } type V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/aws/lex/v2modelsBot.go b/sdk/go/aws/lex/v2modelsBot.go index 3d8ec670779..b06cebdcaa4 100644 --- a/sdk/go/aws/lex/v2modelsBot.go +++ b/sdk/go/aws/lex/v2modelsBot.go @@ -23,6 +23,9 @@ import ( // // import ( // +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lex" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -30,15 +33,44 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := lex.NewV2modelsBot(ctx, "example", &lex.V2modelsBotArgs{ -// Name: pulumi.String("example"), +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "Version": "2012-10-17", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "Action": "sts:AssumeRole", +// "Effect": "Allow", +// "Sid": "", +// "Principal": map[string]interface{}{ +// "Service": "lexv2.amazonaws.com", +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ +// Name: pulumi.String("example"), +// AssumeRolePolicy: pulumi.String(json0), +// Tags: pulumi.StringMap{ +// "created_by": pulumi.String("aws"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = lex.NewV2modelsBot(ctx, "example", &lex.V2modelsBotArgs{ +// Name: pulumi.String("example"), +// Description: pulumi.String("Example description"), // DataPrivacies: lex.V2modelsBotDataPrivacyArray{ // &lex.V2modelsBotDataPrivacyArgs{ -// ChildDirected: pulumi.Bool("boolean"), +// ChildDirected: pulumi.Bool(false), // }, // }, -// IdleSessionTtlInSeconds: pulumi.Int(10), -// RoleArn: pulumi.String("bot_example_arn"), +// IdleSessionTtlInSeconds: pulumi.Int(60), +// RoleArn: exampleRole.Arn, +// Type: pulumi.String("Bot"), // Tags: pulumi.StringMap{ // "foo": pulumi.String("bar"), // }, diff --git a/sdk/go/aws/lex/v2modelsBotVersion.go b/sdk/go/aws/lex/v2modelsBotVersion.go index 56fe2f067c2..32e56d6708f 100644 --- a/sdk/go/aws/lex/v2modelsBotVersion.go +++ b/sdk/go/aws/lex/v2modelsBotVersion.go @@ -31,7 +31,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := lex.NewV2modelsBotVersion(ctx, "test", &lex.V2modelsBotVersionArgs{ -// BotId: pulumi.Any(testAwsLexv2models.Id), +// BotId: pulumi.Any(testAwsLexv2modelsBot.Id), // LocaleSpecification: lex.V2modelsBotVersionLocaleSpecificationMap{ // "en_US": &lex.V2modelsBotVersionLocaleSpecificationArgs{ // SourceBotVersion: pulumi.String("DRAFT"), diff --git a/sdk/go/aws/lex/v2modelsSlotType.go b/sdk/go/aws/lex/v2modelsSlotType.go index ec2e475bdc0..e4caf21d823 100644 --- a/sdk/go/aws/lex/v2modelsSlotType.go +++ b/sdk/go/aws/lex/v2modelsSlotType.go @@ -78,7 +78,7 @@ import ( // } // ``` // -// ### `valueSelectionSetting` Usage +// ### valueSelectionSetting Usage // // ```go // package main diff --git a/sdk/go/aws/pinpoint/init.go b/sdk/go/aws/pinpoint/init.go index fc603dfa0bf..0ac25c4ce24 100644 --- a/sdk/go/aws/pinpoint/init.go +++ b/sdk/go/aws/pinpoint/init.go @@ -45,6 +45,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &GcmChannel{} case "aws:pinpoint/smsChannel:SmsChannel": r = &SmsChannel{} + case "aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList": + r = &Smsvoicev2OptOutList{} + case "aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber": + r = &Smsvoicev2PhoneNumber{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -118,4 +122,14 @@ func init() { "pinpoint/smsChannel", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "pinpoint/smsvoicev2OptOutList", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "pinpoint/smsvoicev2PhoneNumber", + &module{version}, + ) } diff --git a/sdk/go/aws/pinpoint/pulumiTypes.go b/sdk/go/aws/pinpoint/pulumiTypes.go index 0ab04f63d0f..c55de921ab2 100644 --- a/sdk/go/aws/pinpoint/pulumiTypes.go +++ b/sdk/go/aws/pinpoint/pulumiTypes.go @@ -789,6 +789,181 @@ func (o EmailTemplateEmailTemplateHeaderArrayOutput) Index(i pulumi.IntInput) Em }).(EmailTemplateEmailTemplateHeaderOutput) } +type Smsvoicev2PhoneNumberTimeouts 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"` +} + +// Smsvoicev2PhoneNumberTimeoutsInput is an input type that accepts Smsvoicev2PhoneNumberTimeoutsArgs and Smsvoicev2PhoneNumberTimeoutsOutput values. +// You can construct a concrete instance of `Smsvoicev2PhoneNumberTimeoutsInput` via: +// +// Smsvoicev2PhoneNumberTimeoutsArgs{...} +type Smsvoicev2PhoneNumberTimeoutsInput interface { + pulumi.Input + + ToSmsvoicev2PhoneNumberTimeoutsOutput() Smsvoicev2PhoneNumberTimeoutsOutput + ToSmsvoicev2PhoneNumberTimeoutsOutputWithContext(context.Context) Smsvoicev2PhoneNumberTimeoutsOutput +} + +type Smsvoicev2PhoneNumberTimeoutsArgs 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 (Smsvoicev2PhoneNumberTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Smsvoicev2PhoneNumberTimeouts)(nil)).Elem() +} + +func (i Smsvoicev2PhoneNumberTimeoutsArgs) ToSmsvoicev2PhoneNumberTimeoutsOutput() Smsvoicev2PhoneNumberTimeoutsOutput { + return i.ToSmsvoicev2PhoneNumberTimeoutsOutputWithContext(context.Background()) +} + +func (i Smsvoicev2PhoneNumberTimeoutsArgs) ToSmsvoicev2PhoneNumberTimeoutsOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2PhoneNumberTimeoutsOutput) +} + +func (i Smsvoicev2PhoneNumberTimeoutsArgs) ToSmsvoicev2PhoneNumberTimeoutsPtrOutput() Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return i.ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i Smsvoicev2PhoneNumberTimeoutsArgs) ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2PhoneNumberTimeoutsOutput).ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(ctx) +} + +// Smsvoicev2PhoneNumberTimeoutsPtrInput is an input type that accepts Smsvoicev2PhoneNumberTimeoutsArgs, Smsvoicev2PhoneNumberTimeoutsPtr and Smsvoicev2PhoneNumberTimeoutsPtrOutput values. +// You can construct a concrete instance of `Smsvoicev2PhoneNumberTimeoutsPtrInput` via: +// +// Smsvoicev2PhoneNumberTimeoutsArgs{...} +// +// or: +// +// nil +type Smsvoicev2PhoneNumberTimeoutsPtrInput interface { + pulumi.Input + + ToSmsvoicev2PhoneNumberTimeoutsPtrOutput() Smsvoicev2PhoneNumberTimeoutsPtrOutput + ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(context.Context) Smsvoicev2PhoneNumberTimeoutsPtrOutput +} + +type smsvoicev2PhoneNumberTimeoutsPtrType Smsvoicev2PhoneNumberTimeoutsArgs + +func Smsvoicev2PhoneNumberTimeoutsPtr(v *Smsvoicev2PhoneNumberTimeoutsArgs) Smsvoicev2PhoneNumberTimeoutsPtrInput { + return (*smsvoicev2PhoneNumberTimeoutsPtrType)(v) +} + +func (*smsvoicev2PhoneNumberTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Smsvoicev2PhoneNumberTimeouts)(nil)).Elem() +} + +func (i *smsvoicev2PhoneNumberTimeoutsPtrType) ToSmsvoicev2PhoneNumberTimeoutsPtrOutput() Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return i.ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *smsvoicev2PhoneNumberTimeoutsPtrType) ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2PhoneNumberTimeoutsPtrOutput) +} + +type Smsvoicev2PhoneNumberTimeoutsOutput struct{ *pulumi.OutputState } + +func (Smsvoicev2PhoneNumberTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Smsvoicev2PhoneNumberTimeouts)(nil)).Elem() +} + +func (o Smsvoicev2PhoneNumberTimeoutsOutput) ToSmsvoicev2PhoneNumberTimeoutsOutput() Smsvoicev2PhoneNumberTimeoutsOutput { + return o +} + +func (o Smsvoicev2PhoneNumberTimeoutsOutput) ToSmsvoicev2PhoneNumberTimeoutsOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberTimeoutsOutput { + return o +} + +func (o Smsvoicev2PhoneNumberTimeoutsOutput) ToSmsvoicev2PhoneNumberTimeoutsPtrOutput() Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return o.ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o Smsvoicev2PhoneNumberTimeoutsOutput) ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Smsvoicev2PhoneNumberTimeouts) *Smsvoicev2PhoneNumberTimeouts { + return &v + }).(Smsvoicev2PhoneNumberTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 Smsvoicev2PhoneNumberTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v Smsvoicev2PhoneNumberTimeouts) *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 Smsvoicev2PhoneNumberTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v Smsvoicev2PhoneNumberTimeouts) *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 Smsvoicev2PhoneNumberTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v Smsvoicev2PhoneNumberTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type Smsvoicev2PhoneNumberTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (Smsvoicev2PhoneNumberTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Smsvoicev2PhoneNumberTimeouts)(nil)).Elem() +} + +func (o Smsvoicev2PhoneNumberTimeoutsPtrOutput) ToSmsvoicev2PhoneNumberTimeoutsPtrOutput() Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return o +} + +func (o Smsvoicev2PhoneNumberTimeoutsPtrOutput) ToSmsvoicev2PhoneNumberTimeoutsPtrOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return o +} + +func (o Smsvoicev2PhoneNumberTimeoutsPtrOutput) Elem() Smsvoicev2PhoneNumberTimeoutsOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumberTimeouts) Smsvoicev2PhoneNumberTimeouts { + if v != nil { + return *v + } + var ret Smsvoicev2PhoneNumberTimeouts + return ret + }).(Smsvoicev2PhoneNumberTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 Smsvoicev2PhoneNumberTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumberTimeouts) *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 Smsvoicev2PhoneNumberTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumberTimeouts) *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 Smsvoicev2PhoneNumberTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumberTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppCampaignHookInput)(nil)).Elem(), AppCampaignHookArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppCampaignHookPtrInput)(nil)).Elem(), AppCampaignHookArgs{}) @@ -800,6 +975,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EmailTemplateEmailTemplateArrayInput)(nil)).Elem(), EmailTemplateEmailTemplateArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EmailTemplateEmailTemplateHeaderInput)(nil)).Elem(), EmailTemplateEmailTemplateHeaderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EmailTemplateEmailTemplateHeaderArrayInput)(nil)).Elem(), EmailTemplateEmailTemplateHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*Smsvoicev2PhoneNumberTimeoutsInput)(nil)).Elem(), Smsvoicev2PhoneNumberTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*Smsvoicev2PhoneNumberTimeoutsPtrInput)(nil)).Elem(), Smsvoicev2PhoneNumberTimeoutsArgs{}) pulumi.RegisterOutputType(AppCampaignHookOutput{}) pulumi.RegisterOutputType(AppCampaignHookPtrOutput{}) pulumi.RegisterOutputType(AppLimitsOutput{}) @@ -810,4 +987,6 @@ func init() { pulumi.RegisterOutputType(EmailTemplateEmailTemplateArrayOutput{}) pulumi.RegisterOutputType(EmailTemplateEmailTemplateHeaderOutput{}) pulumi.RegisterOutputType(EmailTemplateEmailTemplateHeaderArrayOutput{}) + pulumi.RegisterOutputType(Smsvoicev2PhoneNumberTimeoutsOutput{}) + pulumi.RegisterOutputType(Smsvoicev2PhoneNumberTimeoutsPtrOutput{}) } diff --git a/sdk/go/aws/pinpoint/smsvoicev2OptOutList.go b/sdk/go/aws/pinpoint/smsvoicev2OptOutList.go new file mode 100644 index 00000000000..11efd4e9cb2 --- /dev/null +++ b/sdk/go/aws/pinpoint/smsvoicev2OptOutList.go @@ -0,0 +1,294 @@ +// 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 pinpoint + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an AWS End User Messaging SMS opt-out list. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := pinpoint.NewSmsvoicev2OptOutList(ctx, "example", &pinpoint.Smsvoicev2OptOutListArgs{ +// Name: pulumi.String("example-opt-out-list"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import opt-out lists using the `name`. For example: +// +// ```sh +// $ pulumi import aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList example example-opt-out-list +// ``` +type Smsvoicev2OptOutList struct { + pulumi.CustomResourceState + + // ARN of the opt-out list. + Arn pulumi.StringOutput `pulumi:"arn"` + // The name of the opt-out list. + Name pulumi.StringOutput `pulumi:"name"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // 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"` +} + +// NewSmsvoicev2OptOutList registers a new resource with the given unique name, arguments, and options. +func NewSmsvoicev2OptOutList(ctx *pulumi.Context, + name string, args *Smsvoicev2OptOutListArgs, opts ...pulumi.ResourceOption) (*Smsvoicev2OptOutList, error) { + if args == nil { + args = &Smsvoicev2OptOutListArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Smsvoicev2OptOutList + err := ctx.RegisterResource("aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSmsvoicev2OptOutList gets an existing Smsvoicev2OptOutList 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 GetSmsvoicev2OptOutList(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *Smsvoicev2OptOutListState, opts ...pulumi.ResourceOption) (*Smsvoicev2OptOutList, error) { + var resource Smsvoicev2OptOutList + err := ctx.ReadResource("aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Smsvoicev2OptOutList resources. +type smsvoicev2OptOutListState struct { + // ARN of the opt-out list. + Arn *string `pulumi:"arn"` + // The name of the opt-out list. + Name *string `pulumi:"name"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // 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"` +} + +type Smsvoicev2OptOutListState struct { + // ARN of the opt-out list. + Arn pulumi.StringPtrInput + // The name of the opt-out list. + Name pulumi.StringPtrInput + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // 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 +} + +func (Smsvoicev2OptOutListState) ElementType() reflect.Type { + return reflect.TypeOf((*smsvoicev2OptOutListState)(nil)).Elem() +} + +type smsvoicev2OptOutListArgs struct { + // The name of the opt-out list. + Name *string `pulumi:"name"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a Smsvoicev2OptOutList resource. +type Smsvoicev2OptOutListArgs struct { + // The name of the opt-out list. + Name pulumi.StringPtrInput + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput +} + +func (Smsvoicev2OptOutListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*smsvoicev2OptOutListArgs)(nil)).Elem() +} + +type Smsvoicev2OptOutListInput interface { + pulumi.Input + + ToSmsvoicev2OptOutListOutput() Smsvoicev2OptOutListOutput + ToSmsvoicev2OptOutListOutputWithContext(ctx context.Context) Smsvoicev2OptOutListOutput +} + +func (*Smsvoicev2OptOutList) ElementType() reflect.Type { + return reflect.TypeOf((**Smsvoicev2OptOutList)(nil)).Elem() +} + +func (i *Smsvoicev2OptOutList) ToSmsvoicev2OptOutListOutput() Smsvoicev2OptOutListOutput { + return i.ToSmsvoicev2OptOutListOutputWithContext(context.Background()) +} + +func (i *Smsvoicev2OptOutList) ToSmsvoicev2OptOutListOutputWithContext(ctx context.Context) Smsvoicev2OptOutListOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2OptOutListOutput) +} + +// Smsvoicev2OptOutListArrayInput is an input type that accepts Smsvoicev2OptOutListArray and Smsvoicev2OptOutListArrayOutput values. +// You can construct a concrete instance of `Smsvoicev2OptOutListArrayInput` via: +// +// Smsvoicev2OptOutListArray{ Smsvoicev2OptOutListArgs{...} } +type Smsvoicev2OptOutListArrayInput interface { + pulumi.Input + + ToSmsvoicev2OptOutListArrayOutput() Smsvoicev2OptOutListArrayOutput + ToSmsvoicev2OptOutListArrayOutputWithContext(context.Context) Smsvoicev2OptOutListArrayOutput +} + +type Smsvoicev2OptOutListArray []Smsvoicev2OptOutListInput + +func (Smsvoicev2OptOutListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Smsvoicev2OptOutList)(nil)).Elem() +} + +func (i Smsvoicev2OptOutListArray) ToSmsvoicev2OptOutListArrayOutput() Smsvoicev2OptOutListArrayOutput { + return i.ToSmsvoicev2OptOutListArrayOutputWithContext(context.Background()) +} + +func (i Smsvoicev2OptOutListArray) ToSmsvoicev2OptOutListArrayOutputWithContext(ctx context.Context) Smsvoicev2OptOutListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2OptOutListArrayOutput) +} + +// Smsvoicev2OptOutListMapInput is an input type that accepts Smsvoicev2OptOutListMap and Smsvoicev2OptOutListMapOutput values. +// You can construct a concrete instance of `Smsvoicev2OptOutListMapInput` via: +// +// Smsvoicev2OptOutListMap{ "key": Smsvoicev2OptOutListArgs{...} } +type Smsvoicev2OptOutListMapInput interface { + pulumi.Input + + ToSmsvoicev2OptOutListMapOutput() Smsvoicev2OptOutListMapOutput + ToSmsvoicev2OptOutListMapOutputWithContext(context.Context) Smsvoicev2OptOutListMapOutput +} + +type Smsvoicev2OptOutListMap map[string]Smsvoicev2OptOutListInput + +func (Smsvoicev2OptOutListMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Smsvoicev2OptOutList)(nil)).Elem() +} + +func (i Smsvoicev2OptOutListMap) ToSmsvoicev2OptOutListMapOutput() Smsvoicev2OptOutListMapOutput { + return i.ToSmsvoicev2OptOutListMapOutputWithContext(context.Background()) +} + +func (i Smsvoicev2OptOutListMap) ToSmsvoicev2OptOutListMapOutputWithContext(ctx context.Context) Smsvoicev2OptOutListMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2OptOutListMapOutput) +} + +type Smsvoicev2OptOutListOutput struct{ *pulumi.OutputState } + +func (Smsvoicev2OptOutListOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Smsvoicev2OptOutList)(nil)).Elem() +} + +func (o Smsvoicev2OptOutListOutput) ToSmsvoicev2OptOutListOutput() Smsvoicev2OptOutListOutput { + return o +} + +func (o Smsvoicev2OptOutListOutput) ToSmsvoicev2OptOutListOutputWithContext(ctx context.Context) Smsvoicev2OptOutListOutput { + return o +} + +// ARN of the opt-out list. +func (o Smsvoicev2OptOutListOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2OptOutList) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The name of the opt-out list. +func (o Smsvoicev2OptOutListOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2OptOutList) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o Smsvoicev2OptOutListOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Smsvoicev2OptOutList) 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 Smsvoicev2OptOutListOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *Smsvoicev2OptOutList) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type Smsvoicev2OptOutListArrayOutput struct{ *pulumi.OutputState } + +func (Smsvoicev2OptOutListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Smsvoicev2OptOutList)(nil)).Elem() +} + +func (o Smsvoicev2OptOutListArrayOutput) ToSmsvoicev2OptOutListArrayOutput() Smsvoicev2OptOutListArrayOutput { + return o +} + +func (o Smsvoicev2OptOutListArrayOutput) ToSmsvoicev2OptOutListArrayOutputWithContext(ctx context.Context) Smsvoicev2OptOutListArrayOutput { + return o +} + +func (o Smsvoicev2OptOutListArrayOutput) Index(i pulumi.IntInput) Smsvoicev2OptOutListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Smsvoicev2OptOutList { + return vs[0].([]*Smsvoicev2OptOutList)[vs[1].(int)] + }).(Smsvoicev2OptOutListOutput) +} + +type Smsvoicev2OptOutListMapOutput struct{ *pulumi.OutputState } + +func (Smsvoicev2OptOutListMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Smsvoicev2OptOutList)(nil)).Elem() +} + +func (o Smsvoicev2OptOutListMapOutput) ToSmsvoicev2OptOutListMapOutput() Smsvoicev2OptOutListMapOutput { + return o +} + +func (o Smsvoicev2OptOutListMapOutput) ToSmsvoicev2OptOutListMapOutputWithContext(ctx context.Context) Smsvoicev2OptOutListMapOutput { + return o +} + +func (o Smsvoicev2OptOutListMapOutput) MapIndex(k pulumi.StringInput) Smsvoicev2OptOutListOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Smsvoicev2OptOutList { + return vs[0].(map[string]*Smsvoicev2OptOutList)[vs[1].(string)] + }).(Smsvoicev2OptOutListOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*Smsvoicev2OptOutListInput)(nil)).Elem(), &Smsvoicev2OptOutList{}) + pulumi.RegisterInputType(reflect.TypeOf((*Smsvoicev2OptOutListArrayInput)(nil)).Elem(), Smsvoicev2OptOutListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*Smsvoicev2OptOutListMapInput)(nil)).Elem(), Smsvoicev2OptOutListMap{}) + pulumi.RegisterOutputType(Smsvoicev2OptOutListOutput{}) + pulumi.RegisterOutputType(Smsvoicev2OptOutListArrayOutput{}) + pulumi.RegisterOutputType(Smsvoicev2OptOutListMapOutput{}) +} diff --git a/sdk/go/aws/pinpoint/smsvoicev2PhoneNumber.go b/sdk/go/aws/pinpoint/smsvoicev2PhoneNumber.go new file mode 100644 index 00000000000..96f05fdf8d8 --- /dev/null +++ b/sdk/go/aws/pinpoint/smsvoicev2PhoneNumber.go @@ -0,0 +1,472 @@ +// 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 pinpoint + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an AWS End User Messaging SMS phone number. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := pinpoint.NewSmsvoicev2PhoneNumber(ctx, "example", &pinpoint.Smsvoicev2PhoneNumberArgs{ +// IsoCountryCode: pulumi.String("US"), +// MessageType: pulumi.String("TRANSACTIONAL"), +// NumberType: pulumi.String("TOLL_FREE"), +// NumberCapabilities: pulumi.StringArray{ +// pulumi.String("SMS"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import phone numbers using the `id`. For example: +// +// ```sh +// $ pulumi import aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber example phone-abcdef0123456789abcdef0123456789 +// ``` +type Smsvoicev2PhoneNumber struct { + pulumi.CustomResourceState + + // ARN of the phone number. + Arn pulumi.StringOutput `pulumi:"arn"` + // By default this is set to `false`. When set to true the phone number can’t be deleted. + DeletionProtectionEnabled pulumi.BoolOutput `pulumi:"deletionProtectionEnabled"` + // The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + IsoCountryCode pulumi.StringOutput `pulumi:"isoCountryCode"` + // The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + MessageType pulumi.StringOutput `pulumi:"messageType"` + // The monthly price, in US dollars, to lease the phone number. + MonthlyLeasingPrice pulumi.StringOutput `pulumi:"monthlyLeasingPrice"` + // Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + NumberCapabilities pulumi.StringArrayOutput `pulumi:"numberCapabilities"` + // The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + NumberType pulumi.StringOutput `pulumi:"numberType"` + // The name of the opt-out list to associate with the phone number. + OptOutListName pulumi.StringOutput `pulumi:"optOutListName"` + // The new phone number that was requested. + PhoneNumber pulumi.StringOutput `pulumi:"phoneNumber"` + // Use this field to attach your phone number for an external registration process. + RegistrationId pulumi.StringPtrOutput `pulumi:"registrationId"` + // When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + SelfManagedOptOutsEnabled pulumi.BoolOutput `pulumi:"selfManagedOptOutsEnabled"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts Smsvoicev2PhoneNumberTimeoutsPtrOutput `pulumi:"timeouts"` + // The Amazon Resource Name (ARN) of the two way channel. + TwoWayChannelArn pulumi.StringPtrOutput `pulumi:"twoWayChannelArn"` + // By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + TwoWayChannelEnabled pulumi.BoolOutput `pulumi:"twoWayChannelEnabled"` +} + +// NewSmsvoicev2PhoneNumber registers a new resource with the given unique name, arguments, and options. +func NewSmsvoicev2PhoneNumber(ctx *pulumi.Context, + name string, args *Smsvoicev2PhoneNumberArgs, opts ...pulumi.ResourceOption) (*Smsvoicev2PhoneNumber, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IsoCountryCode == nil { + return nil, errors.New("invalid value for required argument 'IsoCountryCode'") + } + if args.MessageType == nil { + return nil, errors.New("invalid value for required argument 'MessageType'") + } + if args.NumberCapabilities == nil { + return nil, errors.New("invalid value for required argument 'NumberCapabilities'") + } + if args.NumberType == nil { + return nil, errors.New("invalid value for required argument 'NumberType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Smsvoicev2PhoneNumber + err := ctx.RegisterResource("aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSmsvoicev2PhoneNumber gets an existing Smsvoicev2PhoneNumber 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 GetSmsvoicev2PhoneNumber(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *Smsvoicev2PhoneNumberState, opts ...pulumi.ResourceOption) (*Smsvoicev2PhoneNumber, error) { + var resource Smsvoicev2PhoneNumber + err := ctx.ReadResource("aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Smsvoicev2PhoneNumber resources. +type smsvoicev2PhoneNumberState struct { + // ARN of the phone number. + Arn *string `pulumi:"arn"` + // By default this is set to `false`. When set to true the phone number can’t be deleted. + DeletionProtectionEnabled *bool `pulumi:"deletionProtectionEnabled"` + // The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + IsoCountryCode *string `pulumi:"isoCountryCode"` + // The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + MessageType *string `pulumi:"messageType"` + // The monthly price, in US dollars, to lease the phone number. + MonthlyLeasingPrice *string `pulumi:"monthlyLeasingPrice"` + // Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + NumberCapabilities []string `pulumi:"numberCapabilities"` + // The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + NumberType *string `pulumi:"numberType"` + // The name of the opt-out list to associate with the phone number. + OptOutListName *string `pulumi:"optOutListName"` + // The new phone number that was requested. + PhoneNumber *string `pulumi:"phoneNumber"` + // Use this field to attach your phone number for an external registration process. + RegistrationId *string `pulumi:"registrationId"` + // When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + SelfManagedOptOutsEnabled *bool `pulumi:"selfManagedOptOutsEnabled"` + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *Smsvoicev2PhoneNumberTimeouts `pulumi:"timeouts"` + // The Amazon Resource Name (ARN) of the two way channel. + TwoWayChannelArn *string `pulumi:"twoWayChannelArn"` + // By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + TwoWayChannelEnabled *bool `pulumi:"twoWayChannelEnabled"` +} + +type Smsvoicev2PhoneNumberState struct { + // ARN of the phone number. + Arn pulumi.StringPtrInput + // By default this is set to `false`. When set to true the phone number can’t be deleted. + DeletionProtectionEnabled pulumi.BoolPtrInput + // The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + IsoCountryCode pulumi.StringPtrInput + // The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + MessageType pulumi.StringPtrInput + // The monthly price, in US dollars, to lease the phone number. + MonthlyLeasingPrice pulumi.StringPtrInput + // Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + NumberCapabilities pulumi.StringArrayInput + // The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + NumberType pulumi.StringPtrInput + // The name of the opt-out list to associate with the phone number. + OptOutListName pulumi.StringPtrInput + // The new phone number that was requested. + PhoneNumber pulumi.StringPtrInput + // Use this field to attach your phone number for an external registration process. + RegistrationId pulumi.StringPtrInput + // When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + SelfManagedOptOutsEnabled pulumi.BoolPtrInput + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts Smsvoicev2PhoneNumberTimeoutsPtrInput + // The Amazon Resource Name (ARN) of the two way channel. + TwoWayChannelArn pulumi.StringPtrInput + // By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + TwoWayChannelEnabled pulumi.BoolPtrInput +} + +func (Smsvoicev2PhoneNumberState) ElementType() reflect.Type { + return reflect.TypeOf((*smsvoicev2PhoneNumberState)(nil)).Elem() +} + +type smsvoicev2PhoneNumberArgs struct { + // By default this is set to `false`. When set to true the phone number can’t be deleted. + DeletionProtectionEnabled *bool `pulumi:"deletionProtectionEnabled"` + // The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + IsoCountryCode string `pulumi:"isoCountryCode"` + // The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + MessageType string `pulumi:"messageType"` + // Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + NumberCapabilities []string `pulumi:"numberCapabilities"` + // The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + NumberType string `pulumi:"numberType"` + // The name of the opt-out list to associate with the phone number. + OptOutListName *string `pulumi:"optOutListName"` + // Use this field to attach your phone number for an external registration process. + RegistrationId *string `pulumi:"registrationId"` + // When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + SelfManagedOptOutsEnabled *bool `pulumi:"selfManagedOptOutsEnabled"` + Tags map[string]string `pulumi:"tags"` + Timeouts *Smsvoicev2PhoneNumberTimeouts `pulumi:"timeouts"` + // The Amazon Resource Name (ARN) of the two way channel. + TwoWayChannelArn *string `pulumi:"twoWayChannelArn"` + // By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + TwoWayChannelEnabled *bool `pulumi:"twoWayChannelEnabled"` +} + +// The set of arguments for constructing a Smsvoicev2PhoneNumber resource. +type Smsvoicev2PhoneNumberArgs struct { + // By default this is set to `false`. When set to true the phone number can’t be deleted. + DeletionProtectionEnabled pulumi.BoolPtrInput + // The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + IsoCountryCode pulumi.StringInput + // The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + MessageType pulumi.StringInput + // Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + NumberCapabilities pulumi.StringArrayInput + // The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + NumberType pulumi.StringInput + // The name of the opt-out list to associate with the phone number. + OptOutListName pulumi.StringPtrInput + // Use this field to attach your phone number for an external registration process. + RegistrationId pulumi.StringPtrInput + // When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + SelfManagedOptOutsEnabled pulumi.BoolPtrInput + Tags pulumi.StringMapInput + Timeouts Smsvoicev2PhoneNumberTimeoutsPtrInput + // The Amazon Resource Name (ARN) of the two way channel. + TwoWayChannelArn pulumi.StringPtrInput + // By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + TwoWayChannelEnabled pulumi.BoolPtrInput +} + +func (Smsvoicev2PhoneNumberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*smsvoicev2PhoneNumberArgs)(nil)).Elem() +} + +type Smsvoicev2PhoneNumberInput interface { + pulumi.Input + + ToSmsvoicev2PhoneNumberOutput() Smsvoicev2PhoneNumberOutput + ToSmsvoicev2PhoneNumberOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberOutput +} + +func (*Smsvoicev2PhoneNumber) ElementType() reflect.Type { + return reflect.TypeOf((**Smsvoicev2PhoneNumber)(nil)).Elem() +} + +func (i *Smsvoicev2PhoneNumber) ToSmsvoicev2PhoneNumberOutput() Smsvoicev2PhoneNumberOutput { + return i.ToSmsvoicev2PhoneNumberOutputWithContext(context.Background()) +} + +func (i *Smsvoicev2PhoneNumber) ToSmsvoicev2PhoneNumberOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2PhoneNumberOutput) +} + +// Smsvoicev2PhoneNumberArrayInput is an input type that accepts Smsvoicev2PhoneNumberArray and Smsvoicev2PhoneNumberArrayOutput values. +// You can construct a concrete instance of `Smsvoicev2PhoneNumberArrayInput` via: +// +// Smsvoicev2PhoneNumberArray{ Smsvoicev2PhoneNumberArgs{...} } +type Smsvoicev2PhoneNumberArrayInput interface { + pulumi.Input + + ToSmsvoicev2PhoneNumberArrayOutput() Smsvoicev2PhoneNumberArrayOutput + ToSmsvoicev2PhoneNumberArrayOutputWithContext(context.Context) Smsvoicev2PhoneNumberArrayOutput +} + +type Smsvoicev2PhoneNumberArray []Smsvoicev2PhoneNumberInput + +func (Smsvoicev2PhoneNumberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Smsvoicev2PhoneNumber)(nil)).Elem() +} + +func (i Smsvoicev2PhoneNumberArray) ToSmsvoicev2PhoneNumberArrayOutput() Smsvoicev2PhoneNumberArrayOutput { + return i.ToSmsvoicev2PhoneNumberArrayOutputWithContext(context.Background()) +} + +func (i Smsvoicev2PhoneNumberArray) ToSmsvoicev2PhoneNumberArrayOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2PhoneNumberArrayOutput) +} + +// Smsvoicev2PhoneNumberMapInput is an input type that accepts Smsvoicev2PhoneNumberMap and Smsvoicev2PhoneNumberMapOutput values. +// You can construct a concrete instance of `Smsvoicev2PhoneNumberMapInput` via: +// +// Smsvoicev2PhoneNumberMap{ "key": Smsvoicev2PhoneNumberArgs{...} } +type Smsvoicev2PhoneNumberMapInput interface { + pulumi.Input + + ToSmsvoicev2PhoneNumberMapOutput() Smsvoicev2PhoneNumberMapOutput + ToSmsvoicev2PhoneNumberMapOutputWithContext(context.Context) Smsvoicev2PhoneNumberMapOutput +} + +type Smsvoicev2PhoneNumberMap map[string]Smsvoicev2PhoneNumberInput + +func (Smsvoicev2PhoneNumberMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Smsvoicev2PhoneNumber)(nil)).Elem() +} + +func (i Smsvoicev2PhoneNumberMap) ToSmsvoicev2PhoneNumberMapOutput() Smsvoicev2PhoneNumberMapOutput { + return i.ToSmsvoicev2PhoneNumberMapOutputWithContext(context.Background()) +} + +func (i Smsvoicev2PhoneNumberMap) ToSmsvoicev2PhoneNumberMapOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(Smsvoicev2PhoneNumberMapOutput) +} + +type Smsvoicev2PhoneNumberOutput struct{ *pulumi.OutputState } + +func (Smsvoicev2PhoneNumberOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Smsvoicev2PhoneNumber)(nil)).Elem() +} + +func (o Smsvoicev2PhoneNumberOutput) ToSmsvoicev2PhoneNumberOutput() Smsvoicev2PhoneNumberOutput { + return o +} + +func (o Smsvoicev2PhoneNumberOutput) ToSmsvoicev2PhoneNumberOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberOutput { + return o +} + +// ARN of the phone number. +func (o Smsvoicev2PhoneNumberOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// By default this is set to `false`. When set to true the phone number can’t be deleted. +func (o Smsvoicev2PhoneNumberOutput) DeletionProtectionEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.BoolOutput { return v.DeletionProtectionEnabled }).(pulumi.BoolOutput) +} + +// The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. +func (o Smsvoicev2PhoneNumberOutput) IsoCountryCode() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringOutput { return v.IsoCountryCode }).(pulumi.StringOutput) +} + +// The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. +func (o Smsvoicev2PhoneNumberOutput) MessageType() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringOutput { return v.MessageType }).(pulumi.StringOutput) +} + +// The monthly price, in US dollars, to lease the phone number. +func (o Smsvoicev2PhoneNumberOutput) MonthlyLeasingPrice() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringOutput { return v.MonthlyLeasingPrice }).(pulumi.StringOutput) +} + +// Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. +func (o Smsvoicev2PhoneNumberOutput) NumberCapabilities() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringArrayOutput { return v.NumberCapabilities }).(pulumi.StringArrayOutput) +} + +// The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. +func (o Smsvoicev2PhoneNumberOutput) NumberType() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringOutput { return v.NumberType }).(pulumi.StringOutput) +} + +// The name of the opt-out list to associate with the phone number. +func (o Smsvoicev2PhoneNumberOutput) OptOutListName() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringOutput { return v.OptOutListName }).(pulumi.StringOutput) +} + +// The new phone number that was requested. +func (o Smsvoicev2PhoneNumberOutput) PhoneNumber() pulumi.StringOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringOutput { return v.PhoneNumber }).(pulumi.StringOutput) +} + +// Use this field to attach your phone number for an external registration process. +func (o Smsvoicev2PhoneNumberOutput) RegistrationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringPtrOutput { return v.RegistrationId }).(pulumi.StringPtrOutput) +} + +// When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. +func (o Smsvoicev2PhoneNumberOutput) SelfManagedOptOutsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.BoolOutput { return v.SelfManagedOptOutsEnabled }).(pulumi.BoolOutput) +} + +func (o Smsvoicev2PhoneNumberOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) 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 Smsvoicev2PhoneNumberOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o Smsvoicev2PhoneNumberOutput) Timeouts() Smsvoicev2PhoneNumberTimeoutsPtrOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) Smsvoicev2PhoneNumberTimeoutsPtrOutput { return v.Timeouts }).(Smsvoicev2PhoneNumberTimeoutsPtrOutput) +} + +// The Amazon Resource Name (ARN) of the two way channel. +func (o Smsvoicev2PhoneNumberOutput) TwoWayChannelArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.StringPtrOutput { return v.TwoWayChannelArn }).(pulumi.StringPtrOutput) +} + +// By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. +func (o Smsvoicev2PhoneNumberOutput) TwoWayChannelEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *Smsvoicev2PhoneNumber) pulumi.BoolOutput { return v.TwoWayChannelEnabled }).(pulumi.BoolOutput) +} + +type Smsvoicev2PhoneNumberArrayOutput struct{ *pulumi.OutputState } + +func (Smsvoicev2PhoneNumberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Smsvoicev2PhoneNumber)(nil)).Elem() +} + +func (o Smsvoicev2PhoneNumberArrayOutput) ToSmsvoicev2PhoneNumberArrayOutput() Smsvoicev2PhoneNumberArrayOutput { + return o +} + +func (o Smsvoicev2PhoneNumberArrayOutput) ToSmsvoicev2PhoneNumberArrayOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberArrayOutput { + return o +} + +func (o Smsvoicev2PhoneNumberArrayOutput) Index(i pulumi.IntInput) Smsvoicev2PhoneNumberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Smsvoicev2PhoneNumber { + return vs[0].([]*Smsvoicev2PhoneNumber)[vs[1].(int)] + }).(Smsvoicev2PhoneNumberOutput) +} + +type Smsvoicev2PhoneNumberMapOutput struct{ *pulumi.OutputState } + +func (Smsvoicev2PhoneNumberMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Smsvoicev2PhoneNumber)(nil)).Elem() +} + +func (o Smsvoicev2PhoneNumberMapOutput) ToSmsvoicev2PhoneNumberMapOutput() Smsvoicev2PhoneNumberMapOutput { + return o +} + +func (o Smsvoicev2PhoneNumberMapOutput) ToSmsvoicev2PhoneNumberMapOutputWithContext(ctx context.Context) Smsvoicev2PhoneNumberMapOutput { + return o +} + +func (o Smsvoicev2PhoneNumberMapOutput) MapIndex(k pulumi.StringInput) Smsvoicev2PhoneNumberOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Smsvoicev2PhoneNumber { + return vs[0].(map[string]*Smsvoicev2PhoneNumber)[vs[1].(string)] + }).(Smsvoicev2PhoneNumberOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*Smsvoicev2PhoneNumberInput)(nil)).Elem(), &Smsvoicev2PhoneNumber{}) + pulumi.RegisterInputType(reflect.TypeOf((*Smsvoicev2PhoneNumberArrayInput)(nil)).Elem(), Smsvoicev2PhoneNumberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*Smsvoicev2PhoneNumberMapInput)(nil)).Elem(), Smsvoicev2PhoneNumberMap{}) + pulumi.RegisterOutputType(Smsvoicev2PhoneNumberOutput{}) + pulumi.RegisterOutputType(Smsvoicev2PhoneNumberArrayOutput{}) + pulumi.RegisterOutputType(Smsvoicev2PhoneNumberMapOutput{}) +} diff --git a/sdk/go/aws/pulumiTypes.go b/sdk/go/aws/pulumiTypes.go index 41a1f0751e5..eeaf0641d5b 100644 --- a/sdk/go/aws/pulumiTypes.go +++ b/sdk/go/aws/pulumiTypes.go @@ -1098,6 +1098,8 @@ type ProviderEndpoint struct { // Use this to override the default service endpoint URL Pinpoint *string `pulumi:"pinpoint"` // Use this to override the default service endpoint URL + Pinpointsmsvoicev2 *string `pulumi:"pinpointsmsvoicev2"` + // Use this to override the default service endpoint URL Pipes *string `pulumi:"pipes"` // Use this to override the default service endpoint URL Polly *string `pulumi:"polly"` @@ -1690,6 +1692,8 @@ type ProviderEndpointArgs struct { // Use this to override the default service endpoint URL Pinpoint pulumi.StringPtrInput `pulumi:"pinpoint"` // Use this to override the default service endpoint URL + Pinpointsmsvoicev2 pulumi.StringPtrInput `pulumi:"pinpointsmsvoicev2"` + // Use this to override the default service endpoint URL Pipes pulumi.StringPtrInput `pulumi:"pipes"` // Use this to override the default service endpoint URL Polly pulumi.StringPtrInput `pulumi:"polly"` @@ -2941,6 +2945,11 @@ func (o ProviderEndpointOutput) Pinpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Pinpoint }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o ProviderEndpointOutput) Pinpointsmsvoicev2() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.Pinpointsmsvoicev2 }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o ProviderEndpointOutput) Pipes() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Pipes }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/s3/bucketServerSideEncryptionConfigurationV2.go b/sdk/go/aws/s3/bucketServerSideEncryptionConfigurationV2.go index 823ffd35ee9..eb270da3791 100644 --- a/sdk/go/aws/s3/bucketServerSideEncryptionConfigurationV2.go +++ b/sdk/go/aws/s3/bucketServerSideEncryptionConfigurationV2.go @@ -16,8 +16,6 @@ import ( // // > **NOTE:** Destroying an `s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). // -// > This resource cannot be used with S3 directory buckets. -// // ## Example Usage // // ```go diff --git a/sdk/go/aws/securityhub/getStandardsControlAssociations.go b/sdk/go/aws/securityhub/getStandardsControlAssociations.go new file mode 100644 index 00000000000..730f1c1d824 --- /dev/null +++ b/sdk/go/aws/securityhub/getStandardsControlAssociations.go @@ -0,0 +1,142 @@ +// 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 securityhub + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS Security Hub Standards Control Associations. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := securityhub.NewAccount(ctx, "test", nil) +// if err != nil { +// return err +// } +// _, err = securityhub.GetStandardsControlAssociations(ctx, &securityhub.GetStandardsControlAssociationsArgs{ +// SecurityControlId: "IAM.1", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetStandardsControlAssociations(ctx *pulumi.Context, args *GetStandardsControlAssociationsArgs, opts ...pulumi.InvokeOption) (*GetStandardsControlAssociationsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetStandardsControlAssociationsResult + err := ctx.Invoke("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getStandardsControlAssociations. +type GetStandardsControlAssociationsArgs struct { + // The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + SecurityControlId string `pulumi:"securityControlId"` + // A list that provides the status and other details for each security control that applies to each enabled standard. + // See `standardsControlAssociations` below. + StandardsControlAssociations []GetStandardsControlAssociationsStandardsControlAssociation `pulumi:"standardsControlAssociations"` +} + +// A collection of values returned by getStandardsControlAssociations. +type GetStandardsControlAssociationsResult struct { + Id string `pulumi:"id"` + // ID of the security control. + SecurityControlId string `pulumi:"securityControlId"` + // A list that provides the status and other details for each security control that applies to each enabled standard. + // See `standardsControlAssociations` below. + StandardsControlAssociations []GetStandardsControlAssociationsStandardsControlAssociation `pulumi:"standardsControlAssociations"` +} + +func GetStandardsControlAssociationsOutput(ctx *pulumi.Context, args GetStandardsControlAssociationsOutputArgs, opts ...pulumi.InvokeOption) GetStandardsControlAssociationsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetStandardsControlAssociationsResultOutput, error) { + args := v.(GetStandardsControlAssociationsArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetStandardsControlAssociationsResult + secret, err := ctx.InvokePackageRaw("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", args, &rv, "", opts...) + if err != nil { + return GetStandardsControlAssociationsResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(GetStandardsControlAssociationsResultOutput) + if secret { + return pulumi.ToSecret(output).(GetStandardsControlAssociationsResultOutput), nil + } + return output, nil + }).(GetStandardsControlAssociationsResultOutput) +} + +// A collection of arguments for invoking getStandardsControlAssociations. +type GetStandardsControlAssociationsOutputArgs struct { + // The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + SecurityControlId pulumi.StringInput `pulumi:"securityControlId"` + // A list that provides the status and other details for each security control that applies to each enabled standard. + // See `standardsControlAssociations` below. + StandardsControlAssociations GetStandardsControlAssociationsStandardsControlAssociationArrayInput `pulumi:"standardsControlAssociations"` +} + +func (GetStandardsControlAssociationsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStandardsControlAssociationsArgs)(nil)).Elem() +} + +// A collection of values returned by getStandardsControlAssociations. +type GetStandardsControlAssociationsResultOutput struct{ *pulumi.OutputState } + +func (GetStandardsControlAssociationsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStandardsControlAssociationsResult)(nil)).Elem() +} + +func (o GetStandardsControlAssociationsResultOutput) ToGetStandardsControlAssociationsResultOutput() GetStandardsControlAssociationsResultOutput { + return o +} + +func (o GetStandardsControlAssociationsResultOutput) ToGetStandardsControlAssociationsResultOutputWithContext(ctx context.Context) GetStandardsControlAssociationsResultOutput { + return o +} + +func (o GetStandardsControlAssociationsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// ID of the security control. +func (o GetStandardsControlAssociationsResultOutput) SecurityControlId() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsResult) string { return v.SecurityControlId }).(pulumi.StringOutput) +} + +// A list that provides the status and other details for each security control that applies to each enabled standard. +// See `standardsControlAssociations` below. +func (o GetStandardsControlAssociationsResultOutput) StandardsControlAssociations() GetStandardsControlAssociationsStandardsControlAssociationArrayOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsResult) []GetStandardsControlAssociationsStandardsControlAssociation { + return v.StandardsControlAssociations + }).(GetStandardsControlAssociationsStandardsControlAssociationArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetStandardsControlAssociationsResultOutput{}) +} diff --git a/sdk/go/aws/securityhub/pulumiTypes.go b/sdk/go/aws/securityhub/pulumiTypes.go index 416d3f5abec..55ec15d7731 100644 --- a/sdk/go/aws/securityhub/pulumiTypes.go +++ b/sdk/go/aws/securityhub/pulumiTypes.go @@ -21116,6 +21116,181 @@ func (o OrganizationConfigurationOrganizationConfigurationPtrOutput) Configurati }).(pulumi.StringPtrOutput) } +type GetStandardsControlAssociationsStandardsControlAssociation struct { + // Enablement status of a control in a specific standard. + AssociationStatus string `pulumi:"associationStatus"` + // List of underlying requirements in the compliance framework related to the standard. + RelatedRequirements []string `pulumi:"relatedRequirements"` + // ARN of the security control. + SecurityControlArn string `pulumi:"securityControlArn"` + // The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + SecurityControlId string `pulumi:"securityControlId"` + // ARN of the standard. + StandardsArn string `pulumi:"standardsArn"` + // Description of the standard. + StandardsControlDescription string `pulumi:"standardsControlDescription"` + // Title of the standard. + StandardsControlTitle string `pulumi:"standardsControlTitle"` + // Last time that a control's enablement status in a specified standard was updated. + UpdatedAt string `pulumi:"updatedAt"` + // Reason for updating a control's enablement status in a specified standard. + UpdatedReason string `pulumi:"updatedReason"` +} + +// GetStandardsControlAssociationsStandardsControlAssociationInput is an input type that accepts GetStandardsControlAssociationsStandardsControlAssociationArgs and GetStandardsControlAssociationsStandardsControlAssociationOutput values. +// You can construct a concrete instance of `GetStandardsControlAssociationsStandardsControlAssociationInput` via: +// +// GetStandardsControlAssociationsStandardsControlAssociationArgs{...} +type GetStandardsControlAssociationsStandardsControlAssociationInput interface { + pulumi.Input + + ToGetStandardsControlAssociationsStandardsControlAssociationOutput() GetStandardsControlAssociationsStandardsControlAssociationOutput + ToGetStandardsControlAssociationsStandardsControlAssociationOutputWithContext(context.Context) GetStandardsControlAssociationsStandardsControlAssociationOutput +} + +type GetStandardsControlAssociationsStandardsControlAssociationArgs struct { + // Enablement status of a control in a specific standard. + AssociationStatus pulumi.StringInput `pulumi:"associationStatus"` + // List of underlying requirements in the compliance framework related to the standard. + RelatedRequirements pulumi.StringArrayInput `pulumi:"relatedRequirements"` + // ARN of the security control. + SecurityControlArn pulumi.StringInput `pulumi:"securityControlArn"` + // The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + SecurityControlId pulumi.StringInput `pulumi:"securityControlId"` + // ARN of the standard. + StandardsArn pulumi.StringInput `pulumi:"standardsArn"` + // Description of the standard. + StandardsControlDescription pulumi.StringInput `pulumi:"standardsControlDescription"` + // Title of the standard. + StandardsControlTitle pulumi.StringInput `pulumi:"standardsControlTitle"` + // Last time that a control's enablement status in a specified standard was updated. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` + // Reason for updating a control's enablement status in a specified standard. + UpdatedReason pulumi.StringInput `pulumi:"updatedReason"` +} + +func (GetStandardsControlAssociationsStandardsControlAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStandardsControlAssociationsStandardsControlAssociation)(nil)).Elem() +} + +func (i GetStandardsControlAssociationsStandardsControlAssociationArgs) ToGetStandardsControlAssociationsStandardsControlAssociationOutput() GetStandardsControlAssociationsStandardsControlAssociationOutput { + return i.ToGetStandardsControlAssociationsStandardsControlAssociationOutputWithContext(context.Background()) +} + +func (i GetStandardsControlAssociationsStandardsControlAssociationArgs) ToGetStandardsControlAssociationsStandardsControlAssociationOutputWithContext(ctx context.Context) GetStandardsControlAssociationsStandardsControlAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStandardsControlAssociationsStandardsControlAssociationOutput) +} + +// GetStandardsControlAssociationsStandardsControlAssociationArrayInput is an input type that accepts GetStandardsControlAssociationsStandardsControlAssociationArray and GetStandardsControlAssociationsStandardsControlAssociationArrayOutput values. +// You can construct a concrete instance of `GetStandardsControlAssociationsStandardsControlAssociationArrayInput` via: +// +// GetStandardsControlAssociationsStandardsControlAssociationArray{ GetStandardsControlAssociationsStandardsControlAssociationArgs{...} } +type GetStandardsControlAssociationsStandardsControlAssociationArrayInput interface { + pulumi.Input + + ToGetStandardsControlAssociationsStandardsControlAssociationArrayOutput() GetStandardsControlAssociationsStandardsControlAssociationArrayOutput + ToGetStandardsControlAssociationsStandardsControlAssociationArrayOutputWithContext(context.Context) GetStandardsControlAssociationsStandardsControlAssociationArrayOutput +} + +type GetStandardsControlAssociationsStandardsControlAssociationArray []GetStandardsControlAssociationsStandardsControlAssociationInput + +func (GetStandardsControlAssociationsStandardsControlAssociationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetStandardsControlAssociationsStandardsControlAssociation)(nil)).Elem() +} + +func (i GetStandardsControlAssociationsStandardsControlAssociationArray) ToGetStandardsControlAssociationsStandardsControlAssociationArrayOutput() GetStandardsControlAssociationsStandardsControlAssociationArrayOutput { + return i.ToGetStandardsControlAssociationsStandardsControlAssociationArrayOutputWithContext(context.Background()) +} + +func (i GetStandardsControlAssociationsStandardsControlAssociationArray) ToGetStandardsControlAssociationsStandardsControlAssociationArrayOutputWithContext(ctx context.Context) GetStandardsControlAssociationsStandardsControlAssociationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStandardsControlAssociationsStandardsControlAssociationArrayOutput) +} + +type GetStandardsControlAssociationsStandardsControlAssociationOutput struct{ *pulumi.OutputState } + +func (GetStandardsControlAssociationsStandardsControlAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStandardsControlAssociationsStandardsControlAssociation)(nil)).Elem() +} + +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) ToGetStandardsControlAssociationsStandardsControlAssociationOutput() GetStandardsControlAssociationsStandardsControlAssociationOutput { + return o +} + +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) ToGetStandardsControlAssociationsStandardsControlAssociationOutputWithContext(ctx context.Context) GetStandardsControlAssociationsStandardsControlAssociationOutput { + return o +} + +// Enablement status of a control in a specific standard. +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) AssociationStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) string { return v.AssociationStatus }).(pulumi.StringOutput) +} + +// List of underlying requirements in the compliance framework related to the standard. +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) RelatedRequirements() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) []string { + return v.RelatedRequirements + }).(pulumi.StringArrayOutput) +} + +// ARN of the security control. +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) SecurityControlArn() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) string { return v.SecurityControlArn }).(pulumi.StringOutput) +} + +// The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) SecurityControlId() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) string { return v.SecurityControlId }).(pulumi.StringOutput) +} + +// ARN of the standard. +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) StandardsArn() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) string { return v.StandardsArn }).(pulumi.StringOutput) +} + +// Description of the standard. +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) StandardsControlDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) string { + return v.StandardsControlDescription + }).(pulumi.StringOutput) +} + +// Title of the standard. +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) StandardsControlTitle() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) string { + return v.StandardsControlTitle + }).(pulumi.StringOutput) +} + +// Last time that a control's enablement status in a specified standard was updated. +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// Reason for updating a control's enablement status in a specified standard. +func (o GetStandardsControlAssociationsStandardsControlAssociationOutput) UpdatedReason() pulumi.StringOutput { + return o.ApplyT(func(v GetStandardsControlAssociationsStandardsControlAssociation) string { return v.UpdatedReason }).(pulumi.StringOutput) +} + +type GetStandardsControlAssociationsStandardsControlAssociationArrayOutput struct{ *pulumi.OutputState } + +func (GetStandardsControlAssociationsStandardsControlAssociationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetStandardsControlAssociationsStandardsControlAssociation)(nil)).Elem() +} + +func (o GetStandardsControlAssociationsStandardsControlAssociationArrayOutput) ToGetStandardsControlAssociationsStandardsControlAssociationArrayOutput() GetStandardsControlAssociationsStandardsControlAssociationArrayOutput { + return o +} + +func (o GetStandardsControlAssociationsStandardsControlAssociationArrayOutput) ToGetStandardsControlAssociationsStandardsControlAssociationArrayOutputWithContext(ctx context.Context) GetStandardsControlAssociationsStandardsControlAssociationArrayOutput { + return o +} + +func (o GetStandardsControlAssociationsStandardsControlAssociationArrayOutput) Index(i pulumi.IntInput) GetStandardsControlAssociationsStandardsControlAssociationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetStandardsControlAssociationsStandardsControlAssociation { + return vs[0].([]GetStandardsControlAssociationsStandardsControlAssociation)[vs[1].(int)] + }).(GetStandardsControlAssociationsStandardsControlAssociationOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AutomationRuleActionInput)(nil)).Elem(), AutomationRuleActionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AutomationRuleActionArrayInput)(nil)).Elem(), AutomationRuleActionArray{}) @@ -21443,6 +21618,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InsightFiltersWorkflowStatusArrayInput)(nil)).Elem(), InsightFiltersWorkflowStatusArray{}) pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationOrganizationConfigurationInput)(nil)).Elem(), OrganizationConfigurationOrganizationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationOrganizationConfigurationPtrInput)(nil)).Elem(), OrganizationConfigurationOrganizationConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStandardsControlAssociationsStandardsControlAssociationInput)(nil)).Elem(), GetStandardsControlAssociationsStandardsControlAssociationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStandardsControlAssociationsStandardsControlAssociationArrayInput)(nil)).Elem(), GetStandardsControlAssociationsStandardsControlAssociationArray{}) pulumi.RegisterOutputType(AutomationRuleActionOutput{}) pulumi.RegisterOutputType(AutomationRuleActionArrayOutput{}) pulumi.RegisterOutputType(AutomationRuleActionFindingFieldsUpdateOutput{}) @@ -21769,4 +21946,6 @@ func init() { pulumi.RegisterOutputType(InsightFiltersWorkflowStatusArrayOutput{}) pulumi.RegisterOutputType(OrganizationConfigurationOrganizationConfigurationOutput{}) pulumi.RegisterOutputType(OrganizationConfigurationOrganizationConfigurationPtrOutput{}) + pulumi.RegisterOutputType(GetStandardsControlAssociationsStandardsControlAssociationOutput{}) + pulumi.RegisterOutputType(GetStandardsControlAssociationsStandardsControlAssociationArrayOutput{}) } diff --git a/sdk/go/aws/ses/pulumiTypes.go b/sdk/go/aws/ses/pulumiTypes.go index 4d6c6472fe1..d36c848a96c 100644 --- a/sdk/go/aws/ses/pulumiTypes.go +++ b/sdk/go/aws/ses/pulumiTypes.go @@ -1079,6 +1079,8 @@ func (o ReceiptRuleLambdaActionArrayOutput) Index(i pulumi.IntInput) ReceiptRule type ReceiptRuleS3Action struct { // The name of the S3 bucket BucketName string `pulumi:"bucketName"` + // The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + IamRoleArn *string `pulumi:"iamRoleArn"` // The ARN of the KMS key KmsKeyArn *string `pulumi:"kmsKeyArn"` // The key prefix of the S3 bucket @@ -1103,6 +1105,8 @@ type ReceiptRuleS3ActionInput interface { type ReceiptRuleS3ActionArgs struct { // The name of the S3 bucket BucketName pulumi.StringInput `pulumi:"bucketName"` + // The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + IamRoleArn pulumi.StringPtrInput `pulumi:"iamRoleArn"` // The ARN of the KMS key KmsKeyArn pulumi.StringPtrInput `pulumi:"kmsKeyArn"` // The key prefix of the S3 bucket @@ -1169,6 +1173,11 @@ func (o ReceiptRuleS3ActionOutput) BucketName() pulumi.StringOutput { return o.ApplyT(func(v ReceiptRuleS3Action) string { return v.BucketName }).(pulumi.StringOutput) } +// The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic +func (o ReceiptRuleS3ActionOutput) IamRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReceiptRuleS3Action) *string { return v.IamRoleArn }).(pulumi.StringPtrOutput) +} + // The ARN of the KMS key func (o ReceiptRuleS3ActionOutput) KmsKeyArn() pulumi.StringPtrOutput { return o.ApplyT(func(v ReceiptRuleS3Action) *string { return v.KmsKeyArn }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/sesv2/accountSuppressionAttributes.go b/sdk/go/aws/sesv2/accountSuppressionAttributes.go new file mode 100644 index 00000000000..82e97e8c155 --- /dev/null +++ b/sdk/go/aws/sesv2/accountSuppressionAttributes.go @@ -0,0 +1,255 @@ +// 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 sesv2 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages AWS SESv2 (Simple Email V2) account-level suppression attributes. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := sesv2.NewAccountSuppressionAttributes(ctx, "example", &sesv2.AccountSuppressionAttributesArgs{ +// SuppressedReasons: pulumi.StringArray{ +// pulumi.String("COMPLAINT"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import account-level suppression attributes using the account ID. For example: +// +// ```sh +// $ pulumi import aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes example 123456789012 +// ``` +type AccountSuppressionAttributes struct { + pulumi.CustomResourceState + + // A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + SuppressedReasons pulumi.StringArrayOutput `pulumi:"suppressedReasons"` +} + +// NewAccountSuppressionAttributes registers a new resource with the given unique name, arguments, and options. +func NewAccountSuppressionAttributes(ctx *pulumi.Context, + name string, args *AccountSuppressionAttributesArgs, opts ...pulumi.ResourceOption) (*AccountSuppressionAttributes, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.SuppressedReasons == nil { + return nil, errors.New("invalid value for required argument 'SuppressedReasons'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AccountSuppressionAttributes + err := ctx.RegisterResource("aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAccountSuppressionAttributes gets an existing AccountSuppressionAttributes 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 GetAccountSuppressionAttributes(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AccountSuppressionAttributesState, opts ...pulumi.ResourceOption) (*AccountSuppressionAttributes, error) { + var resource AccountSuppressionAttributes + err := ctx.ReadResource("aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AccountSuppressionAttributes resources. +type accountSuppressionAttributesState struct { + // A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + SuppressedReasons []string `pulumi:"suppressedReasons"` +} + +type AccountSuppressionAttributesState struct { + // A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + SuppressedReasons pulumi.StringArrayInput +} + +func (AccountSuppressionAttributesState) ElementType() reflect.Type { + return reflect.TypeOf((*accountSuppressionAttributesState)(nil)).Elem() +} + +type accountSuppressionAttributesArgs struct { + // A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + SuppressedReasons []string `pulumi:"suppressedReasons"` +} + +// The set of arguments for constructing a AccountSuppressionAttributes resource. +type AccountSuppressionAttributesArgs struct { + // A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + SuppressedReasons pulumi.StringArrayInput +} + +func (AccountSuppressionAttributesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*accountSuppressionAttributesArgs)(nil)).Elem() +} + +type AccountSuppressionAttributesInput interface { + pulumi.Input + + ToAccountSuppressionAttributesOutput() AccountSuppressionAttributesOutput + ToAccountSuppressionAttributesOutputWithContext(ctx context.Context) AccountSuppressionAttributesOutput +} + +func (*AccountSuppressionAttributes) ElementType() reflect.Type { + return reflect.TypeOf((**AccountSuppressionAttributes)(nil)).Elem() +} + +func (i *AccountSuppressionAttributes) ToAccountSuppressionAttributesOutput() AccountSuppressionAttributesOutput { + return i.ToAccountSuppressionAttributesOutputWithContext(context.Background()) +} + +func (i *AccountSuppressionAttributes) ToAccountSuppressionAttributesOutputWithContext(ctx context.Context) AccountSuppressionAttributesOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountSuppressionAttributesOutput) +} + +// AccountSuppressionAttributesArrayInput is an input type that accepts AccountSuppressionAttributesArray and AccountSuppressionAttributesArrayOutput values. +// You can construct a concrete instance of `AccountSuppressionAttributesArrayInput` via: +// +// AccountSuppressionAttributesArray{ AccountSuppressionAttributesArgs{...} } +type AccountSuppressionAttributesArrayInput interface { + pulumi.Input + + ToAccountSuppressionAttributesArrayOutput() AccountSuppressionAttributesArrayOutput + ToAccountSuppressionAttributesArrayOutputWithContext(context.Context) AccountSuppressionAttributesArrayOutput +} + +type AccountSuppressionAttributesArray []AccountSuppressionAttributesInput + +func (AccountSuppressionAttributesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AccountSuppressionAttributes)(nil)).Elem() +} + +func (i AccountSuppressionAttributesArray) ToAccountSuppressionAttributesArrayOutput() AccountSuppressionAttributesArrayOutput { + return i.ToAccountSuppressionAttributesArrayOutputWithContext(context.Background()) +} + +func (i AccountSuppressionAttributesArray) ToAccountSuppressionAttributesArrayOutputWithContext(ctx context.Context) AccountSuppressionAttributesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountSuppressionAttributesArrayOutput) +} + +// AccountSuppressionAttributesMapInput is an input type that accepts AccountSuppressionAttributesMap and AccountSuppressionAttributesMapOutput values. +// You can construct a concrete instance of `AccountSuppressionAttributesMapInput` via: +// +// AccountSuppressionAttributesMap{ "key": AccountSuppressionAttributesArgs{...} } +type AccountSuppressionAttributesMapInput interface { + pulumi.Input + + ToAccountSuppressionAttributesMapOutput() AccountSuppressionAttributesMapOutput + ToAccountSuppressionAttributesMapOutputWithContext(context.Context) AccountSuppressionAttributesMapOutput +} + +type AccountSuppressionAttributesMap map[string]AccountSuppressionAttributesInput + +func (AccountSuppressionAttributesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AccountSuppressionAttributes)(nil)).Elem() +} + +func (i AccountSuppressionAttributesMap) ToAccountSuppressionAttributesMapOutput() AccountSuppressionAttributesMapOutput { + return i.ToAccountSuppressionAttributesMapOutputWithContext(context.Background()) +} + +func (i AccountSuppressionAttributesMap) ToAccountSuppressionAttributesMapOutputWithContext(ctx context.Context) AccountSuppressionAttributesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountSuppressionAttributesMapOutput) +} + +type AccountSuppressionAttributesOutput struct{ *pulumi.OutputState } + +func (AccountSuppressionAttributesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AccountSuppressionAttributes)(nil)).Elem() +} + +func (o AccountSuppressionAttributesOutput) ToAccountSuppressionAttributesOutput() AccountSuppressionAttributesOutput { + return o +} + +func (o AccountSuppressionAttributesOutput) ToAccountSuppressionAttributesOutputWithContext(ctx context.Context) AccountSuppressionAttributesOutput { + return o +} + +// A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. +func (o AccountSuppressionAttributesOutput) SuppressedReasons() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AccountSuppressionAttributes) pulumi.StringArrayOutput { return v.SuppressedReasons }).(pulumi.StringArrayOutput) +} + +type AccountSuppressionAttributesArrayOutput struct{ *pulumi.OutputState } + +func (AccountSuppressionAttributesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AccountSuppressionAttributes)(nil)).Elem() +} + +func (o AccountSuppressionAttributesArrayOutput) ToAccountSuppressionAttributesArrayOutput() AccountSuppressionAttributesArrayOutput { + return o +} + +func (o AccountSuppressionAttributesArrayOutput) ToAccountSuppressionAttributesArrayOutputWithContext(ctx context.Context) AccountSuppressionAttributesArrayOutput { + return o +} + +func (o AccountSuppressionAttributesArrayOutput) Index(i pulumi.IntInput) AccountSuppressionAttributesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AccountSuppressionAttributes { + return vs[0].([]*AccountSuppressionAttributes)[vs[1].(int)] + }).(AccountSuppressionAttributesOutput) +} + +type AccountSuppressionAttributesMapOutput struct{ *pulumi.OutputState } + +func (AccountSuppressionAttributesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AccountSuppressionAttributes)(nil)).Elem() +} + +func (o AccountSuppressionAttributesMapOutput) ToAccountSuppressionAttributesMapOutput() AccountSuppressionAttributesMapOutput { + return o +} + +func (o AccountSuppressionAttributesMapOutput) ToAccountSuppressionAttributesMapOutputWithContext(ctx context.Context) AccountSuppressionAttributesMapOutput { + return o +} + +func (o AccountSuppressionAttributesMapOutput) MapIndex(k pulumi.StringInput) AccountSuppressionAttributesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AccountSuppressionAttributes { + return vs[0].(map[string]*AccountSuppressionAttributes)[vs[1].(string)] + }).(AccountSuppressionAttributesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AccountSuppressionAttributesInput)(nil)).Elem(), &AccountSuppressionAttributes{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountSuppressionAttributesArrayInput)(nil)).Elem(), AccountSuppressionAttributesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountSuppressionAttributesMapInput)(nil)).Elem(), AccountSuppressionAttributesMap{}) + pulumi.RegisterOutputType(AccountSuppressionAttributesOutput{}) + pulumi.RegisterOutputType(AccountSuppressionAttributesArrayOutput{}) + pulumi.RegisterOutputType(AccountSuppressionAttributesMapOutput{}) +} diff --git a/sdk/go/aws/sesv2/init.go b/sdk/go/aws/sesv2/init.go index 94eeda083d3..a6e0a078a27 100644 --- a/sdk/go/aws/sesv2/init.go +++ b/sdk/go/aws/sesv2/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes": + r = &AccountSuppressionAttributes{} case "aws:sesv2/accountVdmAttributes:AccountVdmAttributes": r = &AccountVdmAttributes{} case "aws:sesv2/configurationSet:ConfigurationSet": @@ -54,6 +56,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "sesv2/accountSuppressionAttributes", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "sesv2/accountVdmAttributes", diff --git a/sdk/go/aws/synthetics/getRuntimeVersion.go b/sdk/go/aws/synthetics/getRuntimeVersion.go new file mode 100644 index 00000000000..d02cc88924f --- /dev/null +++ b/sdk/go/aws/synthetics/getRuntimeVersion.go @@ -0,0 +1,199 @@ +// 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 synthetics + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS CloudWatch Synthetics Runtime Version. +// +// ## Example Usage +// +// ### Latest Runtime Version +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := synthetics.GetRuntimeVersion(ctx, &synthetics.GetRuntimeVersionArgs{ +// Prefix: "syn-nodejs-puppeteer", +// Latest: pulumi.BoolRef(true), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Specific Runtime Version +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := synthetics.GetRuntimeVersion(ctx, &synthetics.GetRuntimeVersionArgs{ +// Prefix: "syn-nodejs-puppeteer", +// Version: pulumi.StringRef("9.0"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetRuntimeVersion(ctx *pulumi.Context, args *GetRuntimeVersionArgs, opts ...pulumi.InvokeOption) (*GetRuntimeVersionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRuntimeVersionResult + err := ctx.Invoke("aws:synthetics/getRuntimeVersion:getRuntimeVersion", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getRuntimeVersion. +type GetRuntimeVersionArgs struct { + // Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + Latest *bool `pulumi:"latest"` + // Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + // + // The following arguments are optional: + Prefix string `pulumi:"prefix"` + // Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + Version *string `pulumi:"version"` +} + +// A collection of values returned by getRuntimeVersion. +type GetRuntimeVersionResult struct { + // Date of deprecation if the runtme version is deprecated. + DeprecationDate string `pulumi:"deprecationDate"` + // Description of the runtime version, created by Amazon. + Description string `pulumi:"description"` + // Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + Id string `pulumi:"id"` + Latest *bool `pulumi:"latest"` + Prefix string `pulumi:"prefix"` + // Date that the runtime version was released. + ReleaseDate string `pulumi:"releaseDate"` + Version *string `pulumi:"version"` + // Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + VersionName string `pulumi:"versionName"` +} + +func GetRuntimeVersionOutput(ctx *pulumi.Context, args GetRuntimeVersionOutputArgs, opts ...pulumi.InvokeOption) GetRuntimeVersionResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetRuntimeVersionResultOutput, error) { + args := v.(GetRuntimeVersionArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRuntimeVersionResult + secret, err := ctx.InvokePackageRaw("aws:synthetics/getRuntimeVersion:getRuntimeVersion", args, &rv, "", opts...) + if err != nil { + return GetRuntimeVersionResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(GetRuntimeVersionResultOutput) + if secret { + return pulumi.ToSecret(output).(GetRuntimeVersionResultOutput), nil + } + return output, nil + }).(GetRuntimeVersionResultOutput) +} + +// A collection of arguments for invoking getRuntimeVersion. +type GetRuntimeVersionOutputArgs struct { + // Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + Latest pulumi.BoolPtrInput `pulumi:"latest"` + // Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + // + // The following arguments are optional: + Prefix pulumi.StringInput `pulumi:"prefix"` + // Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (GetRuntimeVersionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuntimeVersionArgs)(nil)).Elem() +} + +// A collection of values returned by getRuntimeVersion. +type GetRuntimeVersionResultOutput struct{ *pulumi.OutputState } + +func (GetRuntimeVersionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuntimeVersionResult)(nil)).Elem() +} + +func (o GetRuntimeVersionResultOutput) ToGetRuntimeVersionResultOutput() GetRuntimeVersionResultOutput { + return o +} + +func (o GetRuntimeVersionResultOutput) ToGetRuntimeVersionResultOutputWithContext(ctx context.Context) GetRuntimeVersionResultOutput { + return o +} + +// Date of deprecation if the runtme version is deprecated. +func (o GetRuntimeVersionResultOutput) DeprecationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionResult) string { return v.DeprecationDate }).(pulumi.StringOutput) +} + +// Description of the runtime version, created by Amazon. +func (o GetRuntimeVersionResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionResult) string { return v.Description }).(pulumi.StringOutput) +} + +// Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). +func (o GetRuntimeVersionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetRuntimeVersionResultOutput) Latest() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetRuntimeVersionResult) *bool { return v.Latest }).(pulumi.BoolPtrOutput) +} + +func (o GetRuntimeVersionResultOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionResult) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Date that the runtime version was released. +func (o GetRuntimeVersionResultOutput) ReleaseDate() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionResult) string { return v.ReleaseDate }).(pulumi.StringOutput) +} + +func (o GetRuntimeVersionResultOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRuntimeVersionResult) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +// Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). +func (o GetRuntimeVersionResultOutput) VersionName() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionResult) string { return v.VersionName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetRuntimeVersionResultOutput{}) +} diff --git a/sdk/go/aws/synthetics/getRuntimeVersions.go b/sdk/go/aws/synthetics/getRuntimeVersions.go new file mode 100644 index 00000000000..cbdaaa77124 --- /dev/null +++ b/sdk/go/aws/synthetics/getRuntimeVersions.go @@ -0,0 +1,121 @@ +// 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 synthetics + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS CloudWatch Synthetics Runtime Versions. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/synthetics" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := synthetics.GetRuntimeVersions(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetRuntimeVersions(ctx *pulumi.Context, args *GetRuntimeVersionsArgs, opts ...pulumi.InvokeOption) (*GetRuntimeVersionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRuntimeVersionsResult + err := ctx.Invoke("aws:synthetics/getRuntimeVersions:getRuntimeVersions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getRuntimeVersions. +type GetRuntimeVersionsArgs struct { + // List of runtime versions. See `runtimeVersions` attribute reference. + RuntimeVersions []GetRuntimeVersionsRuntimeVersion `pulumi:"runtimeVersions"` +} + +// A collection of values returned by getRuntimeVersions. +type GetRuntimeVersionsResult struct { + // Name of the AWS region from which runtime versions are fetched. + Id string `pulumi:"id"` + // List of runtime versions. See `runtimeVersions` attribute reference. + RuntimeVersions []GetRuntimeVersionsRuntimeVersion `pulumi:"runtimeVersions"` +} + +func GetRuntimeVersionsOutput(ctx *pulumi.Context, args GetRuntimeVersionsOutputArgs, opts ...pulumi.InvokeOption) GetRuntimeVersionsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetRuntimeVersionsResultOutput, error) { + args := v.(GetRuntimeVersionsArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRuntimeVersionsResult + secret, err := ctx.InvokePackageRaw("aws:synthetics/getRuntimeVersions:getRuntimeVersions", args, &rv, "", opts...) + if err != nil { + return GetRuntimeVersionsResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(GetRuntimeVersionsResultOutput) + if secret { + return pulumi.ToSecret(output).(GetRuntimeVersionsResultOutput), nil + } + return output, nil + }).(GetRuntimeVersionsResultOutput) +} + +// A collection of arguments for invoking getRuntimeVersions. +type GetRuntimeVersionsOutputArgs struct { + // List of runtime versions. See `runtimeVersions` attribute reference. + RuntimeVersions GetRuntimeVersionsRuntimeVersionArrayInput `pulumi:"runtimeVersions"` +} + +func (GetRuntimeVersionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuntimeVersionsArgs)(nil)).Elem() +} + +// A collection of values returned by getRuntimeVersions. +type GetRuntimeVersionsResultOutput struct{ *pulumi.OutputState } + +func (GetRuntimeVersionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuntimeVersionsResult)(nil)).Elem() +} + +func (o GetRuntimeVersionsResultOutput) ToGetRuntimeVersionsResultOutput() GetRuntimeVersionsResultOutput { + return o +} + +func (o GetRuntimeVersionsResultOutput) ToGetRuntimeVersionsResultOutputWithContext(ctx context.Context) GetRuntimeVersionsResultOutput { + return o +} + +// Name of the AWS region from which runtime versions are fetched. +func (o GetRuntimeVersionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// List of runtime versions. See `runtimeVersions` attribute reference. +func (o GetRuntimeVersionsResultOutput) RuntimeVersions() GetRuntimeVersionsRuntimeVersionArrayOutput { + return o.ApplyT(func(v GetRuntimeVersionsResult) []GetRuntimeVersionsRuntimeVersion { return v.RuntimeVersions }).(GetRuntimeVersionsRuntimeVersionArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetRuntimeVersionsResultOutput{}) +} diff --git a/sdk/go/aws/synthetics/pulumiTypes.go b/sdk/go/aws/synthetics/pulumiTypes.go index e8714eb4c3a..69d72fafbc9 100644 --- a/sdk/go/aws/synthetics/pulumiTypes.go +++ b/sdk/go/aws/synthetics/pulumiTypes.go @@ -955,6 +955,133 @@ func (o CanaryVpcConfigPtrOutput) VpcId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type GetRuntimeVersionsRuntimeVersion struct { + // Date of deprecation if the runtme version is deprecated. + DeprecationDate string `pulumi:"deprecationDate"` + // Description of the runtime version, created by Amazon. + Description string `pulumi:"description"` + // Date that the runtime version was released. + ReleaseDate string `pulumi:"releaseDate"` + // Name of the runtime version. + // For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + VersionName string `pulumi:"versionName"` +} + +// GetRuntimeVersionsRuntimeVersionInput is an input type that accepts GetRuntimeVersionsRuntimeVersionArgs and GetRuntimeVersionsRuntimeVersionOutput values. +// You can construct a concrete instance of `GetRuntimeVersionsRuntimeVersionInput` via: +// +// GetRuntimeVersionsRuntimeVersionArgs{...} +type GetRuntimeVersionsRuntimeVersionInput interface { + pulumi.Input + + ToGetRuntimeVersionsRuntimeVersionOutput() GetRuntimeVersionsRuntimeVersionOutput + ToGetRuntimeVersionsRuntimeVersionOutputWithContext(context.Context) GetRuntimeVersionsRuntimeVersionOutput +} + +type GetRuntimeVersionsRuntimeVersionArgs struct { + // Date of deprecation if the runtme version is deprecated. + DeprecationDate pulumi.StringInput `pulumi:"deprecationDate"` + // Description of the runtime version, created by Amazon. + Description pulumi.StringInput `pulumi:"description"` + // Date that the runtime version was released. + ReleaseDate pulumi.StringInput `pulumi:"releaseDate"` + // Name of the runtime version. + // For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + VersionName pulumi.StringInput `pulumi:"versionName"` +} + +func (GetRuntimeVersionsRuntimeVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuntimeVersionsRuntimeVersion)(nil)).Elem() +} + +func (i GetRuntimeVersionsRuntimeVersionArgs) ToGetRuntimeVersionsRuntimeVersionOutput() GetRuntimeVersionsRuntimeVersionOutput { + return i.ToGetRuntimeVersionsRuntimeVersionOutputWithContext(context.Background()) +} + +func (i GetRuntimeVersionsRuntimeVersionArgs) ToGetRuntimeVersionsRuntimeVersionOutputWithContext(ctx context.Context) GetRuntimeVersionsRuntimeVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRuntimeVersionsRuntimeVersionOutput) +} + +// GetRuntimeVersionsRuntimeVersionArrayInput is an input type that accepts GetRuntimeVersionsRuntimeVersionArray and GetRuntimeVersionsRuntimeVersionArrayOutput values. +// You can construct a concrete instance of `GetRuntimeVersionsRuntimeVersionArrayInput` via: +// +// GetRuntimeVersionsRuntimeVersionArray{ GetRuntimeVersionsRuntimeVersionArgs{...} } +type GetRuntimeVersionsRuntimeVersionArrayInput interface { + pulumi.Input + + ToGetRuntimeVersionsRuntimeVersionArrayOutput() GetRuntimeVersionsRuntimeVersionArrayOutput + ToGetRuntimeVersionsRuntimeVersionArrayOutputWithContext(context.Context) GetRuntimeVersionsRuntimeVersionArrayOutput +} + +type GetRuntimeVersionsRuntimeVersionArray []GetRuntimeVersionsRuntimeVersionInput + +func (GetRuntimeVersionsRuntimeVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRuntimeVersionsRuntimeVersion)(nil)).Elem() +} + +func (i GetRuntimeVersionsRuntimeVersionArray) ToGetRuntimeVersionsRuntimeVersionArrayOutput() GetRuntimeVersionsRuntimeVersionArrayOutput { + return i.ToGetRuntimeVersionsRuntimeVersionArrayOutputWithContext(context.Background()) +} + +func (i GetRuntimeVersionsRuntimeVersionArray) ToGetRuntimeVersionsRuntimeVersionArrayOutputWithContext(ctx context.Context) GetRuntimeVersionsRuntimeVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRuntimeVersionsRuntimeVersionArrayOutput) +} + +type GetRuntimeVersionsRuntimeVersionOutput struct{ *pulumi.OutputState } + +func (GetRuntimeVersionsRuntimeVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRuntimeVersionsRuntimeVersion)(nil)).Elem() +} + +func (o GetRuntimeVersionsRuntimeVersionOutput) ToGetRuntimeVersionsRuntimeVersionOutput() GetRuntimeVersionsRuntimeVersionOutput { + return o +} + +func (o GetRuntimeVersionsRuntimeVersionOutput) ToGetRuntimeVersionsRuntimeVersionOutputWithContext(ctx context.Context) GetRuntimeVersionsRuntimeVersionOutput { + return o +} + +// Date of deprecation if the runtme version is deprecated. +func (o GetRuntimeVersionsRuntimeVersionOutput) DeprecationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionsRuntimeVersion) string { return v.DeprecationDate }).(pulumi.StringOutput) +} + +// Description of the runtime version, created by Amazon. +func (o GetRuntimeVersionsRuntimeVersionOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionsRuntimeVersion) string { return v.Description }).(pulumi.StringOutput) +} + +// Date that the runtime version was released. +func (o GetRuntimeVersionsRuntimeVersionOutput) ReleaseDate() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionsRuntimeVersion) string { return v.ReleaseDate }).(pulumi.StringOutput) +} + +// Name of the runtime version. +// For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). +func (o GetRuntimeVersionsRuntimeVersionOutput) VersionName() pulumi.StringOutput { + return o.ApplyT(func(v GetRuntimeVersionsRuntimeVersion) string { return v.VersionName }).(pulumi.StringOutput) +} + +type GetRuntimeVersionsRuntimeVersionArrayOutput struct{ *pulumi.OutputState } + +func (GetRuntimeVersionsRuntimeVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRuntimeVersionsRuntimeVersion)(nil)).Elem() +} + +func (o GetRuntimeVersionsRuntimeVersionArrayOutput) ToGetRuntimeVersionsRuntimeVersionArrayOutput() GetRuntimeVersionsRuntimeVersionArrayOutput { + return o +} + +func (o GetRuntimeVersionsRuntimeVersionArrayOutput) ToGetRuntimeVersionsRuntimeVersionArrayOutputWithContext(ctx context.Context) GetRuntimeVersionsRuntimeVersionArrayOutput { + return o +} + +func (o GetRuntimeVersionsRuntimeVersionArrayOutput) Index(i pulumi.IntInput) GetRuntimeVersionsRuntimeVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRuntimeVersionsRuntimeVersion { + return vs[0].([]GetRuntimeVersionsRuntimeVersion)[vs[1].(int)] + }).(GetRuntimeVersionsRuntimeVersionOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*CanaryArtifactConfigInput)(nil)).Elem(), CanaryArtifactConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CanaryArtifactConfigPtrInput)(nil)).Elem(), CanaryArtifactConfigArgs{}) @@ -968,6 +1095,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CanaryTimelineArrayInput)(nil)).Elem(), CanaryTimelineArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CanaryVpcConfigInput)(nil)).Elem(), CanaryVpcConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CanaryVpcConfigPtrInput)(nil)).Elem(), CanaryVpcConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRuntimeVersionsRuntimeVersionInput)(nil)).Elem(), GetRuntimeVersionsRuntimeVersionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRuntimeVersionsRuntimeVersionArrayInput)(nil)).Elem(), GetRuntimeVersionsRuntimeVersionArray{}) pulumi.RegisterOutputType(CanaryArtifactConfigOutput{}) pulumi.RegisterOutputType(CanaryArtifactConfigPtrOutput{}) pulumi.RegisterOutputType(CanaryArtifactConfigS3EncryptionOutput{}) @@ -980,4 +1109,6 @@ func init() { pulumi.RegisterOutputType(CanaryTimelineArrayOutput{}) pulumi.RegisterOutputType(CanaryVpcConfigOutput{}) pulumi.RegisterOutputType(CanaryVpcConfigPtrOutput{}) + pulumi.RegisterOutputType(GetRuntimeVersionsRuntimeVersionOutput{}) + pulumi.RegisterOutputType(GetRuntimeVersionsRuntimeVersionArrayOutput{}) } diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java index dcca9abcb2b..3027679218b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java @@ -613,8 +613,6 @@ public Output sslPolicy() { /** * 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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; @@ -622,8 +620,6 @@ public Output sslPolicy() { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ public Output>> tags() { return Codegen.optional(this.tags); diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java index 507f091ce8e..38b839d08ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java @@ -148,8 +148,6 @@ public Optional> sslPolicy() { /** * 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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ @Import(name="tags") private @Nullable Output> tags; @@ -157,8 +155,6 @@ public Optional> sslPolicy() { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -381,8 +377,6 @@ public Builder sslPolicy(String sslPolicy) { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * * @return builder * */ @@ -394,8 +388,6 @@ public Builder tags(@Nullable Output> tags) { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java index 3e7107d11f6..6f9894f5d94 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java @@ -162,8 +162,6 @@ public Optional> sslPolicy() { /** * 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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ @Import(name="tags") private @Nullable Output> tags; @@ -171,8 +169,6 @@ public Optional> sslPolicy() { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -441,8 +437,6 @@ public Builder sslPolicy(String sslPolicy) { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * * @return builder * */ @@ -454,8 +448,6 @@ public Builder tags(@Nullable Output> tags) { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/SourceApiAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/SourceApiAssociation.java new file mode 100644 index 00000000000..4e989666311 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/SourceApiAssociation.java @@ -0,0 +1,239 @@ +// *** 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.appsync; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.appsync.SourceApiAssociationArgs; +import com.pulumi.aws.appsync.inputs.SourceApiAssociationState; +import com.pulumi.aws.appsync.outputs.SourceApiAssociationSourceApiAssociationConfig; +import com.pulumi.aws.appsync.outputs.SourceApiAssociationTimeouts; +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.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS AppSync Source Api Association. + * + * ## 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.appsync.SourceApiAssociation;
+ * import com.pulumi.aws.appsync.SourceApiAssociationArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var test = new SourceApiAssociation("test", SourceApiAssociationArgs.builder()
+ *             .description("My source API Merged")
+ *             .mergedApiId("gzos6bteufdunffzzifiowisoe")
+ *             .sourceApiId("fzzifiowisoegzos6bteufdunf")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: + * + * ```sh + * $ pulumi import aws:appsync/sourceApiAssociation:SourceApiAssociation example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 + * ``` + * + */ +@ResourceType(type="aws:appsync/sourceApiAssociation:SourceApiAssociation") +public class SourceApiAssociation extends com.pulumi.resources.CustomResource { + /** + * ARN of the Source Api Association. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the Source Api Association. + * + */ + public Output arn() { + return this.arn; + } + /** + * ID of the Source Api Association. + * + */ + @Export(name="associationId", refs={String.class}, tree="[0]") + private Output associationId; + + /** + * @return ID of the Source Api Association. + * + */ + public Output associationId() { + return this.associationId; + } + /** + * Description of the source API being merged. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Description of the source API being merged. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + @Export(name="mergedApiArn", refs={String.class}, tree="[0]") + private Output mergedApiArn; + + /** + * @return ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + public Output mergedApiArn() { + return this.mergedApiArn; + } + /** + * ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + @Export(name="mergedApiId", refs={String.class}, tree="[0]") + private Output mergedApiId; + + /** + * @return ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + public Output mergedApiId() { + return this.mergedApiId; + } + /** + * ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + @Export(name="sourceApiArn", refs={String.class}, tree="[0]") + private Output sourceApiArn; + + /** + * @return ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + public Output sourceApiArn() { + return this.sourceApiArn; + } + @Export(name="sourceApiAssociationConfigs", refs={List.class,SourceApiAssociationSourceApiAssociationConfig.class}, tree="[0,1]") + private Output> sourceApiAssociationConfigs; + + public Output> sourceApiAssociationConfigs() { + return this.sourceApiAssociationConfigs; + } + /** + * ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + @Export(name="sourceApiId", refs={String.class}, tree="[0]") + private Output sourceApiId; + + /** + * @return ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + public Output sourceApiId() { + return this.sourceApiId; + } + @Export(name="timeouts", refs={SourceApiAssociationTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public SourceApiAssociation(java.lang.String name) { + this(name, SourceApiAssociationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public SourceApiAssociation(java.lang.String name, @Nullable SourceApiAssociationArgs 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 SourceApiAssociation(java.lang.String name, @Nullable SourceApiAssociationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:appsync/sourceApiAssociation:SourceApiAssociation", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private SourceApiAssociation(java.lang.String name, Output id, @Nullable SourceApiAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:appsync/sourceApiAssociation:SourceApiAssociation", name, state, makeResourceOptions(options, id), false); + } + + private static SourceApiAssociationArgs makeArgs(@Nullable SourceApiAssociationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? SourceApiAssociationArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static SourceApiAssociation get(java.lang.String name, Output id, @Nullable SourceApiAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new SourceApiAssociation(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/SourceApiAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/SourceApiAssociationArgs.java new file mode 100644 index 00000000000..35538c6cfc3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/SourceApiAssociationArgs.java @@ -0,0 +1,272 @@ +// *** 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.appsync; + +import com.pulumi.aws.appsync.inputs.SourceApiAssociationSourceApiAssociationConfigArgs; +import com.pulumi.aws.appsync.inputs.SourceApiAssociationTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SourceApiAssociationArgs extends com.pulumi.resources.ResourceArgs { + + public static final SourceApiAssociationArgs Empty = new SourceApiAssociationArgs(); + + /** + * Description of the source API being merged. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the source API being merged. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + @Import(name="mergedApiArn") + private @Nullable Output mergedApiArn; + + /** + * @return ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + public Optional> mergedApiArn() { + return Optional.ofNullable(this.mergedApiArn); + } + + /** + * ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + @Import(name="mergedApiId") + private @Nullable Output mergedApiId; + + /** + * @return ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + public Optional> mergedApiId() { + return Optional.ofNullable(this.mergedApiId); + } + + /** + * ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + @Import(name="sourceApiArn") + private @Nullable Output sourceApiArn; + + /** + * @return ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + public Optional> sourceApiArn() { + return Optional.ofNullable(this.sourceApiArn); + } + + @Import(name="sourceApiAssociationConfigs") + private @Nullable Output> sourceApiAssociationConfigs; + + public Optional>> sourceApiAssociationConfigs() { + return Optional.ofNullable(this.sourceApiAssociationConfigs); + } + + /** + * ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + @Import(name="sourceApiId") + private @Nullable Output sourceApiId; + + /** + * @return ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + public Optional> sourceApiId() { + return Optional.ofNullable(this.sourceApiId); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private SourceApiAssociationArgs() {} + + private SourceApiAssociationArgs(SourceApiAssociationArgs $) { + this.description = $.description; + this.mergedApiArn = $.mergedApiArn; + this.mergedApiId = $.mergedApiId; + this.sourceApiArn = $.sourceApiArn; + this.sourceApiAssociationConfigs = $.sourceApiAssociationConfigs; + this.sourceApiId = $.sourceApiId; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SourceApiAssociationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SourceApiAssociationArgs $; + + public Builder() { + $ = new SourceApiAssociationArgs(); + } + + public Builder(SourceApiAssociationArgs defaults) { + $ = new SourceApiAssociationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description Description of the source API being merged. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the source API being merged. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param mergedApiArn ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + * @return builder + * + */ + public Builder mergedApiArn(@Nullable Output mergedApiArn) { + $.mergedApiArn = mergedApiArn; + return this; + } + + /** + * @param mergedApiArn ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + * @return builder + * + */ + public Builder mergedApiArn(String mergedApiArn) { + return mergedApiArn(Output.of(mergedApiArn)); + } + + /** + * @param mergedApiId ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + * @return builder + * + */ + public Builder mergedApiId(@Nullable Output mergedApiId) { + $.mergedApiId = mergedApiId; + return this; + } + + /** + * @param mergedApiId ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + * @return builder + * + */ + public Builder mergedApiId(String mergedApiId) { + return mergedApiId(Output.of(mergedApiId)); + } + + /** + * @param sourceApiArn ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + * @return builder + * + */ + public Builder sourceApiArn(@Nullable Output sourceApiArn) { + $.sourceApiArn = sourceApiArn; + return this; + } + + /** + * @param sourceApiArn ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + * @return builder + * + */ + public Builder sourceApiArn(String sourceApiArn) { + return sourceApiArn(Output.of(sourceApiArn)); + } + + public Builder sourceApiAssociationConfigs(@Nullable Output> sourceApiAssociationConfigs) { + $.sourceApiAssociationConfigs = sourceApiAssociationConfigs; + return this; + } + + public Builder sourceApiAssociationConfigs(List sourceApiAssociationConfigs) { + return sourceApiAssociationConfigs(Output.of(sourceApiAssociationConfigs)); + } + + public Builder sourceApiAssociationConfigs(SourceApiAssociationSourceApiAssociationConfigArgs... sourceApiAssociationConfigs) { + return sourceApiAssociationConfigs(List.of(sourceApiAssociationConfigs)); + } + + /** + * @param sourceApiId ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + * @return builder + * + */ + public Builder sourceApiId(@Nullable Output sourceApiId) { + $.sourceApiId = sourceApiId; + return this; + } + + /** + * @param sourceApiId ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + * @return builder + * + */ + public Builder sourceApiId(String sourceApiId) { + return sourceApiId(Output.of(sourceApiId)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(SourceApiAssociationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public SourceApiAssociationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationSourceApiAssociationConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationSourceApiAssociationConfigArgs.java new file mode 100644 index 00000000000..99be32c68c8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationSourceApiAssociationConfigArgs.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.appsync.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 SourceApiAssociationSourceApiAssociationConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final SourceApiAssociationSourceApiAssociationConfigArgs Empty = new SourceApiAssociationSourceApiAssociationConfigArgs(); + + /** + * Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + * + */ + @Import(name="mergeType", required=true) + private Output mergeType; + + /** + * @return Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + * + */ + public Output mergeType() { + return this.mergeType; + } + + private SourceApiAssociationSourceApiAssociationConfigArgs() {} + + private SourceApiAssociationSourceApiAssociationConfigArgs(SourceApiAssociationSourceApiAssociationConfigArgs $) { + this.mergeType = $.mergeType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SourceApiAssociationSourceApiAssociationConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SourceApiAssociationSourceApiAssociationConfigArgs $; + + public Builder() { + $ = new SourceApiAssociationSourceApiAssociationConfigArgs(); + } + + public Builder(SourceApiAssociationSourceApiAssociationConfigArgs defaults) { + $ = new SourceApiAssociationSourceApiAssociationConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param mergeType Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + * + * @return builder + * + */ + public Builder mergeType(Output mergeType) { + $.mergeType = mergeType; + return this; + } + + /** + * @param mergeType Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + * + * @return builder + * + */ + public Builder mergeType(String mergeType) { + return mergeType(Output.of(mergeType)); + } + + public SourceApiAssociationSourceApiAssociationConfigArgs build() { + if ($.mergeType == null) { + throw new MissingRequiredPropertyException("SourceApiAssociationSourceApiAssociationConfigArgs", "mergeType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationState.java new file mode 100644 index 00000000000..95fa82586a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationState.java @@ -0,0 +1,346 @@ +// *** 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.appsync.inputs; + +import com.pulumi.aws.appsync.inputs.SourceApiAssociationSourceApiAssociationConfigArgs; +import com.pulumi.aws.appsync.inputs.SourceApiAssociationTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SourceApiAssociationState extends com.pulumi.resources.ResourceArgs { + + public static final SourceApiAssociationState Empty = new SourceApiAssociationState(); + + /** + * ARN of the Source Api Association. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the Source Api Association. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * ID of the Source Api Association. + * + */ + @Import(name="associationId") + private @Nullable Output associationId; + + /** + * @return ID of the Source Api Association. + * + */ + public Optional> associationId() { + return Optional.ofNullable(this.associationId); + } + + /** + * Description of the source API being merged. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the source API being merged. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + @Import(name="mergedApiArn") + private @Nullable Output mergedApiArn; + + /** + * @return ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + public Optional> mergedApiArn() { + return Optional.ofNullable(this.mergedApiArn); + } + + /** + * ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + @Import(name="mergedApiId") + private @Nullable Output mergedApiId; + + /** + * @return ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + */ + public Optional> mergedApiId() { + return Optional.ofNullable(this.mergedApiId); + } + + /** + * ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + @Import(name="sourceApiArn") + private @Nullable Output sourceApiArn; + + /** + * @return ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + public Optional> sourceApiArn() { + return Optional.ofNullable(this.sourceApiArn); + } + + @Import(name="sourceApiAssociationConfigs") + private @Nullable Output> sourceApiAssociationConfigs; + + public Optional>> sourceApiAssociationConfigs() { + return Optional.ofNullable(this.sourceApiAssociationConfigs); + } + + /** + * ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + @Import(name="sourceApiId") + private @Nullable Output sourceApiId; + + /** + * @return ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + */ + public Optional> sourceApiId() { + return Optional.ofNullable(this.sourceApiId); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private SourceApiAssociationState() {} + + private SourceApiAssociationState(SourceApiAssociationState $) { + this.arn = $.arn; + this.associationId = $.associationId; + this.description = $.description; + this.mergedApiArn = $.mergedApiArn; + this.mergedApiId = $.mergedApiId; + this.sourceApiArn = $.sourceApiArn; + this.sourceApiAssociationConfigs = $.sourceApiAssociationConfigs; + this.sourceApiId = $.sourceApiId; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SourceApiAssociationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SourceApiAssociationState $; + + public Builder() { + $ = new SourceApiAssociationState(); + } + + public Builder(SourceApiAssociationState defaults) { + $ = new SourceApiAssociationState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Source Api Association. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the Source Api Association. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param associationId ID of the Source Api Association. + * + * @return builder + * + */ + public Builder associationId(@Nullable Output associationId) { + $.associationId = associationId; + return this; + } + + /** + * @param associationId ID of the Source Api Association. + * + * @return builder + * + */ + public Builder associationId(String associationId) { + return associationId(Output.of(associationId)); + } + + /** + * @param description Description of the source API being merged. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the source API being merged. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param mergedApiArn ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + * @return builder + * + */ + public Builder mergedApiArn(@Nullable Output mergedApiArn) { + $.mergedApiArn = mergedApiArn; + return this; + } + + /** + * @param mergedApiArn ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + * @return builder + * + */ + public Builder mergedApiArn(String mergedApiArn) { + return mergedApiArn(Output.of(mergedApiArn)); + } + + /** + * @param mergedApiId ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + * @return builder + * + */ + public Builder mergedApiId(@Nullable Output mergedApiId) { + $.mergedApiId = mergedApiId; + return this; + } + + /** + * @param mergedApiId ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + * + * @return builder + * + */ + public Builder mergedApiId(String mergedApiId) { + return mergedApiId(Output.of(mergedApiId)); + } + + /** + * @param sourceApiArn ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + * @return builder + * + */ + public Builder sourceApiArn(@Nullable Output sourceApiArn) { + $.sourceApiArn = sourceApiArn; + return this; + } + + /** + * @param sourceApiArn ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + * @return builder + * + */ + public Builder sourceApiArn(String sourceApiArn) { + return sourceApiArn(Output.of(sourceApiArn)); + } + + public Builder sourceApiAssociationConfigs(@Nullable Output> sourceApiAssociationConfigs) { + $.sourceApiAssociationConfigs = sourceApiAssociationConfigs; + return this; + } + + public Builder sourceApiAssociationConfigs(List sourceApiAssociationConfigs) { + return sourceApiAssociationConfigs(Output.of(sourceApiAssociationConfigs)); + } + + public Builder sourceApiAssociationConfigs(SourceApiAssociationSourceApiAssociationConfigArgs... sourceApiAssociationConfigs) { + return sourceApiAssociationConfigs(List.of(sourceApiAssociationConfigs)); + } + + /** + * @param sourceApiId ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + * @return builder + * + */ + public Builder sourceApiId(@Nullable Output sourceApiId) { + $.sourceApiId = sourceApiId; + return this; + } + + /** + * @param sourceApiId ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + * + * @return builder + * + */ + public Builder sourceApiId(String sourceApiId) { + return sourceApiId(Output.of(sourceApiId)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(SourceApiAssociationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public SourceApiAssociationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationTimeoutsArgs.java new file mode 100644 index 00000000000..37128dfd18c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/inputs/SourceApiAssociationTimeoutsArgs.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.appsync.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 SourceApiAssociationTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final SourceApiAssociationTimeoutsArgs Empty = new SourceApiAssociationTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 SourceApiAssociationTimeoutsArgs() {} + + private SourceApiAssociationTimeoutsArgs(SourceApiAssociationTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SourceApiAssociationTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SourceApiAssociationTimeoutsArgs $; + + public Builder() { + $ = new SourceApiAssociationTimeoutsArgs(); + } + + public Builder(SourceApiAssociationTimeoutsArgs defaults) { + $ = new SourceApiAssociationTimeoutsArgs(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 SourceApiAssociationTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/outputs/SourceApiAssociationSourceApiAssociationConfig.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/outputs/SourceApiAssociationSourceApiAssociationConfig.java new file mode 100644 index 00000000000..acb2ae40349 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/outputs/SourceApiAssociationSourceApiAssociationConfig.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.appsync.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class SourceApiAssociationSourceApiAssociationConfig { + /** + * @return Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + * + */ + private String mergeType; + + private SourceApiAssociationSourceApiAssociationConfig() {} + /** + * @return Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + * + */ + public String mergeType() { + return this.mergeType; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SourceApiAssociationSourceApiAssociationConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String mergeType; + public Builder() {} + public Builder(SourceApiAssociationSourceApiAssociationConfig defaults) { + Objects.requireNonNull(defaults); + this.mergeType = defaults.mergeType; + } + + @CustomType.Setter + public Builder mergeType(String mergeType) { + if (mergeType == null) { + throw new MissingRequiredPropertyException("SourceApiAssociationSourceApiAssociationConfig", "mergeType"); + } + this.mergeType = mergeType; + return this; + } + public SourceApiAssociationSourceApiAssociationConfig build() { + final var _resultValue = new SourceApiAssociationSourceApiAssociationConfig(); + _resultValue.mergeType = mergeType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appsync/outputs/SourceApiAssociationTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/appsync/outputs/SourceApiAssociationTimeouts.java new file mode 100644 index 00000000000..b093ad01bbf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appsync/outputs/SourceApiAssociationTimeouts.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.appsync.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 SourceApiAssociationTimeouts { + /** + * @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 SourceApiAssociationTimeouts() {} + /** + * @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(SourceApiAssociationTimeouts 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(SourceApiAssociationTimeouts 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 SourceApiAssociationTimeouts build() { + final var _resultValue = new SourceApiAssociationTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/RegionSettings.java b/sdk/java/src/main/java/com/pulumi/aws/backup/RegionSettings.java index 6d406d01049..796937e786a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/RegionSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/RegionSettings.java @@ -55,7 +55,11 @@ * Map.entry("Neptune", true), * Map.entry("RDS", true), * Map.entry("Storage Gateway", true), - * Map.entry("VirtualMachine", true) + * Map.entry("VirtualMachine", true), + * Map.entry("CloudFormation", true), + * Map.entry("Redshift", true), + * Map.entry("S3", true), + * Map.entry("SAP HANA on Amazon EC2", true) * )) * .resourceTypeManagementPreference(Map.ofEntries( * Map.entry("DynamoDB", true), diff --git a/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java b/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java index 2b52502beb3..8375ad1b310 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java +++ b/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java @@ -1046,6 +1046,11 @@ public final class Endpoints { * */ private @Nullable String pinpoint; + /** + * @return Use this to override the default service endpoint URL + * + */ + private @Nullable String pinpointsmsvoicev2; /** * @return Use this to override the default service endpoint URL * @@ -2907,6 +2912,13 @@ public Optional pcs() { public Optional pinpoint() { return Optional.ofNullable(this.pinpoint); } + /** + * @return Use this to override the default service endpoint URL + * + */ + public Optional pinpointsmsvoicev2() { + return Optional.ofNullable(this.pinpointsmsvoicev2); + } /** * @return Use this to override the default service endpoint URL * @@ -3698,6 +3710,7 @@ public static final class Builder { private @Nullable String pcaconnectorad; private @Nullable String pcs; private @Nullable String pinpoint; + private @Nullable String pinpointsmsvoicev2; private @Nullable String pipes; private @Nullable String polly; private @Nullable String pricing; @@ -3990,6 +4003,7 @@ public Builder(Endpoints defaults) { this.pcaconnectorad = defaults.pcaconnectorad; this.pcs = defaults.pcs; this.pinpoint = defaults.pinpoint; + this.pinpointsmsvoicev2 = defaults.pinpointsmsvoicev2; this.pipes = defaults.pipes; this.polly = defaults.polly; this.pricing = defaults.pricing; @@ -5317,6 +5331,12 @@ public Builder pinpoint(@Nullable String pinpoint) { return this; } @CustomType.Setter + public Builder pinpointsmsvoicev2(@Nullable String pinpointsmsvoicev2) { + + this.pinpointsmsvoicev2 = pinpointsmsvoicev2; + return this; + } + @CustomType.Setter public Builder pipes(@Nullable String pipes) { this.pipes = pipes; @@ -6017,6 +6037,7 @@ public Endpoints build() { _resultValue.pcaconnectorad = pcaconnectorad; _resultValue.pcs = pcs; _resultValue.pinpoint = pinpoint; + _resultValue.pinpointsmsvoicev2 = pinpointsmsvoicev2; _resultValue.pipes = pipes; _resultValue.polly = polly; _resultValue.pricing = pricing; diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java index 3c5b4a992e5..12135bf822e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java @@ -561,14 +561,20 @@ public Output networkType() { return this.networkType; } /** - * The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * */ @Export(name="nodeType", refs={String.class}, tree="[0]") private Output nodeType; /** - * @return The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * @return The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * */ public Output nodeType() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ClusterArgs.java index e1315ea5d6c..c1dd9f24cf1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ClusterArgs.java @@ -223,14 +223,20 @@ public Optional> networkType() { } /** - * The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * */ @Import(name="nodeType") private @Nullable Output nodeType; /** - * @return The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * @return The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * */ public Optional> nodeType() { @@ -818,7 +824,10 @@ public Builder networkType(String networkType) { } /** - * @param nodeType The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * @param nodeType The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * * @return builder * @@ -829,7 +838,10 @@ public Builder nodeType(@Nullable Output nodeType) { } /** - * @param nodeType The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * @param nodeType The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java index 0e8b9842225..6c06acf9079 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java @@ -8,12 +8,15 @@ import com.pulumi.aws.elasticache.inputs.GetClusterPlainArgs; import com.pulumi.aws.elasticache.inputs.GetReplicationGroupArgs; import com.pulumi.aws.elasticache.inputs.GetReplicationGroupPlainArgs; +import com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs; +import com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingPlainArgs; import com.pulumi.aws.elasticache.inputs.GetSubnetGroupArgs; import com.pulumi.aws.elasticache.inputs.GetSubnetGroupPlainArgs; import com.pulumi.aws.elasticache.inputs.GetUserArgs; import com.pulumi.aws.elasticache.inputs.GetUserPlainArgs; import com.pulumi.aws.elasticache.outputs.GetClusterResult; import com.pulumi.aws.elasticache.outputs.GetReplicationGroupResult; +import com.pulumi.aws.elasticache.outputs.GetReservedCacheNodeOfferingResult; import com.pulumi.aws.elasticache.outputs.GetSubnetGroupResult; import com.pulumi.aws.elasticache.outputs.GetUserResult; import com.pulumi.core.Output; @@ -359,6 +362,186 @@ public static Output getReplicationGroup(GetReplicati public static CompletableFuture getReplicationGroupPlain(GetReplicationGroupPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:elasticache/getReplicationGroup:getReplicationGroup", TypeShape.of(GetReplicationGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a single ElastiCache Reserved Cache Node 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.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs;
+     * 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 = ElasticacheFunctions.getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs.builder()
+     *             .cacheNodeType("cache.t4g.small")
+     *             .duration("P1Y")
+     *             .offeringType("No Upfront")
+     *             .productDescription("redis")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs args) { + return getReservedCacheNodeOffering(args, InvokeOptions.Empty); + } + /** + * Information about a single ElastiCache Reserved Cache Node 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.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs;
+     * 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 = ElasticacheFunctions.getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs.builder()
+     *             .cacheNodeType("cache.t4g.small")
+     *             .duration("P1Y")
+     *             .offeringType("No Upfront")
+     *             .productDescription("redis")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getReservedCacheNodeOfferingPlain(GetReservedCacheNodeOfferingPlainArgs args) { + return getReservedCacheNodeOfferingPlain(args, InvokeOptions.Empty); + } + /** + * Information about a single ElastiCache Reserved Cache Node 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.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs;
+     * 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 = ElasticacheFunctions.getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs.builder()
+     *             .cacheNodeType("cache.t4g.small")
+     *             .duration("P1Y")
+     *             .offeringType("No Upfront")
+     *             .productDescription("redis")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", TypeShape.of(GetReservedCacheNodeOfferingResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about a single ElastiCache Reserved Cache Node 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.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs;
+     * 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 = ElasticacheFunctions.getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs.builder()
+     *             .cacheNodeType("cache.t4g.small")
+     *             .duration("P1Y")
+     *             .offeringType("No Upfront")
+     *             .productDescription("redis")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getReservedCacheNodeOfferingPlain(GetReservedCacheNodeOfferingPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", TypeShape.of(GetReservedCacheNodeOfferingResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a ElastiCache Subnet Group. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java index c7bff72efaa..59fc30a9a46 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java @@ -723,14 +723,20 @@ public Output networkType() { return this.networkType; } /** - * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * */ @Export(name="nodeType", refs={String.class}, tree="[0]") private Output nodeType; /** - * @return Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * @return Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * */ public Output nodeType() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroupArgs.java index 753cc84b629..067dff04ded 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroupArgs.java @@ -325,14 +325,20 @@ public Optional> networkType() { } /** - * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * */ @Import(name="nodeType") private @Nullable Output nodeType; /** - * @return Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * @return Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * */ public Optional> nodeType() { @@ -1148,7 +1154,10 @@ public Builder networkType(String networkType) { } /** - * @param nodeType Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * @param nodeType Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * * @return builder * @@ -1159,7 +1168,10 @@ public Builder nodeType(@Nullable Output nodeType) { } /** - * @param nodeType Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * @param nodeType Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReservedCacheNode.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReservedCacheNode.java new file mode 100644 index 00000000000..eabc8bed010 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReservedCacheNode.java @@ -0,0 +1,305 @@ +// *** 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.elasticache; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.elasticache.ReservedCacheNodeArgs; +import com.pulumi.aws.elasticache.inputs.ReservedCacheNodeState; +import com.pulumi.aws.elasticache.outputs.ReservedCacheNodeRecurringCharge; +import com.pulumi.aws.elasticache.outputs.ReservedCacheNodeTimeouts; +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.Double; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages an ElastiCache Reserved Cache Node. + * + * > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.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 --> + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example: + * + * ```sh + * $ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID + * ``` + * + */ +@ResourceType(type="aws:elasticache/reservedCacheNode:ReservedCacheNode") +public class ReservedCacheNode extends com.pulumi.resources.CustomResource { + /** + * ARN for the reserved cache node. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN for the reserved cache node. + * + */ + public Output arn() { + return this.arn; + } + @Export(name="cacheNodeCount", refs={Double.class}, tree="[0]") + private Output cacheNodeCount; + + public Output cacheNodeCount() { + return this.cacheNodeCount; + } + /** + * Node type for the reserved cache nodes. + * + */ + @Export(name="cacheNodeType", refs={String.class}, tree="[0]") + private Output cacheNodeType; + + /** + * @return Node type for the reserved cache nodes. + * + */ + public Output cacheNodeType() { + return this.cacheNodeType; + } + /** + * Duration of the reservation as an RFC3339 duration. + * + */ + @Export(name="duration", refs={String.class}, tree="[0]") + private Output duration; + + /** + * @return Duration of the reservation as an RFC3339 duration. + * + */ + public Output duration() { + return this.duration; + } + /** + * Fixed price charged for this reserved cache node. + * + */ + @Export(name="fixedPrice", refs={Double.class}, tree="[0]") + private Output fixedPrice; + + /** + * @return Fixed price charged for this reserved cache node. + * + */ + public Output fixedPrice() { + return this.fixedPrice; + } + /** + * Offering type of this reserved cache node. + * + */ + @Export(name="offeringType", refs={String.class}, tree="[0]") + private Output offeringType; + + /** + * @return Offering type of this reserved cache node. + * + */ + public Output offeringType() { + return this.offeringType; + } + /** + * Engine type for the reserved cache node. + * + */ + @Export(name="productDescription", refs={String.class}, tree="[0]") + private Output productDescription; + + /** + * @return Engine type for the reserved cache node. + * + */ + public Output productDescription() { + return this.productDescription; + } + /** + * Recurring price charged to run this reserved cache node. + * + */ + @Export(name="recurringCharges", refs={List.class,ReservedCacheNodeRecurringCharge.class}, tree="[0,1]") + private Output> recurringCharges; + + /** + * @return Recurring price charged to run this reserved cache node. + * + */ + public Output> recurringCharges() { + return this.recurringCharges; + } + /** + * ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + */ + @Export(name="reservedCacheNodesOfferingId", refs={String.class}, tree="[0]") + private Output reservedCacheNodesOfferingId; + + /** + * @return ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + */ + public Output reservedCacheNodesOfferingId() { + return this.reservedCacheNodesOfferingId; + } + /** + * Time the reservation started. + * + */ + @Export(name="startTime", refs={String.class}, tree="[0]") + private Output startTime; + + /** + * @return Time the reservation started. + * + */ + public Output startTime() { + return this.startTime; + } + /** + * State of the reserved cache node. + * + */ + @Export(name="state", refs={String.class}, tree="[0]") + private Output state; + + /** + * @return State of the reserved cache node. + * + */ + public Output state() { + return this.state; + } + /** + * Map of tags to assign to the reservation. 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 reservation. 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; + } + @Export(name="timeouts", refs={ReservedCacheNodeTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + /** + * Hourly price charged for this reserved cache node. + * + */ + @Export(name="usagePrice", refs={Double.class}, tree="[0]") + private Output usagePrice; + + /** + * @return Hourly price charged for this reserved cache node. + * + */ + public Output usagePrice() { + return this.usagePrice; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ReservedCacheNode(java.lang.String name) { + this(name, ReservedCacheNodeArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ReservedCacheNode(java.lang.String name, ReservedCacheNodeArgs 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 ReservedCacheNode(java.lang.String name, ReservedCacheNodeArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:elasticache/reservedCacheNode:ReservedCacheNode", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private ReservedCacheNode(java.lang.String name, Output id, @Nullable ReservedCacheNodeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:elasticache/reservedCacheNode:ReservedCacheNode", name, state, makeResourceOptions(options, id), false); + } + + private static ReservedCacheNodeArgs makeArgs(ReservedCacheNodeArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ReservedCacheNodeArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ReservedCacheNode get(java.lang.String name, Output id, @Nullable ReservedCacheNodeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ReservedCacheNode(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReservedCacheNodeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReservedCacheNodeArgs.java new file mode 100644 index 00000000000..75534e9de53 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReservedCacheNodeArgs.java @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.elasticache; + +import com.pulumi.aws.elasticache.inputs.ReservedCacheNodeTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReservedCacheNodeArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReservedCacheNodeArgs Empty = new ReservedCacheNodeArgs(); + + @Import(name="cacheNodeCount") + private @Nullable Output cacheNodeCount; + + public Optional> cacheNodeCount() { + return Optional.ofNullable(this.cacheNodeCount); + } + + /** + * ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + */ + @Import(name="reservedCacheNodesOfferingId", required=true) + private Output reservedCacheNodesOfferingId; + + /** + * @return ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + */ + public Output reservedCacheNodesOfferingId() { + return this.reservedCacheNodesOfferingId; + } + + /** + * Map of tags to assign to the reservation. 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 reservation. 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 ReservedCacheNodeArgs() {} + + private ReservedCacheNodeArgs(ReservedCacheNodeArgs $) { + this.cacheNodeCount = $.cacheNodeCount; + this.reservedCacheNodesOfferingId = $.reservedCacheNodesOfferingId; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReservedCacheNodeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReservedCacheNodeArgs $; + + public Builder() { + $ = new ReservedCacheNodeArgs(); + } + + public Builder(ReservedCacheNodeArgs defaults) { + $ = new ReservedCacheNodeArgs(Objects.requireNonNull(defaults)); + } + + public Builder cacheNodeCount(@Nullable Output cacheNodeCount) { + $.cacheNodeCount = cacheNodeCount; + return this; + } + + public Builder cacheNodeCount(Double cacheNodeCount) { + return cacheNodeCount(Output.of(cacheNodeCount)); + } + + /** + * @param reservedCacheNodesOfferingId ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder reservedCacheNodesOfferingId(Output reservedCacheNodesOfferingId) { + $.reservedCacheNodesOfferingId = reservedCacheNodesOfferingId; + return this; + } + + /** + * @param reservedCacheNodesOfferingId ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder reservedCacheNodesOfferingId(String reservedCacheNodesOfferingId) { + return reservedCacheNodesOfferingId(Output.of(reservedCacheNodesOfferingId)); + } + + /** + * @param tags Map of tags to assign to the reservation. 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 reservation. 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(ReservedCacheNodeTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public ReservedCacheNodeArgs build() { + if ($.reservedCacheNodesOfferingId == null) { + throw new MissingRequiredPropertyException("ReservedCacheNodeArgs", "reservedCacheNodesOfferingId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ClusterState.java index 91d52ef5df7..96912f4ce72 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ClusterState.java @@ -299,14 +299,20 @@ public Optional> networkType() { } /** - * The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * */ @Import(name="nodeType") private @Nullable Output nodeType; /** - * @return The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * @return The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * */ public Optional> nodeType() { @@ -1038,7 +1044,10 @@ public Builder networkType(String networkType) { } /** - * @param nodeType The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * @param nodeType The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * * @return builder * @@ -1049,7 +1058,10 @@ public Builder nodeType(@Nullable Output nodeType) { } /** - * @param nodeType The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * @param nodeType The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GetReservedCacheNodeOfferingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GetReservedCacheNodeOfferingArgs.java new file mode 100644 index 00000000000..27583f520de --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GetReservedCacheNodeOfferingArgs.java @@ -0,0 +1,233 @@ +// *** 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.elasticache.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 GetReservedCacheNodeOfferingArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReservedCacheNodeOfferingArgs Empty = new GetReservedCacheNodeOfferingArgs(); + + /** + * Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * + */ + @Import(name="cacheNodeType", required=true) + private Output cacheNodeType; + + /** + * @return Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * + */ + public Output cacheNodeType() { + return this.cacheNodeType; + } + + /** + * Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + * + */ + @Import(name="duration", required=true) + private Output duration; + + /** + * @return Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + * + */ + public Output duration() { + return this.duration; + } + + /** + * Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + * + */ + @Import(name="offeringType", required=true) + private Output offeringType; + + /** + * @return Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + * + */ + public Output offeringType() { + return this.offeringType; + } + + /** + * Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + * + */ + @Import(name="productDescription", required=true) + private Output productDescription; + + /** + * @return Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + * + */ + public Output productDescription() { + return this.productDescription; + } + + private GetReservedCacheNodeOfferingArgs() {} + + private GetReservedCacheNodeOfferingArgs(GetReservedCacheNodeOfferingArgs $) { + this.cacheNodeType = $.cacheNodeType; + this.duration = $.duration; + this.offeringType = $.offeringType; + this.productDescription = $.productDescription; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReservedCacheNodeOfferingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReservedCacheNodeOfferingArgs $; + + public Builder() { + $ = new GetReservedCacheNodeOfferingArgs(); + } + + public Builder(GetReservedCacheNodeOfferingArgs defaults) { + $ = new GetReservedCacheNodeOfferingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cacheNodeType Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * + * @return builder + * + */ + public Builder cacheNodeType(Output cacheNodeType) { + $.cacheNodeType = cacheNodeType; + return this; + } + + /** + * @param cacheNodeType Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * + * @return builder + * + */ + public Builder cacheNodeType(String cacheNodeType) { + return cacheNodeType(Output.of(cacheNodeType)); + } + + /** + * @param duration Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + * + * @return builder + * + */ + public Builder duration(Output duration) { + $.duration = duration; + return this; + } + + /** + * @param duration Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + * + * @return builder + * + */ + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + /** + * @param offeringType Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + * + * @return builder + * + */ + public Builder offeringType(Output offeringType) { + $.offeringType = offeringType; + return this; + } + + /** + * @param offeringType Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + * + * @return builder + * + */ + public Builder offeringType(String offeringType) { + return offeringType(Output.of(offeringType)); + } + + /** + * @param productDescription Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + * + * @return builder + * + */ + public Builder productDescription(Output productDescription) { + $.productDescription = productDescription; + return this; + } + + /** + * @param productDescription Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + * + * @return builder + * + */ + public Builder productDescription(String productDescription) { + return productDescription(Output.of(productDescription)); + } + + public GetReservedCacheNodeOfferingArgs build() { + if ($.cacheNodeType == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingArgs", "cacheNodeType"); + } + if ($.duration == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingArgs", "duration"); + } + if ($.offeringType == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingArgs", "offeringType"); + } + if ($.productDescription == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingArgs", "productDescription"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GetReservedCacheNodeOfferingPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GetReservedCacheNodeOfferingPlainArgs.java new file mode 100644 index 00000000000..e522f86842d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GetReservedCacheNodeOfferingPlainArgs.java @@ -0,0 +1,185 @@ +// *** 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.elasticache.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetReservedCacheNodeOfferingPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReservedCacheNodeOfferingPlainArgs Empty = new GetReservedCacheNodeOfferingPlainArgs(); + + /** + * Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * + */ + @Import(name="cacheNodeType", required=true) + private String cacheNodeType; + + /** + * @return Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * + */ + public String cacheNodeType() { + return this.cacheNodeType; + } + + /** + * Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + * + */ + @Import(name="duration", required=true) + private String duration; + + /** + * @return Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + * + */ + public String duration() { + return this.duration; + } + + /** + * Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + * + */ + @Import(name="offeringType", required=true) + private String offeringType; + + /** + * @return Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + * + */ + public String offeringType() { + return this.offeringType; + } + + /** + * Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + * + */ + @Import(name="productDescription", required=true) + private String productDescription; + + /** + * @return Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + * + */ + public String productDescription() { + return this.productDescription; + } + + private GetReservedCacheNodeOfferingPlainArgs() {} + + private GetReservedCacheNodeOfferingPlainArgs(GetReservedCacheNodeOfferingPlainArgs $) { + this.cacheNodeType = $.cacheNodeType; + this.duration = $.duration; + this.offeringType = $.offeringType; + this.productDescription = $.productDescription; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReservedCacheNodeOfferingPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReservedCacheNodeOfferingPlainArgs $; + + public Builder() { + $ = new GetReservedCacheNodeOfferingPlainArgs(); + } + + public Builder(GetReservedCacheNodeOfferingPlainArgs defaults) { + $ = new GetReservedCacheNodeOfferingPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cacheNodeType Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * + * @return builder + * + */ + public Builder cacheNodeType(String cacheNodeType) { + $.cacheNodeType = cacheNodeType; + return this; + } + + /** + * @param duration Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + * + * @return builder + * + */ + public Builder duration(String duration) { + $.duration = duration; + return this; + } + + /** + * @param offeringType Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + * + * @return builder + * + */ + public Builder offeringType(String offeringType) { + $.offeringType = offeringType; + return this; + } + + /** + * @param productDescription Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + * + * @return builder + * + */ + public Builder productDescription(String productDescription) { + $.productDescription = productDescription; + return this; + } + + public GetReservedCacheNodeOfferingPlainArgs build() { + if ($.cacheNodeType == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingPlainArgs", "cacheNodeType"); + } + if ($.duration == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingPlainArgs", "duration"); + } + if ($.offeringType == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingPlainArgs", "offeringType"); + } + if ($.productDescription == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingPlainArgs", "productDescription"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReplicationGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReplicationGroupState.java index dc37ebb819a..3ebf77c66b8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReplicationGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReplicationGroupState.java @@ -399,14 +399,20 @@ public Optional> networkType() { } /** - * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * */ @Import(name="nodeType") private @Nullable Output nodeType; /** - * @return Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * @return Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * */ public Optional> nodeType() { @@ -1398,7 +1404,10 @@ public Builder networkType(String networkType) { } /** - * @param nodeType Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * @param nodeType Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * * @return builder * @@ -1409,7 +1418,10 @@ public Builder nodeType(@Nullable Output nodeType) { } /** - * @param nodeType Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + * @param nodeType Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `global_replication_group_id` is set. + * Cannot be set if `global_replication_group_id` is set. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeRecurringChargeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeRecurringChargeArgs.java new file mode 100644 index 00000000000..93c12d17f9b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeRecurringChargeArgs.java @@ -0,0 +1,86 @@ +// *** 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.elasticache.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; + + +public final class ReservedCacheNodeRecurringChargeArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReservedCacheNodeRecurringChargeArgs Empty = new ReservedCacheNodeRecurringChargeArgs(); + + @Import(name="recurringChargeAmount", required=true) + private Output recurringChargeAmount; + + public Output recurringChargeAmount() { + return this.recurringChargeAmount; + } + + @Import(name="recurringChargeFrequency", required=true) + private Output recurringChargeFrequency; + + public Output recurringChargeFrequency() { + return this.recurringChargeFrequency; + } + + private ReservedCacheNodeRecurringChargeArgs() {} + + private ReservedCacheNodeRecurringChargeArgs(ReservedCacheNodeRecurringChargeArgs $) { + this.recurringChargeAmount = $.recurringChargeAmount; + this.recurringChargeFrequency = $.recurringChargeFrequency; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReservedCacheNodeRecurringChargeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReservedCacheNodeRecurringChargeArgs $; + + public Builder() { + $ = new ReservedCacheNodeRecurringChargeArgs(); + } + + public Builder(ReservedCacheNodeRecurringChargeArgs defaults) { + $ = new ReservedCacheNodeRecurringChargeArgs(Objects.requireNonNull(defaults)); + } + + public Builder recurringChargeAmount(Output recurringChargeAmount) { + $.recurringChargeAmount = recurringChargeAmount; + return this; + } + + public Builder recurringChargeAmount(Double recurringChargeAmount) { + return recurringChargeAmount(Output.of(recurringChargeAmount)); + } + + public Builder recurringChargeFrequency(Output recurringChargeFrequency) { + $.recurringChargeFrequency = recurringChargeFrequency; + return this; + } + + public Builder recurringChargeFrequency(String recurringChargeFrequency) { + return recurringChargeFrequency(Output.of(recurringChargeFrequency)); + } + + public ReservedCacheNodeRecurringChargeArgs build() { + if ($.recurringChargeAmount == null) { + throw new MissingRequiredPropertyException("ReservedCacheNodeRecurringChargeArgs", "recurringChargeAmount"); + } + if ($.recurringChargeFrequency == null) { + throw new MissingRequiredPropertyException("ReservedCacheNodeRecurringChargeArgs", "recurringChargeFrequency"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeState.java new file mode 100644 index 00000000000..4a9085665b9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeState.java @@ -0,0 +1,604 @@ +// *** 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.elasticache.inputs; + +import com.pulumi.aws.elasticache.inputs.ReservedCacheNodeRecurringChargeArgs; +import com.pulumi.aws.elasticache.inputs.ReservedCacheNodeTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +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 ReservedCacheNodeState extends com.pulumi.resources.ResourceArgs { + + public static final ReservedCacheNodeState Empty = new ReservedCacheNodeState(); + + /** + * ARN for the reserved cache node. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN for the reserved cache node. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + @Import(name="cacheNodeCount") + private @Nullable Output cacheNodeCount; + + public Optional> cacheNodeCount() { + return Optional.ofNullable(this.cacheNodeCount); + } + + /** + * Node type for the reserved cache nodes. + * + */ + @Import(name="cacheNodeType") + private @Nullable Output cacheNodeType; + + /** + * @return Node type for the reserved cache nodes. + * + */ + public Optional> cacheNodeType() { + return Optional.ofNullable(this.cacheNodeType); + } + + /** + * Duration of the reservation as an RFC3339 duration. + * + */ + @Import(name="duration") + private @Nullable Output duration; + + /** + * @return Duration of the reservation as an RFC3339 duration. + * + */ + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + /** + * Fixed price charged for this reserved cache node. + * + */ + @Import(name="fixedPrice") + private @Nullable Output fixedPrice; + + /** + * @return Fixed price charged for this reserved cache node. + * + */ + public Optional> fixedPrice() { + return Optional.ofNullable(this.fixedPrice); + } + + /** + * Offering type of this reserved cache node. + * + */ + @Import(name="offeringType") + private @Nullable Output offeringType; + + /** + * @return Offering type of this reserved cache node. + * + */ + public Optional> offeringType() { + return Optional.ofNullable(this.offeringType); + } + + /** + * Engine type for the reserved cache node. + * + */ + @Import(name="productDescription") + private @Nullable Output productDescription; + + /** + * @return Engine type for the reserved cache node. + * + */ + public Optional> productDescription() { + return Optional.ofNullable(this.productDescription); + } + + /** + * Recurring price charged to run this reserved cache node. + * + */ + @Import(name="recurringCharges") + private @Nullable Output> recurringCharges; + + /** + * @return Recurring price charged to run this reserved cache node. + * + */ + public Optional>> recurringCharges() { + return Optional.ofNullable(this.recurringCharges); + } + + /** + * ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + */ + @Import(name="reservedCacheNodesOfferingId") + private @Nullable Output reservedCacheNodesOfferingId; + + /** + * @return ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + */ + public Optional> reservedCacheNodesOfferingId() { + return Optional.ofNullable(this.reservedCacheNodesOfferingId); + } + + /** + * Time the reservation started. + * + */ + @Import(name="startTime") + private @Nullable Output startTime; + + /** + * @return Time the reservation started. + * + */ + public Optional> startTime() { + return Optional.ofNullable(this.startTime); + } + + /** + * State of the reserved cache node. + * + */ + @Import(name="state") + private @Nullable Output state; + + /** + * @return State of the reserved cache node. + * + */ + public Optional> state() { + return Optional.ofNullable(this.state); + } + + /** + * Map of tags to assign to the reservation. 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 reservation. 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); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + /** + * Hourly price charged for this reserved cache node. + * + */ + @Import(name="usagePrice") + private @Nullable Output usagePrice; + + /** + * @return Hourly price charged for this reserved cache node. + * + */ + public Optional> usagePrice() { + return Optional.ofNullable(this.usagePrice); + } + + private ReservedCacheNodeState() {} + + private ReservedCacheNodeState(ReservedCacheNodeState $) { + this.arn = $.arn; + this.cacheNodeCount = $.cacheNodeCount; + this.cacheNodeType = $.cacheNodeType; + this.duration = $.duration; + this.fixedPrice = $.fixedPrice; + this.offeringType = $.offeringType; + this.productDescription = $.productDescription; + this.recurringCharges = $.recurringCharges; + this.reservedCacheNodesOfferingId = $.reservedCacheNodesOfferingId; + this.startTime = $.startTime; + this.state = $.state; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + this.usagePrice = $.usagePrice; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReservedCacheNodeState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReservedCacheNodeState $; + + public Builder() { + $ = new ReservedCacheNodeState(); + } + + public Builder(ReservedCacheNodeState defaults) { + $ = new ReservedCacheNodeState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN for the reserved cache node. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN for the reserved cache node. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + public Builder cacheNodeCount(@Nullable Output cacheNodeCount) { + $.cacheNodeCount = cacheNodeCount; + return this; + } + + public Builder cacheNodeCount(Double cacheNodeCount) { + return cacheNodeCount(Output.of(cacheNodeCount)); + } + + /** + * @param cacheNodeType Node type for the reserved cache nodes. + * + * @return builder + * + */ + public Builder cacheNodeType(@Nullable Output cacheNodeType) { + $.cacheNodeType = cacheNodeType; + return this; + } + + /** + * @param cacheNodeType Node type for the reserved cache nodes. + * + * @return builder + * + */ + public Builder cacheNodeType(String cacheNodeType) { + return cacheNodeType(Output.of(cacheNodeType)); + } + + /** + * @param duration Duration of the reservation as an RFC3339 duration. + * + * @return builder + * + */ + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + /** + * @param duration Duration of the reservation as an RFC3339 duration. + * + * @return builder + * + */ + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + /** + * @param fixedPrice Fixed price charged for this reserved cache node. + * + * @return builder + * + */ + public Builder fixedPrice(@Nullable Output fixedPrice) { + $.fixedPrice = fixedPrice; + return this; + } + + /** + * @param fixedPrice Fixed price charged for this reserved cache node. + * + * @return builder + * + */ + public Builder fixedPrice(Double fixedPrice) { + return fixedPrice(Output.of(fixedPrice)); + } + + /** + * @param offeringType Offering type of this reserved cache node. + * + * @return builder + * + */ + public Builder offeringType(@Nullable Output offeringType) { + $.offeringType = offeringType; + return this; + } + + /** + * @param offeringType Offering type of this reserved cache node. + * + * @return builder + * + */ + public Builder offeringType(String offeringType) { + return offeringType(Output.of(offeringType)); + } + + /** + * @param productDescription Engine type for the reserved cache node. + * + * @return builder + * + */ + public Builder productDescription(@Nullable Output productDescription) { + $.productDescription = productDescription; + return this; + } + + /** + * @param productDescription Engine type for the reserved cache node. + * + * @return builder + * + */ + public Builder productDescription(String productDescription) { + return productDescription(Output.of(productDescription)); + } + + /** + * @param recurringCharges Recurring price charged to run this reserved cache node. + * + * @return builder + * + */ + public Builder recurringCharges(@Nullable Output> recurringCharges) { + $.recurringCharges = recurringCharges; + return this; + } + + /** + * @param recurringCharges Recurring price charged to run this reserved cache node. + * + * @return builder + * + */ + public Builder recurringCharges(List recurringCharges) { + return recurringCharges(Output.of(recurringCharges)); + } + + /** + * @param recurringCharges Recurring price charged to run this reserved cache node. + * + * @return builder + * + */ + public Builder recurringCharges(ReservedCacheNodeRecurringChargeArgs... recurringCharges) { + return recurringCharges(List.of(recurringCharges)); + } + + /** + * @param reservedCacheNodesOfferingId ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder reservedCacheNodesOfferingId(@Nullable Output reservedCacheNodesOfferingId) { + $.reservedCacheNodesOfferingId = reservedCacheNodesOfferingId; + return this; + } + + /** + * @param reservedCacheNodesOfferingId ID of the reserved cache node offering to purchase. + * To determine an `reserved_cache_nodes_offering_id`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder reservedCacheNodesOfferingId(String reservedCacheNodesOfferingId) { + return reservedCacheNodesOfferingId(Output.of(reservedCacheNodesOfferingId)); + } + + /** + * @param startTime Time the reservation started. + * + * @return builder + * + */ + public Builder startTime(@Nullable Output startTime) { + $.startTime = startTime; + return this; + } + + /** + * @param startTime Time the reservation started. + * + * @return builder + * + */ + public Builder startTime(String startTime) { + return startTime(Output.of(startTime)); + } + + /** + * @param state State of the reserved cache node. + * + * @return builder + * + */ + public Builder state(@Nullable Output state) { + $.state = state; + return this; + } + + /** + * @param state State of the reserved cache node. + * + * @return builder + * + */ + public Builder state(String state) { + return state(Output.of(state)); + } + + /** + * @param tags Map of tags to assign to the reservation. 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 reservation. 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 Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(ReservedCacheNodeTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + /** + * @param usagePrice Hourly price charged for this reserved cache node. + * + * @return builder + * + */ + public Builder usagePrice(@Nullable Output usagePrice) { + $.usagePrice = usagePrice; + return this; + } + + /** + * @param usagePrice Hourly price charged for this reserved cache node. + * + * @return builder + * + */ + public Builder usagePrice(Double usagePrice) { + return usagePrice(Output.of(usagePrice)); + } + + public ReservedCacheNodeState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeTimeoutsArgs.java new file mode 100644 index 00000000000..5691596c780 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReservedCacheNodeTimeoutsArgs.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.elasticache.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 ReservedCacheNodeTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReservedCacheNodeTimeoutsArgs Empty = new ReservedCacheNodeTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 ReservedCacheNodeTimeoutsArgs() {} + + private ReservedCacheNodeTimeoutsArgs(ReservedCacheNodeTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReservedCacheNodeTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReservedCacheNodeTimeoutsArgs $; + + public Builder() { + $ = new ReservedCacheNodeTimeoutsArgs(); + } + + public Builder(ReservedCacheNodeTimeoutsArgs defaults) { + $ = new ReservedCacheNodeTimeoutsArgs(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 ReservedCacheNodeTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/GetReservedCacheNodeOfferingResult.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/GetReservedCacheNodeOfferingResult.java new file mode 100644 index 00000000000..d0417ac8ac4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/GetReservedCacheNodeOfferingResult.java @@ -0,0 +1,165 @@ +// *** 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.elasticache.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetReservedCacheNodeOfferingResult { + private String cacheNodeType; + private String duration; + /** + * @return Fixed price charged for this reserved cache node. + * + */ + private Double fixedPrice; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Unique identifier for the reservation. + * + */ + private String offeringId; + private String offeringType; + private String productDescription; + + private GetReservedCacheNodeOfferingResult() {} + public String cacheNodeType() { + return this.cacheNodeType; + } + public String duration() { + return this.duration; + } + /** + * @return Fixed price charged for this reserved cache node. + * + */ + public Double fixedPrice() { + return this.fixedPrice; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Unique identifier for the reservation. + * + */ + public String offeringId() { + return this.offeringId; + } + public String offeringType() { + return this.offeringType; + } + public String productDescription() { + return this.productDescription; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReservedCacheNodeOfferingResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String cacheNodeType; + private String duration; + private Double fixedPrice; + private String id; + private String offeringId; + private String offeringType; + private String productDescription; + public Builder() {} + public Builder(GetReservedCacheNodeOfferingResult defaults) { + Objects.requireNonNull(defaults); + this.cacheNodeType = defaults.cacheNodeType; + this.duration = defaults.duration; + this.fixedPrice = defaults.fixedPrice; + this.id = defaults.id; + this.offeringId = defaults.offeringId; + this.offeringType = defaults.offeringType; + this.productDescription = defaults.productDescription; + } + + @CustomType.Setter + public Builder cacheNodeType(String cacheNodeType) { + if (cacheNodeType == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingResult", "cacheNodeType"); + } + this.cacheNodeType = cacheNodeType; + return this; + } + @CustomType.Setter + public Builder duration(String duration) { + if (duration == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingResult", "duration"); + } + this.duration = duration; + return this; + } + @CustomType.Setter + public Builder fixedPrice(Double fixedPrice) { + if (fixedPrice == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingResult", "fixedPrice"); + } + this.fixedPrice = fixedPrice; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder offeringId(String offeringId) { + if (offeringId == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingResult", "offeringId"); + } + this.offeringId = offeringId; + return this; + } + @CustomType.Setter + public Builder offeringType(String offeringType) { + if (offeringType == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingResult", "offeringType"); + } + this.offeringType = offeringType; + return this; + } + @CustomType.Setter + public Builder productDescription(String productDescription) { + if (productDescription == null) { + throw new MissingRequiredPropertyException("GetReservedCacheNodeOfferingResult", "productDescription"); + } + this.productDescription = productDescription; + return this; + } + public GetReservedCacheNodeOfferingResult build() { + final var _resultValue = new GetReservedCacheNodeOfferingResult(); + _resultValue.cacheNodeType = cacheNodeType; + _resultValue.duration = duration; + _resultValue.fixedPrice = fixedPrice; + _resultValue.id = id; + _resultValue.offeringId = offeringId; + _resultValue.offeringType = offeringType; + _resultValue.productDescription = productDescription; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/ReservedCacheNodeRecurringCharge.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/ReservedCacheNodeRecurringCharge.java new file mode 100644 index 00000000000..ce8770f13ab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/ReservedCacheNodeRecurringCharge.java @@ -0,0 +1,66 @@ +// *** 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.elasticache.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ReservedCacheNodeRecurringCharge { + private Double recurringChargeAmount; + private String recurringChargeFrequency; + + private ReservedCacheNodeRecurringCharge() {} + public Double recurringChargeAmount() { + return this.recurringChargeAmount; + } + public String recurringChargeFrequency() { + return this.recurringChargeFrequency; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReservedCacheNodeRecurringCharge defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Double recurringChargeAmount; + private String recurringChargeFrequency; + public Builder() {} + public Builder(ReservedCacheNodeRecurringCharge defaults) { + Objects.requireNonNull(defaults); + this.recurringChargeAmount = defaults.recurringChargeAmount; + this.recurringChargeFrequency = defaults.recurringChargeFrequency; + } + + @CustomType.Setter + public Builder recurringChargeAmount(Double recurringChargeAmount) { + if (recurringChargeAmount == null) { + throw new MissingRequiredPropertyException("ReservedCacheNodeRecurringCharge", "recurringChargeAmount"); + } + this.recurringChargeAmount = recurringChargeAmount; + return this; + } + @CustomType.Setter + public Builder recurringChargeFrequency(String recurringChargeFrequency) { + if (recurringChargeFrequency == null) { + throw new MissingRequiredPropertyException("ReservedCacheNodeRecurringCharge", "recurringChargeFrequency"); + } + this.recurringChargeFrequency = recurringChargeFrequency; + return this; + } + public ReservedCacheNodeRecurringCharge build() { + final var _resultValue = new ReservedCacheNodeRecurringCharge(); + _resultValue.recurringChargeAmount = recurringChargeAmount; + _resultValue.recurringChargeFrequency = recurringChargeFrequency; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/ReservedCacheNodeTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/ReservedCacheNodeTimeouts.java new file mode 100644 index 00000000000..9ee4269a285 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/outputs/ReservedCacheNodeTimeouts.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.elasticache.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 ReservedCacheNodeTimeouts { + /** + * @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 ReservedCacheNodeTimeouts() {} + /** + * @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(ReservedCacheNodeTimeouts 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(ReservedCacheNodeTimeouts 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 ReservedCacheNodeTimeouts build() { + final var _resultValue = new ReservedCacheNodeTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/Role.java b/sdk/java/src/main/java/com/pulumi/aws/iam/Role.java index 274fab3ec48..defa9db1fce 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/Role.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/Role.java @@ -439,7 +439,11 @@ public Output> forceDetachPolicies() { /** * Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ @Export(name="inlinePolicies", refs={List.class,RoleInlinePolicy.class}, tree="[0,1]") private Output> inlinePolicies; diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/RoleArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/RoleArgs.java index 298822a1217..dac35381f44 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/RoleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/RoleArgs.java @@ -77,14 +77,22 @@ public Optional> forceDetachPolicies() { /** * Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ @Import(name="inlinePolicies") private @Nullable Output> inlinePolicies; /** * @return Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Optional>> inlinePolicies() { return Optional.ofNullable(this.inlinePolicies); } @@ -296,7 +304,11 @@ public Builder forceDetachPolicies(Boolean forceDetachPolicies) { * * @return builder * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(@Nullable Output> inlinePolicies) { $.inlinePolicies = inlinePolicies; return this; @@ -307,7 +319,11 @@ public Builder inlinePolicies(@Nullable Output> inlin * * @return builder * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(List inlinePolicies) { return inlinePolicies(Output.of(inlinePolicies)); } @@ -317,7 +333,11 @@ public Builder inlinePolicies(List inlinePolicies) { * * @return builder * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(RoleInlinePolicyArgs... inlinePolicies) { return inlinePolicies(List.of(inlinePolicies)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePoliciesExclusive.java b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePoliciesExclusive.java new file mode 100644 index 00000000000..7dd324794a6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePoliciesExclusive.java @@ -0,0 +1,113 @@ +// *** 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.iam; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.iam.RolePoliciesExclusiveArgs; +import com.pulumi.aws.iam.inputs.RolePoliciesExclusiveState; +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 javax.annotation.Nullable; + +/** + * ## Import + * + * Using `pulumi import`, import exclusive management of inline policy assignments using the `role_name`. For example: + * + * ```sh + * $ pulumi import aws:iam/rolePoliciesExclusive:RolePoliciesExclusive example MyRole + * ``` + * + */ +@ResourceType(type="aws:iam/rolePoliciesExclusive:RolePoliciesExclusive") +public class RolePoliciesExclusive extends com.pulumi.resources.CustomResource { + /** + * A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + */ + @Export(name="policyNames", refs={List.class,String.class}, tree="[0,1]") + private Output> policyNames; + + /** + * @return A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + */ + public Output> policyNames() { + return this.policyNames; + } + /** + * IAM role name. + * + */ + @Export(name="roleName", refs={String.class}, tree="[0]") + private Output roleName; + + /** + * @return IAM role name. + * + */ + public Output roleName() { + return this.roleName; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public RolePoliciesExclusive(java.lang.String name) { + this(name, RolePoliciesExclusiveArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public RolePoliciesExclusive(java.lang.String name, RolePoliciesExclusiveArgs 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 RolePoliciesExclusive(java.lang.String name, RolePoliciesExclusiveArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:iam/rolePoliciesExclusive:RolePoliciesExclusive", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private RolePoliciesExclusive(java.lang.String name, Output id, @Nullable RolePoliciesExclusiveState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:iam/rolePoliciesExclusive:RolePoliciesExclusive", name, state, makeResourceOptions(options, id), false); + } + + private static RolePoliciesExclusiveArgs makeArgs(RolePoliciesExclusiveArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? RolePoliciesExclusiveArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static RolePoliciesExclusive get(java.lang.String name, Output id, @Nullable RolePoliciesExclusiveState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new RolePoliciesExclusive(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePoliciesExclusiveArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePoliciesExclusiveArgs.java new file mode 100644 index 00000000000..5d0340a422d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePoliciesExclusiveArgs.java @@ -0,0 +1,136 @@ +// *** 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.iam; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class RolePoliciesExclusiveArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolePoliciesExclusiveArgs Empty = new RolePoliciesExclusiveArgs(); + + /** + * A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + */ + @Import(name="policyNames", required=true) + private Output> policyNames; + + /** + * @return A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + */ + public Output> policyNames() { + return this.policyNames; + } + + /** + * IAM role name. + * + */ + @Import(name="roleName", required=true) + private Output roleName; + + /** + * @return IAM role name. + * + */ + public Output roleName() { + return this.roleName; + } + + private RolePoliciesExclusiveArgs() {} + + private RolePoliciesExclusiveArgs(RolePoliciesExclusiveArgs $) { + this.policyNames = $.policyNames; + this.roleName = $.roleName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolePoliciesExclusiveArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolePoliciesExclusiveArgs $; + + public Builder() { + $ = new RolePoliciesExclusiveArgs(); + } + + public Builder(RolePoliciesExclusiveArgs defaults) { + $ = new RolePoliciesExclusiveArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param policyNames A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + * @return builder + * + */ + public Builder policyNames(Output> policyNames) { + $.policyNames = policyNames; + return this; + } + + /** + * @param policyNames A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + * @return builder + * + */ + public Builder policyNames(List policyNames) { + return policyNames(Output.of(policyNames)); + } + + /** + * @param policyNames A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + * @return builder + * + */ + public Builder policyNames(String... policyNames) { + return policyNames(List.of(policyNames)); + } + + /** + * @param roleName IAM role name. + * + * @return builder + * + */ + public Builder roleName(Output roleName) { + $.roleName = roleName; + return this; + } + + /** + * @param roleName IAM role name. + * + * @return builder + * + */ + public Builder roleName(String roleName) { + return roleName(Output.of(roleName)); + } + + public RolePoliciesExclusiveArgs build() { + if ($.policyNames == null) { + throw new MissingRequiredPropertyException("RolePoliciesExclusiveArgs", "policyNames"); + } + if ($.roleName == null) { + throw new MissingRequiredPropertyException("RolePoliciesExclusiveArgs", "roleName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/RolePoliciesExclusiveState.java b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/RolePoliciesExclusiveState.java new file mode 100644 index 00000000000..88cd8b1a7ee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/RolePoliciesExclusiveState.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.iam.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolePoliciesExclusiveState extends com.pulumi.resources.ResourceArgs { + + public static final RolePoliciesExclusiveState Empty = new RolePoliciesExclusiveState(); + + /** + * A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + */ + @Import(name="policyNames") + private @Nullable Output> policyNames; + + /** + * @return A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + */ + public Optional>> policyNames() { + return Optional.ofNullable(this.policyNames); + } + + /** + * IAM role name. + * + */ + @Import(name="roleName") + private @Nullable Output roleName; + + /** + * @return IAM role name. + * + */ + public Optional> roleName() { + return Optional.ofNullable(this.roleName); + } + + private RolePoliciesExclusiveState() {} + + private RolePoliciesExclusiveState(RolePoliciesExclusiveState $) { + this.policyNames = $.policyNames; + this.roleName = $.roleName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolePoliciesExclusiveState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolePoliciesExclusiveState $; + + public Builder() { + $ = new RolePoliciesExclusiveState(); + } + + public Builder(RolePoliciesExclusiveState defaults) { + $ = new RolePoliciesExclusiveState(Objects.requireNonNull(defaults)); + } + + /** + * @param policyNames A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + * @return builder + * + */ + public Builder policyNames(@Nullable Output> policyNames) { + $.policyNames = policyNames; + return this; + } + + /** + * @param policyNames A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + * @return builder + * + */ + public Builder policyNames(List policyNames) { + return policyNames(Output.of(policyNames)); + } + + /** + * @param policyNames A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + * + * @return builder + * + */ + public Builder policyNames(String... policyNames) { + return policyNames(List.of(policyNames)); + } + + /** + * @param roleName IAM role name. + * + * @return builder + * + */ + public Builder roleName(@Nullable Output roleName) { + $.roleName = roleName; + return this; + } + + /** + * @param roleName IAM role name. + * + * @return builder + * + */ + public Builder roleName(String roleName) { + return roleName(Output.of(roleName)); + } + + public RolePoliciesExclusiveState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/RoleState.java b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/RoleState.java index dddabb2e41b..ff7a301c38d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/RoleState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/RoleState.java @@ -106,14 +106,22 @@ public Optional> forceDetachPolicies() { /** * Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ @Import(name="inlinePolicies") private @Nullable Output> inlinePolicies; /** * @return Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Optional>> inlinePolicies() { return Optional.ofNullable(this.inlinePolicies); } @@ -409,7 +417,11 @@ public Builder forceDetachPolicies(Boolean forceDetachPolicies) { * * @return builder * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(@Nullable Output> inlinePolicies) { $.inlinePolicies = inlinePolicies; return this; @@ -420,7 +432,11 @@ public Builder inlinePolicies(@Nullable Output> inlin * * @return builder * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(List inlinePolicies) { return inlinePolicies(Output.of(inlinePolicies)); } @@ -430,7 +446,11 @@ public Builder inlinePolicies(List inlinePolicies) { * * @return builder * + * @deprecated + * Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. + * */ + @Deprecated /* Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(RoleInlinePolicyArgs... inlinePolicies) { return inlinePolicies(List.of(inlinePolicies)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java b/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java index 1dc2ff79c2b..c3b03fc55f6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java @@ -3120,6 +3120,21 @@ public Optional> pinpoint() { return Optional.ofNullable(this.pinpoint); } + /** + * Use this to override the default service endpoint URL + * + */ + @Import(name="pinpointsmsvoicev2") + private @Nullable Output pinpointsmsvoicev2; + + /** + * @return Use this to override the default service endpoint URL + * + */ + public Optional> pinpointsmsvoicev2() { + return Optional.ofNullable(this.pinpointsmsvoicev2); + } + /** * Use this to override the default service endpoint URL * @@ -4560,6 +4575,7 @@ private ProviderEndpointArgs(ProviderEndpointArgs $) { this.pcaconnectorad = $.pcaconnectorad; this.pcs = $.pcs; this.pinpoint = $.pinpoint; + this.pinpointsmsvoicev2 = $.pinpointsmsvoicev2; this.pipes = $.pipes; this.polly = $.polly; this.pricing = $.pricing; @@ -9009,6 +9025,27 @@ public Builder pinpoint(String pinpoint) { return pinpoint(Output.of(pinpoint)); } + /** + * @param pinpointsmsvoicev2 Use this to override the default service endpoint URL + * + * @return builder + * + */ + public Builder pinpointsmsvoicev2(@Nullable Output pinpointsmsvoicev2) { + $.pinpointsmsvoicev2 = pinpointsmsvoicev2; + return this; + } + + /** + * @param pinpointsmsvoicev2 Use this to override the default service endpoint URL + * + * @return builder + * + */ + public Builder pinpointsmsvoicev2(String pinpointsmsvoicev2) { + return pinpointsmsvoicev2(Output.of(pinpointsmsvoicev2)); + } + /** * @param pipes Use this to override the default service endpoint URL * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java index 34c5f45f636..3ba8c102ab0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java @@ -613,8 +613,6 @@ public Output sslPolicy() { /** * 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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; @@ -622,8 +620,6 @@ public Output sslPolicy() { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ public Output>> tags() { return Codegen.optional(this.tags); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java index e0fb36828b1..1bbaade8ad1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java @@ -148,8 +148,6 @@ public Optional> sslPolicy() { /** * 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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ @Import(name="tags") private @Nullable Output> tags; @@ -157,8 +155,6 @@ public Optional> sslPolicy() { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -381,8 +377,6 @@ public Builder sslPolicy(String sslPolicy) { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * * @return builder * */ @@ -394,8 +388,6 @@ public Builder tags(@Nullable Output> tags) { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java index 34be2a9cc0a..3e4f6f4ffb4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java @@ -162,8 +162,6 @@ public Optional> sslPolicy() { /** * 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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ @Import(name="tags") private @Nullable Output> tags; @@ -171,8 +169,6 @@ public Optional> sslPolicy() { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -441,8 +437,6 @@ public Builder sslPolicy(String sslPolicy) { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * * @return builder * */ @@ -454,8 +448,6 @@ public Builder tags(@Nullable Output> tags) { /** * @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. * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBot.java b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBot.java index 3bd84373703..e841c026702 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBot.java @@ -35,9 +35,12 @@ * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; + * import com.pulumi.aws.iam.Role; + * import com.pulumi.aws.iam.RoleArgs; * import com.pulumi.aws.lex.V2modelsBot; * import com.pulumi.aws.lex.V2modelsBotArgs; * import com.pulumi.aws.lex.inputs.V2modelsBotDataPrivacyArgs; + * import static com.pulumi.codegen.internal.Serialization.*; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -51,13 +54,32 @@ * } * * public static void stack(Context ctx) { + * var exampleRole = new Role("exampleRole", RoleArgs.builder() + * .name("example") + * .assumeRolePolicy(serializeJson( + * jsonObject( + * jsonProperty("Version", "2012-10-17"), + * jsonProperty("Statement", jsonArray(jsonObject( + * jsonProperty("Action", "sts:AssumeRole"), + * jsonProperty("Effect", "Allow"), + * jsonProperty("Sid", ""), + * jsonProperty("Principal", jsonObject( + * jsonProperty("Service", "lexv2.amazonaws.com") + * )) + * ))) + * ))) + * .tags(Map.of("created_by", "aws")) + * .build()); + * * var example = new V2modelsBot("example", V2modelsBotArgs.builder() * .name("example") + * .description("Example description") * .dataPrivacies(V2modelsBotDataPrivacyArgs.builder() - * .childDirected("boolean") + * .childDirected(false) * .build()) - * .idleSessionTtlInSeconds(10) - * .roleArn("bot_example_arn") + * .idleSessionTtlInSeconds(60) + * .roleArn(exampleRole.arn()) + * .type("Bot") * .tags(Map.of("foo", "bar")) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersion.java b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersion.java index ad557b6afce..3d7c2464b27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersion.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsBotVersion.java @@ -48,7 +48,7 @@ * * public static void stack(Context ctx) { * var test = new V2modelsBotVersion("test", V2modelsBotVersionArgs.builder() - * .botId(testAwsLexv2models.id()) + * .botId(testAwsLexv2modelsBot.id()) * .localeSpecification(Map.of("en_US", Map.of("sourceBotVersion", "DRAFT"))) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsSlotType.java b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsSlotType.java index d3323613586..744af890a2d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsSlotType.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/V2modelsSlotType.java @@ -90,7 +90,7 @@ * * <!--End PulumiCodeChooser --> * - * ### `value_selection_setting` Usage + * ### value_selection_setting Usage * * <!--Start PulumiCodeChooser --> *
diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsSlotTypeCompositeSlotTypeSettingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsSlotTypeCompositeSlotTypeSettingArgs.java
index 679aba12854..6755a67bbbe 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsSlotTypeCompositeSlotTypeSettingArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsSlotTypeCompositeSlotTypeSettingArgs.java
@@ -6,9 +6,10 @@
 import com.pulumi.aws.lex.inputs.V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs;
 import com.pulumi.core.Output;
 import com.pulumi.core.annotations.Import;
-import com.pulumi.exceptions.MissingRequiredPropertyException;
 import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
+import javax.annotation.Nullable;
 
 
 public final class V2modelsSlotTypeCompositeSlotTypeSettingArgs extends com.pulumi.resources.ResourceArgs {
@@ -20,16 +21,16 @@ public final class V2modelsSlotTypeCompositeSlotTypeSettingArgs extends com.pulu
      * See `sub_slots` argument reference below.
      * 
      */
-    @Import(name="subSlots", required=true)
-    private Output> subSlots;
+    @Import(name="subSlots")
+    private @Nullable Output> subSlots;
 
     /**
      * @return Sub slots in the composite slot.
      * See `sub_slots` argument reference below.
      * 
      */
-    public Output> subSlots() {
-        return this.subSlots;
+    public Optional>> subSlots() {
+        return Optional.ofNullable(this.subSlots);
     }
 
     private V2modelsSlotTypeCompositeSlotTypeSettingArgs() {}
@@ -63,7 +64,7 @@ public Builder(V2modelsSlotTypeCompositeSlotTypeSettingArgs defaults) {
          * @return builder
          * 
          */
-        public Builder subSlots(Output> subSlots) {
+        public Builder subSlots(@Nullable Output> subSlots) {
             $.subSlots = subSlots;
             return this;
         }
@@ -91,9 +92,6 @@ public Builder subSlots(V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs... s
         }
 
         public V2modelsSlotTypeCompositeSlotTypeSettingArgs build() {
-            if ($.subSlots == null) {
-                throw new MissingRequiredPropertyException("V2modelsSlotTypeCompositeSlotTypeSettingArgs", "subSlots");
-            }
             return $;
         }
     }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs.java
index 541f7e171ca..a9b5a66dc2c 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/lex/inputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs.java
@@ -29,18 +29,28 @@ public Output name() {
         return this.name;
     }
 
-    @Import(name="subSlotId", required=true)
-    private Output subSlotId;
+    /**
+     * Unique identifier assigned to a slot type.
+     * This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type.
+     * 
+     */
+    @Import(name="slotTypeId", required=true)
+    private Output slotTypeId;
 
-    public Output subSlotId() {
-        return this.subSlotId;
+    /**
+     * @return Unique identifier assigned to a slot type.
+     * This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type.
+     * 
+     */
+    public Output slotTypeId() {
+        return this.slotTypeId;
     }
 
     private V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs() {}
 
     private V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs(V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs $) {
         this.name = $.name;
-        this.subSlotId = $.subSlotId;
+        this.slotTypeId = $.slotTypeId;
     }
 
     public static Builder builder() {
@@ -82,21 +92,35 @@ public Builder name(String name) {
             return name(Output.of(name));
         }
 
-        public Builder subSlotId(Output subSlotId) {
-            $.subSlotId = subSlotId;
+        /**
+         * @param slotTypeId Unique identifier assigned to a slot type.
+         * This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder slotTypeId(Output slotTypeId) {
+            $.slotTypeId = slotTypeId;
             return this;
         }
 
-        public Builder subSlotId(String subSlotId) {
-            return subSlotId(Output.of(subSlotId));
+        /**
+         * @param slotTypeId Unique identifier assigned to a slot type.
+         * This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder slotTypeId(String slotTypeId) {
+            return slotTypeId(Output.of(slotTypeId));
         }
 
         public V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs build() {
             if ($.name == null) {
                 throw new MissingRequiredPropertyException("V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs", "name");
             }
-            if ($.subSlotId == null) {
-                throw new MissingRequiredPropertyException("V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs", "subSlotId");
+            if ($.slotTypeId == null) {
+                throw new MissingRequiredPropertyException("V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs", "slotTypeId");
             }
             return $;
         }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/outputs/V2modelsSlotTypeCompositeSlotTypeSetting.java b/sdk/java/src/main/java/com/pulumi/aws/lex/outputs/V2modelsSlotTypeCompositeSlotTypeSetting.java
index 02706741e5e..8ca826fcfb9 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/lex/outputs/V2modelsSlotTypeCompositeSlotTypeSetting.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/lex/outputs/V2modelsSlotTypeCompositeSlotTypeSetting.java
@@ -5,9 +5,9 @@
 
 import com.pulumi.aws.lex.outputs.V2modelsSlotTypeCompositeSlotTypeSettingSubSlot;
 import com.pulumi.core.annotations.CustomType;
-import com.pulumi.exceptions.MissingRequiredPropertyException;
 import java.util.List;
 import java.util.Objects;
+import javax.annotation.Nullable;
 
 @CustomType
 public final class V2modelsSlotTypeCompositeSlotTypeSetting {
@@ -16,7 +16,7 @@ public final class V2modelsSlotTypeCompositeSlotTypeSetting {
      * See `sub_slots` argument reference below.
      * 
      */
-    private List subSlots;
+    private @Nullable List subSlots;
 
     private V2modelsSlotTypeCompositeSlotTypeSetting() {}
     /**
@@ -25,7 +25,7 @@ private V2modelsSlotTypeCompositeSlotTypeSetting() {}
      * 
      */
     public List subSlots() {
-        return this.subSlots;
+        return this.subSlots == null ? List.of() : this.subSlots;
     }
 
     public static Builder builder() {
@@ -37,7 +37,7 @@ public static Builder builder(V2modelsSlotTypeCompositeSlotTypeSetting defaults)
     }
     @CustomType.Builder
     public static final class Builder {
-        private List subSlots;
+        private @Nullable List subSlots;
         public Builder() {}
         public Builder(V2modelsSlotTypeCompositeSlotTypeSetting defaults) {
     	      Objects.requireNonNull(defaults);
@@ -45,10 +45,8 @@ public Builder(V2modelsSlotTypeCompositeSlotTypeSetting defaults) {
         }
 
         @CustomType.Setter
-        public Builder subSlots(List subSlots) {
-            if (subSlots == null) {
-              throw new MissingRequiredPropertyException("V2modelsSlotTypeCompositeSlotTypeSetting", "subSlots");
-            }
+        public Builder subSlots(@Nullable List subSlots) {
+
             this.subSlots = subSlots;
             return this;
         }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/outputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot.java b/sdk/java/src/main/java/com/pulumi/aws/lex/outputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot.java
index 2e3532cb0d2..46dd572430f 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/lex/outputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/lex/outputs/V2modelsSlotTypeCompositeSlotTypeSettingSubSlot.java
@@ -15,7 +15,12 @@ public final class V2modelsSlotTypeCompositeSlotTypeSettingSubSlot {
      * 
      */
     private String name;
-    private String subSlotId;
+    /**
+     * @return Unique identifier assigned to a slot type.
+     * This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type.
+     * 
+     */
+    private String slotTypeId;
 
     private V2modelsSlotTypeCompositeSlotTypeSettingSubSlot() {}
     /**
@@ -25,8 +30,13 @@ private V2modelsSlotTypeCompositeSlotTypeSettingSubSlot() {}
     public String name() {
         return this.name;
     }
-    public String subSlotId() {
-        return this.subSlotId;
+    /**
+     * @return Unique identifier assigned to a slot type.
+     * This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type.
+     * 
+     */
+    public String slotTypeId() {
+        return this.slotTypeId;
     }
 
     public static Builder builder() {
@@ -39,12 +49,12 @@ public static Builder builder(V2modelsSlotTypeCompositeSlotTypeSettingSubSlot de
     @CustomType.Builder
     public static final class Builder {
         private String name;
-        private String subSlotId;
+        private String slotTypeId;
         public Builder() {}
         public Builder(V2modelsSlotTypeCompositeSlotTypeSettingSubSlot defaults) {
     	      Objects.requireNonNull(defaults);
     	      this.name = defaults.name;
-    	      this.subSlotId = defaults.subSlotId;
+    	      this.slotTypeId = defaults.slotTypeId;
         }
 
         @CustomType.Setter
@@ -56,17 +66,17 @@ public Builder name(String name) {
             return this;
         }
         @CustomType.Setter
-        public Builder subSlotId(String subSlotId) {
-            if (subSlotId == null) {
-              throw new MissingRequiredPropertyException("V2modelsSlotTypeCompositeSlotTypeSettingSubSlot", "subSlotId");
+        public Builder slotTypeId(String slotTypeId) {
+            if (slotTypeId == null) {
+              throw new MissingRequiredPropertyException("V2modelsSlotTypeCompositeSlotTypeSettingSubSlot", "slotTypeId");
             }
-            this.subSlotId = subSlotId;
+            this.slotTypeId = slotTypeId;
             return this;
         }
         public V2modelsSlotTypeCompositeSlotTypeSettingSubSlot build() {
             final var _resultValue = new V2modelsSlotTypeCompositeSlotTypeSettingSubSlot();
             _resultValue.name = name;
-            _resultValue.subSlotId = subSlotId;
+            _resultValue.slotTypeId = slotTypeId;
             return _resultValue;
         }
     }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2OptOutList.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2OptOutList.java
new file mode 100644
index 00000000000..3dce7d94bd3
--- /dev/null
+++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2OptOutList.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.pinpoint;
+
+import com.pulumi.aws.Utilities;
+import com.pulumi.aws.pinpoint.Smsvoicev2OptOutListArgs;
+import com.pulumi.aws.pinpoint.inputs.Smsvoicev2OptOutListState;
+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;
+
+/**
+ * Manages an AWS End User Messaging SMS opt-out list.
+ * 
+ * ## 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.pinpoint.Smsvoicev2OptOutList;
+ * import com.pulumi.aws.pinpoint.Smsvoicev2OptOutListArgs;
+ * 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 Smsvoicev2OptOutList("example", Smsvoicev2OptOutListArgs.builder()
+ *             .name("example-opt-out-list")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import opt-out lists using the `name`. For example: + * + * ```sh + * $ pulumi import aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList example example-opt-out-list + * ``` + * + */ +@ResourceType(type="aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList") +public class Smsvoicev2OptOutList extends com.pulumi.resources.CustomResource { + /** + * ARN of the opt-out list. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the opt-out list. + * + */ + public Output arn() { + return this.arn; + } + /** + * The name of the opt-out list. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name of the opt-out list. + * + */ + public Output name() { + return this.name; + } + /** + * Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + 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; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Smsvoicev2OptOutList(java.lang.String name) { + this(name, Smsvoicev2OptOutListArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Smsvoicev2OptOutList(java.lang.String name, @Nullable Smsvoicev2OptOutListArgs 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 Smsvoicev2OptOutList(java.lang.String name, @Nullable Smsvoicev2OptOutListArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Smsvoicev2OptOutList(java.lang.String name, Output id, @Nullable Smsvoicev2OptOutListState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList", name, state, makeResourceOptions(options, id), false); + } + + private static Smsvoicev2OptOutListArgs makeArgs(@Nullable Smsvoicev2OptOutListArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? Smsvoicev2OptOutListArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Smsvoicev2OptOutList get(java.lang.String name, Output id, @Nullable Smsvoicev2OptOutListState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Smsvoicev2OptOutList(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2OptOutListArgs.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2OptOutListArgs.java new file mode 100644 index 00000000000..8fa0c98b7c5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2OptOutListArgs.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.pinpoint; + +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 Smsvoicev2OptOutListArgs extends com.pulumi.resources.ResourceArgs { + + public static final Smsvoicev2OptOutListArgs Empty = new Smsvoicev2OptOutListArgs(); + + /** + * The name of the opt-out list. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the opt-out list. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private Smsvoicev2OptOutListArgs() {} + + private Smsvoicev2OptOutListArgs(Smsvoicev2OptOutListArgs $) { + this.name = $.name; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(Smsvoicev2OptOutListArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private Smsvoicev2OptOutListArgs $; + + public Builder() { + $ = new Smsvoicev2OptOutListArgs(); + } + + public Builder(Smsvoicev2OptOutListArgs defaults) { + $ = new Smsvoicev2OptOutListArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the opt-out list. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the opt-out list. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Smsvoicev2OptOutListArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2PhoneNumber.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2PhoneNumber.java new file mode 100644 index 00000000000..593b35a3268 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2PhoneNumber.java @@ -0,0 +1,341 @@ +// *** 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.pinpoint; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.pinpoint.Smsvoicev2PhoneNumberArgs; +import com.pulumi.aws.pinpoint.inputs.Smsvoicev2PhoneNumberState; +import com.pulumi.aws.pinpoint.outputs.Smsvoicev2PhoneNumberTimeouts; +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.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages an AWS End User Messaging SMS phone number. + * + * ## 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.pinpoint.Smsvoicev2PhoneNumber;
+ * import com.pulumi.aws.pinpoint.Smsvoicev2PhoneNumberArgs;
+ * 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 Smsvoicev2PhoneNumber("example", Smsvoicev2PhoneNumberArgs.builder()
+ *             .isoCountryCode("US")
+ *             .messageType("TRANSACTIONAL")
+ *             .numberType("TOLL_FREE")
+ *             .numberCapabilities("SMS")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import phone numbers using the `id`. For example: + * + * ```sh + * $ pulumi import aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber example phone-abcdef0123456789abcdef0123456789 + * ``` + * + */ +@ResourceType(type="aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber") +public class Smsvoicev2PhoneNumber extends com.pulumi.resources.CustomResource { + /** + * ARN of the phone number. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the phone number. + * + */ + public Output arn() { + return this.arn; + } + /** + * By default this is set to `false`. When set to true the phone number can’t be deleted. + * + */ + @Export(name="deletionProtectionEnabled", refs={Boolean.class}, tree="[0]") + private Output deletionProtectionEnabled; + + /** + * @return By default this is set to `false`. When set to true the phone number can’t be deleted. + * + */ + public Output deletionProtectionEnabled() { + return this.deletionProtectionEnabled; + } + /** + * The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + */ + @Export(name="isoCountryCode", refs={String.class}, tree="[0]") + private Output isoCountryCode; + + /** + * @return The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + */ + public Output isoCountryCode() { + return this.isoCountryCode; + } + /** + * The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + */ + @Export(name="messageType", refs={String.class}, tree="[0]") + private Output messageType; + + /** + * @return The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + */ + public Output messageType() { + return this.messageType; + } + /** + * The monthly price, in US dollars, to lease the phone number. + * + */ + @Export(name="monthlyLeasingPrice", refs={String.class}, tree="[0]") + private Output monthlyLeasingPrice; + + /** + * @return The monthly price, in US dollars, to lease the phone number. + * + */ + public Output monthlyLeasingPrice() { + return this.monthlyLeasingPrice; + } + /** + * Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + */ + @Export(name="numberCapabilities", refs={List.class,String.class}, tree="[0,1]") + private Output> numberCapabilities; + + /** + * @return Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + */ + public Output> numberCapabilities() { + return this.numberCapabilities; + } + /** + * The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + */ + @Export(name="numberType", refs={String.class}, tree="[0]") + private Output numberType; + + /** + * @return The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + */ + public Output numberType() { + return this.numberType; + } + /** + * The name of the opt-out list to associate with the phone number. + * + */ + @Export(name="optOutListName", refs={String.class}, tree="[0]") + private Output optOutListName; + + /** + * @return The name of the opt-out list to associate with the phone number. + * + */ + public Output optOutListName() { + return this.optOutListName; + } + /** + * The new phone number that was requested. + * + */ + @Export(name="phoneNumber", refs={String.class}, tree="[0]") + private Output phoneNumber; + + /** + * @return The new phone number that was requested. + * + */ + public Output phoneNumber() { + return this.phoneNumber; + } + /** + * Use this field to attach your phone number for an external registration process. + * + */ + @Export(name="registrationId", refs={String.class}, tree="[0]") + private Output registrationId; + + /** + * @return Use this field to attach your phone number for an external registration process. + * + */ + public Output> registrationId() { + return Codegen.optional(this.registrationId); + } + /** + * When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + */ + @Export(name="selfManagedOptOutsEnabled", refs={Boolean.class}, tree="[0]") + private Output selfManagedOptOutsEnabled; + + /** + * @return When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + */ + public Output selfManagedOptOutsEnabled() { + return this.selfManagedOptOutsEnabled; + } + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + @Export(name="timeouts", refs={Smsvoicev2PhoneNumberTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + /** + * The Amazon Resource Name (ARN) of the two way channel. + * + */ + @Export(name="twoWayChannelArn", refs={String.class}, tree="[0]") + private Output twoWayChannelArn; + + /** + * @return The Amazon Resource Name (ARN) of the two way channel. + * + */ + public Output> twoWayChannelArn() { + return Codegen.optional(this.twoWayChannelArn); + } + /** + * By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + */ + @Export(name="twoWayChannelEnabled", refs={Boolean.class}, tree="[0]") + private Output twoWayChannelEnabled; + + /** + * @return By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + */ + public Output twoWayChannelEnabled() { + return this.twoWayChannelEnabled; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Smsvoicev2PhoneNumber(java.lang.String name) { + this(name, Smsvoicev2PhoneNumberArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Smsvoicev2PhoneNumber(java.lang.String name, Smsvoicev2PhoneNumberArgs 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 Smsvoicev2PhoneNumber(java.lang.String name, Smsvoicev2PhoneNumberArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Smsvoicev2PhoneNumber(java.lang.String name, Output id, @Nullable Smsvoicev2PhoneNumberState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber", name, state, makeResourceOptions(options, id), false); + } + + private static Smsvoicev2PhoneNumberArgs makeArgs(Smsvoicev2PhoneNumberArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? Smsvoicev2PhoneNumberArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Smsvoicev2PhoneNumber get(java.lang.String name, Output id, @Nullable Smsvoicev2PhoneNumberState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Smsvoicev2PhoneNumber(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2PhoneNumberArgs.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2PhoneNumberArgs.java new file mode 100644 index 00000000000..2a7fafdcfac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/Smsvoicev2PhoneNumberArgs.java @@ -0,0 +1,477 @@ +// *** 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.pinpoint; + +import com.pulumi.aws.pinpoint.inputs.Smsvoicev2PhoneNumberTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +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 Smsvoicev2PhoneNumberArgs extends com.pulumi.resources.ResourceArgs { + + public static final Smsvoicev2PhoneNumberArgs Empty = new Smsvoicev2PhoneNumberArgs(); + + /** + * By default this is set to `false`. When set to true the phone number can’t be deleted. + * + */ + @Import(name="deletionProtectionEnabled") + private @Nullable Output deletionProtectionEnabled; + + /** + * @return By default this is set to `false`. When set to true the phone number can’t be deleted. + * + */ + public Optional> deletionProtectionEnabled() { + return Optional.ofNullable(this.deletionProtectionEnabled); + } + + /** + * The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + */ + @Import(name="isoCountryCode", required=true) + private Output isoCountryCode; + + /** + * @return The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + */ + public Output isoCountryCode() { + return this.isoCountryCode; + } + + /** + * The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + */ + @Import(name="messageType", required=true) + private Output messageType; + + /** + * @return The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + */ + public Output messageType() { + return this.messageType; + } + + /** + * Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + */ + @Import(name="numberCapabilities", required=true) + private Output> numberCapabilities; + + /** + * @return Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + */ + public Output> numberCapabilities() { + return this.numberCapabilities; + } + + /** + * The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + */ + @Import(name="numberType", required=true) + private Output numberType; + + /** + * @return The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + */ + public Output numberType() { + return this.numberType; + } + + /** + * The name of the opt-out list to associate with the phone number. + * + */ + @Import(name="optOutListName") + private @Nullable Output optOutListName; + + /** + * @return The name of the opt-out list to associate with the phone number. + * + */ + public Optional> optOutListName() { + return Optional.ofNullable(this.optOutListName); + } + + /** + * Use this field to attach your phone number for an external registration process. + * + */ + @Import(name="registrationId") + private @Nullable Output registrationId; + + /** + * @return Use this field to attach your phone number for an external registration process. + * + */ + public Optional> registrationId() { + return Optional.ofNullable(this.registrationId); + } + + /** + * When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + */ + @Import(name="selfManagedOptOutsEnabled") + private @Nullable Output selfManagedOptOutsEnabled; + + /** + * @return When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + */ + public Optional> selfManagedOptOutsEnabled() { + return Optional.ofNullable(this.selfManagedOptOutsEnabled); + } + + @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); + } + + /** + * The Amazon Resource Name (ARN) of the two way channel. + * + */ + @Import(name="twoWayChannelArn") + private @Nullable Output twoWayChannelArn; + + /** + * @return The Amazon Resource Name (ARN) of the two way channel. + * + */ + public Optional> twoWayChannelArn() { + return Optional.ofNullable(this.twoWayChannelArn); + } + + /** + * By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + */ + @Import(name="twoWayChannelEnabled") + private @Nullable Output twoWayChannelEnabled; + + /** + * @return By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + */ + public Optional> twoWayChannelEnabled() { + return Optional.ofNullable(this.twoWayChannelEnabled); + } + + private Smsvoicev2PhoneNumberArgs() {} + + private Smsvoicev2PhoneNumberArgs(Smsvoicev2PhoneNumberArgs $) { + this.deletionProtectionEnabled = $.deletionProtectionEnabled; + this.isoCountryCode = $.isoCountryCode; + this.messageType = $.messageType; + this.numberCapabilities = $.numberCapabilities; + this.numberType = $.numberType; + this.optOutListName = $.optOutListName; + this.registrationId = $.registrationId; + this.selfManagedOptOutsEnabled = $.selfManagedOptOutsEnabled; + this.tags = $.tags; + this.timeouts = $.timeouts; + this.twoWayChannelArn = $.twoWayChannelArn; + this.twoWayChannelEnabled = $.twoWayChannelEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(Smsvoicev2PhoneNumberArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private Smsvoicev2PhoneNumberArgs $; + + public Builder() { + $ = new Smsvoicev2PhoneNumberArgs(); + } + + public Builder(Smsvoicev2PhoneNumberArgs defaults) { + $ = new Smsvoicev2PhoneNumberArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param deletionProtectionEnabled By default this is set to `false`. When set to true the phone number can’t be deleted. + * + * @return builder + * + */ + public Builder deletionProtectionEnabled(@Nullable Output deletionProtectionEnabled) { + $.deletionProtectionEnabled = deletionProtectionEnabled; + return this; + } + + /** + * @param deletionProtectionEnabled By default this is set to `false`. When set to true the phone number can’t be deleted. + * + * @return builder + * + */ + public Builder deletionProtectionEnabled(Boolean deletionProtectionEnabled) { + return deletionProtectionEnabled(Output.of(deletionProtectionEnabled)); + } + + /** + * @param isoCountryCode The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + * @return builder + * + */ + public Builder isoCountryCode(Output isoCountryCode) { + $.isoCountryCode = isoCountryCode; + return this; + } + + /** + * @param isoCountryCode The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + * @return builder + * + */ + public Builder isoCountryCode(String isoCountryCode) { + return isoCountryCode(Output.of(isoCountryCode)); + } + + /** + * @param messageType The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + * @return builder + * + */ + public Builder messageType(Output messageType) { + $.messageType = messageType; + return this; + } + + /** + * @param messageType The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + * @return builder + * + */ + public Builder messageType(String messageType) { + return messageType(Output.of(messageType)); + } + + /** + * @param numberCapabilities Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + * @return builder + * + */ + public Builder numberCapabilities(Output> numberCapabilities) { + $.numberCapabilities = numberCapabilities; + return this; + } + + /** + * @param numberCapabilities Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + * @return builder + * + */ + public Builder numberCapabilities(List numberCapabilities) { + return numberCapabilities(Output.of(numberCapabilities)); + } + + /** + * @param numberCapabilities Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + * @return builder + * + */ + public Builder numberCapabilities(String... numberCapabilities) { + return numberCapabilities(List.of(numberCapabilities)); + } + + /** + * @param numberType The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + * @return builder + * + */ + public Builder numberType(Output numberType) { + $.numberType = numberType; + return this; + } + + /** + * @param numberType The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + * @return builder + * + */ + public Builder numberType(String numberType) { + return numberType(Output.of(numberType)); + } + + /** + * @param optOutListName The name of the opt-out list to associate with the phone number. + * + * @return builder + * + */ + public Builder optOutListName(@Nullable Output optOutListName) { + $.optOutListName = optOutListName; + return this; + } + + /** + * @param optOutListName The name of the opt-out list to associate with the phone number. + * + * @return builder + * + */ + public Builder optOutListName(String optOutListName) { + return optOutListName(Output.of(optOutListName)); + } + + /** + * @param registrationId Use this field to attach your phone number for an external registration process. + * + * @return builder + * + */ + public Builder registrationId(@Nullable Output registrationId) { + $.registrationId = registrationId; + return this; + } + + /** + * @param registrationId Use this field to attach your phone number for an external registration process. + * + * @return builder + * + */ + public Builder registrationId(String registrationId) { + return registrationId(Output.of(registrationId)); + } + + /** + * @param selfManagedOptOutsEnabled When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + * @return builder + * + */ + public Builder selfManagedOptOutsEnabled(@Nullable Output selfManagedOptOutsEnabled) { + $.selfManagedOptOutsEnabled = selfManagedOptOutsEnabled; + return this; + } + + /** + * @param selfManagedOptOutsEnabled When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + * @return builder + * + */ + public Builder selfManagedOptOutsEnabled(Boolean selfManagedOptOutsEnabled) { + return selfManagedOptOutsEnabled(Output.of(selfManagedOptOutsEnabled)); + } + + 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(Smsvoicev2PhoneNumberTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + /** + * @param twoWayChannelArn The Amazon Resource Name (ARN) of the two way channel. + * + * @return builder + * + */ + public Builder twoWayChannelArn(@Nullable Output twoWayChannelArn) { + $.twoWayChannelArn = twoWayChannelArn; + return this; + } + + /** + * @param twoWayChannelArn The Amazon Resource Name (ARN) of the two way channel. + * + * @return builder + * + */ + public Builder twoWayChannelArn(String twoWayChannelArn) { + return twoWayChannelArn(Output.of(twoWayChannelArn)); + } + + /** + * @param twoWayChannelEnabled By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + * @return builder + * + */ + public Builder twoWayChannelEnabled(@Nullable Output twoWayChannelEnabled) { + $.twoWayChannelEnabled = twoWayChannelEnabled; + return this; + } + + /** + * @param twoWayChannelEnabled By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + * @return builder + * + */ + public Builder twoWayChannelEnabled(Boolean twoWayChannelEnabled) { + return twoWayChannelEnabled(Output.of(twoWayChannelEnabled)); + } + + public Smsvoicev2PhoneNumberArgs build() { + if ($.isoCountryCode == null) { + throw new MissingRequiredPropertyException("Smsvoicev2PhoneNumberArgs", "isoCountryCode"); + } + if ($.messageType == null) { + throw new MissingRequiredPropertyException("Smsvoicev2PhoneNumberArgs", "messageType"); + } + if ($.numberCapabilities == null) { + throw new MissingRequiredPropertyException("Smsvoicev2PhoneNumberArgs", "numberCapabilities"); + } + if ($.numberType == null) { + throw new MissingRequiredPropertyException("Smsvoicev2PhoneNumberArgs", "numberType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2OptOutListState.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2OptOutListState.java new file mode 100644 index 00000000000..ca969472656 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2OptOutListState.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.pinpoint.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 Smsvoicev2OptOutListState extends com.pulumi.resources.ResourceArgs { + + public static final Smsvoicev2OptOutListState Empty = new Smsvoicev2OptOutListState(); + + /** + * ARN of the opt-out list. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the opt-out list. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The name of the opt-out list. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the opt-out list. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + 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); + } + + private Smsvoicev2OptOutListState() {} + + private Smsvoicev2OptOutListState(Smsvoicev2OptOutListState $) { + this.arn = $.arn; + this.name = $.name; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(Smsvoicev2OptOutListState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private Smsvoicev2OptOutListState $; + + public Builder() { + $ = new Smsvoicev2OptOutListState(); + } + + public Builder(Smsvoicev2OptOutListState defaults) { + $ = new Smsvoicev2OptOutListState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the opt-out list. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the opt-out list. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param name The name of the opt-out list. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the opt-out list. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Smsvoicev2OptOutListState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2PhoneNumberState.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2PhoneNumberState.java new file mode 100644 index 00000000000..04d404e65f8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2PhoneNumberState.java @@ -0,0 +1,628 @@ +// *** 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.pinpoint.inputs; + +import com.pulumi.aws.pinpoint.inputs.Smsvoicev2PhoneNumberTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class Smsvoicev2PhoneNumberState extends com.pulumi.resources.ResourceArgs { + + public static final Smsvoicev2PhoneNumberState Empty = new Smsvoicev2PhoneNumberState(); + + /** + * ARN of the phone number. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the phone number. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * By default this is set to `false`. When set to true the phone number can’t be deleted. + * + */ + @Import(name="deletionProtectionEnabled") + private @Nullable Output deletionProtectionEnabled; + + /** + * @return By default this is set to `false`. When set to true the phone number can’t be deleted. + * + */ + public Optional> deletionProtectionEnabled() { + return Optional.ofNullable(this.deletionProtectionEnabled); + } + + /** + * The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + */ + @Import(name="isoCountryCode") + private @Nullable Output isoCountryCode; + + /** + * @return The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + */ + public Optional> isoCountryCode() { + return Optional.ofNullable(this.isoCountryCode); + } + + /** + * The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + */ + @Import(name="messageType") + private @Nullable Output messageType; + + /** + * @return The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + */ + public Optional> messageType() { + return Optional.ofNullable(this.messageType); + } + + /** + * The monthly price, in US dollars, to lease the phone number. + * + */ + @Import(name="monthlyLeasingPrice") + private @Nullable Output monthlyLeasingPrice; + + /** + * @return The monthly price, in US dollars, to lease the phone number. + * + */ + public Optional> monthlyLeasingPrice() { + return Optional.ofNullable(this.monthlyLeasingPrice); + } + + /** + * Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + */ + @Import(name="numberCapabilities") + private @Nullable Output> numberCapabilities; + + /** + * @return Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + */ + public Optional>> numberCapabilities() { + return Optional.ofNullable(this.numberCapabilities); + } + + /** + * The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + */ + @Import(name="numberType") + private @Nullable Output numberType; + + /** + * @return The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + */ + public Optional> numberType() { + return Optional.ofNullable(this.numberType); + } + + /** + * The name of the opt-out list to associate with the phone number. + * + */ + @Import(name="optOutListName") + private @Nullable Output optOutListName; + + /** + * @return The name of the opt-out list to associate with the phone number. + * + */ + public Optional> optOutListName() { + return Optional.ofNullable(this.optOutListName); + } + + /** + * The new phone number that was requested. + * + */ + @Import(name="phoneNumber") + private @Nullable Output phoneNumber; + + /** + * @return The new phone number that was requested. + * + */ + public Optional> phoneNumber() { + return Optional.ofNullable(this.phoneNumber); + } + + /** + * Use this field to attach your phone number for an external registration process. + * + */ + @Import(name="registrationId") + private @Nullable Output registrationId; + + /** + * @return Use this field to attach your phone number for an external registration process. + * + */ + public Optional> registrationId() { + return Optional.ofNullable(this.registrationId); + } + + /** + * When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + */ + @Import(name="selfManagedOptOutsEnabled") + private @Nullable Output selfManagedOptOutsEnabled; + + /** + * @return When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + */ + public Optional> selfManagedOptOutsEnabled() { + return Optional.ofNullable(this.selfManagedOptOutsEnabled); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + /** + * The Amazon Resource Name (ARN) of the two way channel. + * + */ + @Import(name="twoWayChannelArn") + private @Nullable Output twoWayChannelArn; + + /** + * @return The Amazon Resource Name (ARN) of the two way channel. + * + */ + public Optional> twoWayChannelArn() { + return Optional.ofNullable(this.twoWayChannelArn); + } + + /** + * By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + */ + @Import(name="twoWayChannelEnabled") + private @Nullable Output twoWayChannelEnabled; + + /** + * @return By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + */ + public Optional> twoWayChannelEnabled() { + return Optional.ofNullable(this.twoWayChannelEnabled); + } + + private Smsvoicev2PhoneNumberState() {} + + private Smsvoicev2PhoneNumberState(Smsvoicev2PhoneNumberState $) { + this.arn = $.arn; + this.deletionProtectionEnabled = $.deletionProtectionEnabled; + this.isoCountryCode = $.isoCountryCode; + this.messageType = $.messageType; + this.monthlyLeasingPrice = $.monthlyLeasingPrice; + this.numberCapabilities = $.numberCapabilities; + this.numberType = $.numberType; + this.optOutListName = $.optOutListName; + this.phoneNumber = $.phoneNumber; + this.registrationId = $.registrationId; + this.selfManagedOptOutsEnabled = $.selfManagedOptOutsEnabled; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + this.twoWayChannelArn = $.twoWayChannelArn; + this.twoWayChannelEnabled = $.twoWayChannelEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(Smsvoicev2PhoneNumberState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private Smsvoicev2PhoneNumberState $; + + public Builder() { + $ = new Smsvoicev2PhoneNumberState(); + } + + public Builder(Smsvoicev2PhoneNumberState defaults) { + $ = new Smsvoicev2PhoneNumberState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the phone number. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the phone number. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param deletionProtectionEnabled By default this is set to `false`. When set to true the phone number can’t be deleted. + * + * @return builder + * + */ + public Builder deletionProtectionEnabled(@Nullable Output deletionProtectionEnabled) { + $.deletionProtectionEnabled = deletionProtectionEnabled; + return this; + } + + /** + * @param deletionProtectionEnabled By default this is set to `false`. When set to true the phone number can’t be deleted. + * + * @return builder + * + */ + public Builder deletionProtectionEnabled(Boolean deletionProtectionEnabled) { + return deletionProtectionEnabled(Output.of(deletionProtectionEnabled)); + } + + /** + * @param isoCountryCode The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + * @return builder + * + */ + public Builder isoCountryCode(@Nullable Output isoCountryCode) { + $.isoCountryCode = isoCountryCode; + return this; + } + + /** + * @param isoCountryCode The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + * + * @return builder + * + */ + public Builder isoCountryCode(String isoCountryCode) { + return isoCountryCode(Output.of(isoCountryCode)); + } + + /** + * @param messageType The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + * @return builder + * + */ + public Builder messageType(@Nullable Output messageType) { + $.messageType = messageType; + return this; + } + + /** + * @param messageType The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + * + * @return builder + * + */ + public Builder messageType(String messageType) { + return messageType(Output.of(messageType)); + } + + /** + * @param monthlyLeasingPrice The monthly price, in US dollars, to lease the phone number. + * + * @return builder + * + */ + public Builder monthlyLeasingPrice(@Nullable Output monthlyLeasingPrice) { + $.monthlyLeasingPrice = monthlyLeasingPrice; + return this; + } + + /** + * @param monthlyLeasingPrice The monthly price, in US dollars, to lease the phone number. + * + * @return builder + * + */ + public Builder monthlyLeasingPrice(String monthlyLeasingPrice) { + return monthlyLeasingPrice(Output.of(monthlyLeasingPrice)); + } + + /** + * @param numberCapabilities Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + * @return builder + * + */ + public Builder numberCapabilities(@Nullable Output> numberCapabilities) { + $.numberCapabilities = numberCapabilities; + return this; + } + + /** + * @param numberCapabilities Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + * @return builder + * + */ + public Builder numberCapabilities(List numberCapabilities) { + return numberCapabilities(Output.of(numberCapabilities)); + } + + /** + * @param numberCapabilities Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + * + * @return builder + * + */ + public Builder numberCapabilities(String... numberCapabilities) { + return numberCapabilities(List.of(numberCapabilities)); + } + + /** + * @param numberType The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + * @return builder + * + */ + public Builder numberType(@Nullable Output numberType) { + $.numberType = numberType; + return this; + } + + /** + * @param numberType The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + * + * @return builder + * + */ + public Builder numberType(String numberType) { + return numberType(Output.of(numberType)); + } + + /** + * @param optOutListName The name of the opt-out list to associate with the phone number. + * + * @return builder + * + */ + public Builder optOutListName(@Nullable Output optOutListName) { + $.optOutListName = optOutListName; + return this; + } + + /** + * @param optOutListName The name of the opt-out list to associate with the phone number. + * + * @return builder + * + */ + public Builder optOutListName(String optOutListName) { + return optOutListName(Output.of(optOutListName)); + } + + /** + * @param phoneNumber The new phone number that was requested. + * + * @return builder + * + */ + public Builder phoneNumber(@Nullable Output phoneNumber) { + $.phoneNumber = phoneNumber; + return this; + } + + /** + * @param phoneNumber The new phone number that was requested. + * + * @return builder + * + */ + public Builder phoneNumber(String phoneNumber) { + return phoneNumber(Output.of(phoneNumber)); + } + + /** + * @param registrationId Use this field to attach your phone number for an external registration process. + * + * @return builder + * + */ + public Builder registrationId(@Nullable Output registrationId) { + $.registrationId = registrationId; + return this; + } + + /** + * @param registrationId Use this field to attach your phone number for an external registration process. + * + * @return builder + * + */ + public Builder registrationId(String registrationId) { + return registrationId(Output.of(registrationId)); + } + + /** + * @param selfManagedOptOutsEnabled When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + * @return builder + * + */ + public Builder selfManagedOptOutsEnabled(@Nullable Output selfManagedOptOutsEnabled) { + $.selfManagedOptOutsEnabled = selfManagedOptOutsEnabled; + return this; + } + + /** + * @param selfManagedOptOutsEnabled When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + * + * @return builder + * + */ + public Builder selfManagedOptOutsEnabled(Boolean selfManagedOptOutsEnabled) { + return selfManagedOptOutsEnabled(Output.of(selfManagedOptOutsEnabled)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(Smsvoicev2PhoneNumberTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + /** + * @param twoWayChannelArn The Amazon Resource Name (ARN) of the two way channel. + * + * @return builder + * + */ + public Builder twoWayChannelArn(@Nullable Output twoWayChannelArn) { + $.twoWayChannelArn = twoWayChannelArn; + return this; + } + + /** + * @param twoWayChannelArn The Amazon Resource Name (ARN) of the two way channel. + * + * @return builder + * + */ + public Builder twoWayChannelArn(String twoWayChannelArn) { + return twoWayChannelArn(Output.of(twoWayChannelArn)); + } + + /** + * @param twoWayChannelEnabled By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + * @return builder + * + */ + public Builder twoWayChannelEnabled(@Nullable Output twoWayChannelEnabled) { + $.twoWayChannelEnabled = twoWayChannelEnabled; + return this; + } + + /** + * @param twoWayChannelEnabled By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + * + * @return builder + * + */ + public Builder twoWayChannelEnabled(Boolean twoWayChannelEnabled) { + return twoWayChannelEnabled(Output.of(twoWayChannelEnabled)); + } + + public Smsvoicev2PhoneNumberState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2PhoneNumberTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2PhoneNumberTimeoutsArgs.java new file mode 100644 index 00000000000..537bdb5bc35 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/Smsvoicev2PhoneNumberTimeoutsArgs.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.pinpoint.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 Smsvoicev2PhoneNumberTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final Smsvoicev2PhoneNumberTimeoutsArgs Empty = new Smsvoicev2PhoneNumberTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 Smsvoicev2PhoneNumberTimeoutsArgs() {} + + private Smsvoicev2PhoneNumberTimeoutsArgs(Smsvoicev2PhoneNumberTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(Smsvoicev2PhoneNumberTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private Smsvoicev2PhoneNumberTimeoutsArgs $; + + public Builder() { + $ = new Smsvoicev2PhoneNumberTimeoutsArgs(); + } + + public Builder(Smsvoicev2PhoneNumberTimeoutsArgs defaults) { + $ = new Smsvoicev2PhoneNumberTimeoutsArgs(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 Smsvoicev2PhoneNumberTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/outputs/Smsvoicev2PhoneNumberTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/outputs/Smsvoicev2PhoneNumberTimeouts.java new file mode 100644 index 00000000000..1bfed1f9d5f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/outputs/Smsvoicev2PhoneNumberTimeouts.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.pinpoint.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 Smsvoicev2PhoneNumberTimeouts { + /** + * @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 Smsvoicev2PhoneNumberTimeouts() {} + /** + * @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(Smsvoicev2PhoneNumberTimeouts 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(Smsvoicev2PhoneNumberTimeouts 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 Smsvoicev2PhoneNumberTimeouts build() { + final var _resultValue = new Smsvoicev2PhoneNumberTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketServerSideEncryptionConfigurationV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketServerSideEncryptionConfigurationV2.java index fa27472e9d2..f078c74b77a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketServerSideEncryptionConfigurationV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketServerSideEncryptionConfigurationV2.java @@ -21,8 +21,6 @@ * * > **NOTE:** Destroying an `aws.s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). * - * > This resource cannot be used with S3 directory buckets. - * * ## Example Usage * * <!--Start PulumiCodeChooser --> diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/SecurityhubFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/SecurityhubFunctions.java new file mode 100644 index 00000000000..44aa4afff53 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/SecurityhubFunctions.java @@ -0,0 +1,205 @@ +// *** 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.securityhub; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs; +import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsPlainArgs; +import com.pulumi.aws.securityhub.outputs.GetStandardsControlAssociationsResult; +import com.pulumi.core.Output; +import com.pulumi.core.TypeShape; +import com.pulumi.deployment.Deployment; +import com.pulumi.deployment.InvokeOptions; +import java.util.concurrent.CompletableFuture; + +public final class SecurityhubFunctions { + /** + * Data source for managing an AWS Security Hub Standards Control Associations. + * + * ## 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.securityhub.Account;
+     * import com.pulumi.aws.securityhub.SecurityhubFunctions;
+     * import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs;
+     * 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 testAccount = new Account("testAccount");
+     * 
+     *         final var test = SecurityhubFunctions.getStandardsControlAssociations(GetStandardsControlAssociationsArgs.builder()
+     *             .securityControlId("IAM.1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStandardsControlAssociations(GetStandardsControlAssociationsArgs args) { + return getStandardsControlAssociations(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS Security Hub Standards Control Associations. + * + * ## 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.securityhub.Account;
+     * import com.pulumi.aws.securityhub.SecurityhubFunctions;
+     * import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs;
+     * 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 testAccount = new Account("testAccount");
+     * 
+     *         final var test = SecurityhubFunctions.getStandardsControlAssociations(GetStandardsControlAssociationsArgs.builder()
+     *             .securityControlId("IAM.1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getStandardsControlAssociationsPlain(GetStandardsControlAssociationsPlainArgs args) { + return getStandardsControlAssociationsPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS Security Hub Standards Control Associations. + * + * ## 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.securityhub.Account;
+     * import com.pulumi.aws.securityhub.SecurityhubFunctions;
+     * import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs;
+     * 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 testAccount = new Account("testAccount");
+     * 
+     *         final var test = SecurityhubFunctions.getStandardsControlAssociations(GetStandardsControlAssociationsArgs.builder()
+     *             .securityControlId("IAM.1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStandardsControlAssociations(GetStandardsControlAssociationsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", TypeShape.of(GetStandardsControlAssociationsResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS Security Hub Standards Control Associations. + * + * ## 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.securityhub.Account;
+     * import com.pulumi.aws.securityhub.SecurityhubFunctions;
+     * import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs;
+     * 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 testAccount = new Account("testAccount");
+     * 
+     *         final var test = SecurityhubFunctions.getStandardsControlAssociations(GetStandardsControlAssociationsArgs.builder()
+     *             .securityControlId("IAM.1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getStandardsControlAssociationsPlain(GetStandardsControlAssociationsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", TypeShape.of(GetStandardsControlAssociationsResult.class), args, Utilities.withVersion(options)); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsArgs.java new file mode 100644 index 00000000000..18d4f77bbd5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsArgs.java @@ -0,0 +1,141 @@ +// *** 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.securityhub.inputs; + +import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsStandardsControlAssociationArgs; +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 GetStandardsControlAssociationsArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetStandardsControlAssociationsArgs Empty = new GetStandardsControlAssociationsArgs(); + + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + @Import(name="securityControlId", required=true) + private Output securityControlId; + + /** + * @return The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + public Output securityControlId() { + return this.securityControlId; + } + + /** + * A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + */ + @Import(name="standardsControlAssociations") + private @Nullable Output> standardsControlAssociations; + + /** + * @return A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + */ + public Optional>> standardsControlAssociations() { + return Optional.ofNullable(this.standardsControlAssociations); + } + + private GetStandardsControlAssociationsArgs() {} + + private GetStandardsControlAssociationsArgs(GetStandardsControlAssociationsArgs $) { + this.securityControlId = $.securityControlId; + this.standardsControlAssociations = $.standardsControlAssociations; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetStandardsControlAssociationsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetStandardsControlAssociationsArgs $; + + public Builder() { + $ = new GetStandardsControlAssociationsArgs(); + } + + public Builder(GetStandardsControlAssociationsArgs defaults) { + $ = new GetStandardsControlAssociationsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param securityControlId The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + * @return builder + * + */ + public Builder securityControlId(Output securityControlId) { + $.securityControlId = securityControlId; + return this; + } + + /** + * @param securityControlId The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + * @return builder + * + */ + public Builder securityControlId(String securityControlId) { + return securityControlId(Output.of(securityControlId)); + } + + /** + * @param standardsControlAssociations A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + * @return builder + * + */ + public Builder standardsControlAssociations(@Nullable Output> standardsControlAssociations) { + $.standardsControlAssociations = standardsControlAssociations; + return this; + } + + /** + * @param standardsControlAssociations A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + * @return builder + * + */ + public Builder standardsControlAssociations(List standardsControlAssociations) { + return standardsControlAssociations(Output.of(standardsControlAssociations)); + } + + /** + * @param standardsControlAssociations A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + * @return builder + * + */ + public Builder standardsControlAssociations(GetStandardsControlAssociationsStandardsControlAssociationArgs... standardsControlAssociations) { + return standardsControlAssociations(List.of(standardsControlAssociations)); + } + + public GetStandardsControlAssociationsArgs build() { + if ($.securityControlId == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsArgs", "securityControlId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsPlainArgs.java new file mode 100644 index 00000000000..0dd8bee3694 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsPlainArgs.java @@ -0,0 +1,119 @@ +// *** 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.securityhub.inputs; + +import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsStandardsControlAssociation; +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 GetStandardsControlAssociationsPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetStandardsControlAssociationsPlainArgs Empty = new GetStandardsControlAssociationsPlainArgs(); + + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + @Import(name="securityControlId", required=true) + private String securityControlId; + + /** + * @return The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + public String securityControlId() { + return this.securityControlId; + } + + /** + * A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + */ + @Import(name="standardsControlAssociations") + private @Nullable List standardsControlAssociations; + + /** + * @return A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + */ + public Optional> standardsControlAssociations() { + return Optional.ofNullable(this.standardsControlAssociations); + } + + private GetStandardsControlAssociationsPlainArgs() {} + + private GetStandardsControlAssociationsPlainArgs(GetStandardsControlAssociationsPlainArgs $) { + this.securityControlId = $.securityControlId; + this.standardsControlAssociations = $.standardsControlAssociations; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetStandardsControlAssociationsPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetStandardsControlAssociationsPlainArgs $; + + public Builder() { + $ = new GetStandardsControlAssociationsPlainArgs(); + } + + public Builder(GetStandardsControlAssociationsPlainArgs defaults) { + $ = new GetStandardsControlAssociationsPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param securityControlId The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + * @return builder + * + */ + public Builder securityControlId(String securityControlId) { + $.securityControlId = securityControlId; + return this; + } + + /** + * @param standardsControlAssociations A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + * @return builder + * + */ + public Builder standardsControlAssociations(@Nullable List standardsControlAssociations) { + $.standardsControlAssociations = standardsControlAssociations; + return this; + } + + /** + * @param standardsControlAssociations A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + * @return builder + * + */ + public Builder standardsControlAssociations(GetStandardsControlAssociationsStandardsControlAssociation... standardsControlAssociations) { + return standardsControlAssociations(List.of(standardsControlAssociations)); + } + + public GetStandardsControlAssociationsPlainArgs build() { + if ($.securityControlId == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsPlainArgs", "securityControlId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsStandardsControlAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsStandardsControlAssociation.java new file mode 100644 index 00000000000..2e9af5a3ad6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsStandardsControlAssociation.java @@ -0,0 +1,325 @@ +// *** 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.securityhub.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class GetStandardsControlAssociationsStandardsControlAssociation extends com.pulumi.resources.InvokeArgs { + + public static final GetStandardsControlAssociationsStandardsControlAssociation Empty = new GetStandardsControlAssociationsStandardsControlAssociation(); + + /** + * Enablement status of a control in a specific standard. + * + */ + @Import(name="associationStatus", required=true) + private String associationStatus; + + /** + * @return Enablement status of a control in a specific standard. + * + */ + public String associationStatus() { + return this.associationStatus; + } + + /** + * List of underlying requirements in the compliance framework related to the standard. + * + */ + @Import(name="relatedRequirements", required=true) + private List relatedRequirements; + + /** + * @return List of underlying requirements in the compliance framework related to the standard. + * + */ + public List relatedRequirements() { + return this.relatedRequirements; + } + + /** + * ARN of the security control. + * + */ + @Import(name="securityControlArn", required=true) + private String securityControlArn; + + /** + * @return ARN of the security control. + * + */ + public String securityControlArn() { + return this.securityControlArn; + } + + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + @Import(name="securityControlId", required=true) + private String securityControlId; + + /** + * @return The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + public String securityControlId() { + return this.securityControlId; + } + + /** + * ARN of the standard. + * + */ + @Import(name="standardsArn", required=true) + private String standardsArn; + + /** + * @return ARN of the standard. + * + */ + public String standardsArn() { + return this.standardsArn; + } + + /** + * Description of the standard. + * + */ + @Import(name="standardsControlDescription", required=true) + private String standardsControlDescription; + + /** + * @return Description of the standard. + * + */ + public String standardsControlDescription() { + return this.standardsControlDescription; + } + + /** + * Title of the standard. + * + */ + @Import(name="standardsControlTitle", required=true) + private String standardsControlTitle; + + /** + * @return Title of the standard. + * + */ + public String standardsControlTitle() { + return this.standardsControlTitle; + } + + /** + * Last time that a control's enablement status in a specified standard was updated. + * + */ + @Import(name="updatedAt", required=true) + private String updatedAt; + + /** + * @return Last time that a control's enablement status in a specified standard was updated. + * + */ + public String updatedAt() { + return this.updatedAt; + } + + /** + * Reason for updating a control's enablement status in a specified standard. + * + */ + @Import(name="updatedReason", required=true) + private String updatedReason; + + /** + * @return Reason for updating a control's enablement status in a specified standard. + * + */ + public String updatedReason() { + return this.updatedReason; + } + + private GetStandardsControlAssociationsStandardsControlAssociation() {} + + private GetStandardsControlAssociationsStandardsControlAssociation(GetStandardsControlAssociationsStandardsControlAssociation $) { + this.associationStatus = $.associationStatus; + this.relatedRequirements = $.relatedRequirements; + this.securityControlArn = $.securityControlArn; + this.securityControlId = $.securityControlId; + this.standardsArn = $.standardsArn; + this.standardsControlDescription = $.standardsControlDescription; + this.standardsControlTitle = $.standardsControlTitle; + this.updatedAt = $.updatedAt; + this.updatedReason = $.updatedReason; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetStandardsControlAssociationsStandardsControlAssociation defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetStandardsControlAssociationsStandardsControlAssociation $; + + public Builder() { + $ = new GetStandardsControlAssociationsStandardsControlAssociation(); + } + + public Builder(GetStandardsControlAssociationsStandardsControlAssociation defaults) { + $ = new GetStandardsControlAssociationsStandardsControlAssociation(Objects.requireNonNull(defaults)); + } + + /** + * @param associationStatus Enablement status of a control in a specific standard. + * + * @return builder + * + */ + public Builder associationStatus(String associationStatus) { + $.associationStatus = associationStatus; + return this; + } + + /** + * @param relatedRequirements List of underlying requirements in the compliance framework related to the standard. + * + * @return builder + * + */ + public Builder relatedRequirements(List relatedRequirements) { + $.relatedRequirements = relatedRequirements; + return this; + } + + /** + * @param relatedRequirements List of underlying requirements in the compliance framework related to the standard. + * + * @return builder + * + */ + public Builder relatedRequirements(String... relatedRequirements) { + return relatedRequirements(List.of(relatedRequirements)); + } + + /** + * @param securityControlArn ARN of the security control. + * + * @return builder + * + */ + public Builder securityControlArn(String securityControlArn) { + $.securityControlArn = securityControlArn; + return this; + } + + /** + * @param securityControlId The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + * @return builder + * + */ + public Builder securityControlId(String securityControlId) { + $.securityControlId = securityControlId; + return this; + } + + /** + * @param standardsArn ARN of the standard. + * + * @return builder + * + */ + public Builder standardsArn(String standardsArn) { + $.standardsArn = standardsArn; + return this; + } + + /** + * @param standardsControlDescription Description of the standard. + * + * @return builder + * + */ + public Builder standardsControlDescription(String standardsControlDescription) { + $.standardsControlDescription = standardsControlDescription; + return this; + } + + /** + * @param standardsControlTitle Title of the standard. + * + * @return builder + * + */ + public Builder standardsControlTitle(String standardsControlTitle) { + $.standardsControlTitle = standardsControlTitle; + return this; + } + + /** + * @param updatedAt Last time that a control's enablement status in a specified standard was updated. + * + * @return builder + * + */ + public Builder updatedAt(String updatedAt) { + $.updatedAt = updatedAt; + return this; + } + + /** + * @param updatedReason Reason for updating a control's enablement status in a specified standard. + * + * @return builder + * + */ + public Builder updatedReason(String updatedReason) { + $.updatedReason = updatedReason; + return this; + } + + public GetStandardsControlAssociationsStandardsControlAssociation build() { + if ($.associationStatus == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "associationStatus"); + } + if ($.relatedRequirements == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "relatedRequirements"); + } + if ($.securityControlArn == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "securityControlArn"); + } + if ($.securityControlId == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "securityControlId"); + } + if ($.standardsArn == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "standardsArn"); + } + if ($.standardsControlDescription == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "standardsControlDescription"); + } + if ($.standardsControlTitle == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "standardsControlTitle"); + } + if ($.updatedAt == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "updatedAt"); + } + if ($.updatedReason == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "updatedReason"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsStandardsControlAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsStandardsControlAssociationArgs.java new file mode 100644 index 00000000000..44b7ae45e79 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/inputs/GetStandardsControlAssociationsStandardsControlAssociationArgs.java @@ -0,0 +1,416 @@ +// *** 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.securityhub.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class GetStandardsControlAssociationsStandardsControlAssociationArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetStandardsControlAssociationsStandardsControlAssociationArgs Empty = new GetStandardsControlAssociationsStandardsControlAssociationArgs(); + + /** + * Enablement status of a control in a specific standard. + * + */ + @Import(name="associationStatus", required=true) + private Output associationStatus; + + /** + * @return Enablement status of a control in a specific standard. + * + */ + public Output associationStatus() { + return this.associationStatus; + } + + /** + * List of underlying requirements in the compliance framework related to the standard. + * + */ + @Import(name="relatedRequirements", required=true) + private Output> relatedRequirements; + + /** + * @return List of underlying requirements in the compliance framework related to the standard. + * + */ + public Output> relatedRequirements() { + return this.relatedRequirements; + } + + /** + * ARN of the security control. + * + */ + @Import(name="securityControlArn", required=true) + private Output securityControlArn; + + /** + * @return ARN of the security control. + * + */ + public Output securityControlArn() { + return this.securityControlArn; + } + + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + @Import(name="securityControlId", required=true) + private Output securityControlId; + + /** + * @return The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + public Output securityControlId() { + return this.securityControlId; + } + + /** + * ARN of the standard. + * + */ + @Import(name="standardsArn", required=true) + private Output standardsArn; + + /** + * @return ARN of the standard. + * + */ + public Output standardsArn() { + return this.standardsArn; + } + + /** + * Description of the standard. + * + */ + @Import(name="standardsControlDescription", required=true) + private Output standardsControlDescription; + + /** + * @return Description of the standard. + * + */ + public Output standardsControlDescription() { + return this.standardsControlDescription; + } + + /** + * Title of the standard. + * + */ + @Import(name="standardsControlTitle", required=true) + private Output standardsControlTitle; + + /** + * @return Title of the standard. + * + */ + public Output standardsControlTitle() { + return this.standardsControlTitle; + } + + /** + * Last time that a control's enablement status in a specified standard was updated. + * + */ + @Import(name="updatedAt", required=true) + private Output updatedAt; + + /** + * @return Last time that a control's enablement status in a specified standard was updated. + * + */ + public Output updatedAt() { + return this.updatedAt; + } + + /** + * Reason for updating a control's enablement status in a specified standard. + * + */ + @Import(name="updatedReason", required=true) + private Output updatedReason; + + /** + * @return Reason for updating a control's enablement status in a specified standard. + * + */ + public Output updatedReason() { + return this.updatedReason; + } + + private GetStandardsControlAssociationsStandardsControlAssociationArgs() {} + + private GetStandardsControlAssociationsStandardsControlAssociationArgs(GetStandardsControlAssociationsStandardsControlAssociationArgs $) { + this.associationStatus = $.associationStatus; + this.relatedRequirements = $.relatedRequirements; + this.securityControlArn = $.securityControlArn; + this.securityControlId = $.securityControlId; + this.standardsArn = $.standardsArn; + this.standardsControlDescription = $.standardsControlDescription; + this.standardsControlTitle = $.standardsControlTitle; + this.updatedAt = $.updatedAt; + this.updatedReason = $.updatedReason; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetStandardsControlAssociationsStandardsControlAssociationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetStandardsControlAssociationsStandardsControlAssociationArgs $; + + public Builder() { + $ = new GetStandardsControlAssociationsStandardsControlAssociationArgs(); + } + + public Builder(GetStandardsControlAssociationsStandardsControlAssociationArgs defaults) { + $ = new GetStandardsControlAssociationsStandardsControlAssociationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param associationStatus Enablement status of a control in a specific standard. + * + * @return builder + * + */ + public Builder associationStatus(Output associationStatus) { + $.associationStatus = associationStatus; + return this; + } + + /** + * @param associationStatus Enablement status of a control in a specific standard. + * + * @return builder + * + */ + public Builder associationStatus(String associationStatus) { + return associationStatus(Output.of(associationStatus)); + } + + /** + * @param relatedRequirements List of underlying requirements in the compliance framework related to the standard. + * + * @return builder + * + */ + public Builder relatedRequirements(Output> relatedRequirements) { + $.relatedRequirements = relatedRequirements; + return this; + } + + /** + * @param relatedRequirements List of underlying requirements in the compliance framework related to the standard. + * + * @return builder + * + */ + public Builder relatedRequirements(List relatedRequirements) { + return relatedRequirements(Output.of(relatedRequirements)); + } + + /** + * @param relatedRequirements List of underlying requirements in the compliance framework related to the standard. + * + * @return builder + * + */ + public Builder relatedRequirements(String... relatedRequirements) { + return relatedRequirements(List.of(relatedRequirements)); + } + + /** + * @param securityControlArn ARN of the security control. + * + * @return builder + * + */ + public Builder securityControlArn(Output securityControlArn) { + $.securityControlArn = securityControlArn; + return this; + } + + /** + * @param securityControlArn ARN of the security control. + * + * @return builder + * + */ + public Builder securityControlArn(String securityControlArn) { + return securityControlArn(Output.of(securityControlArn)); + } + + /** + * @param securityControlId The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + * @return builder + * + */ + public Builder securityControlId(Output securityControlId) { + $.securityControlId = securityControlId; + return this; + } + + /** + * @param securityControlId The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + * @return builder + * + */ + public Builder securityControlId(String securityControlId) { + return securityControlId(Output.of(securityControlId)); + } + + /** + * @param standardsArn ARN of the standard. + * + * @return builder + * + */ + public Builder standardsArn(Output standardsArn) { + $.standardsArn = standardsArn; + return this; + } + + /** + * @param standardsArn ARN of the standard. + * + * @return builder + * + */ + public Builder standardsArn(String standardsArn) { + return standardsArn(Output.of(standardsArn)); + } + + /** + * @param standardsControlDescription Description of the standard. + * + * @return builder + * + */ + public Builder standardsControlDescription(Output standardsControlDescription) { + $.standardsControlDescription = standardsControlDescription; + return this; + } + + /** + * @param standardsControlDescription Description of the standard. + * + * @return builder + * + */ + public Builder standardsControlDescription(String standardsControlDescription) { + return standardsControlDescription(Output.of(standardsControlDescription)); + } + + /** + * @param standardsControlTitle Title of the standard. + * + * @return builder + * + */ + public Builder standardsControlTitle(Output standardsControlTitle) { + $.standardsControlTitle = standardsControlTitle; + return this; + } + + /** + * @param standardsControlTitle Title of the standard. + * + * @return builder + * + */ + public Builder standardsControlTitle(String standardsControlTitle) { + return standardsControlTitle(Output.of(standardsControlTitle)); + } + + /** + * @param updatedAt Last time that a control's enablement status in a specified standard was updated. + * + * @return builder + * + */ + public Builder updatedAt(Output updatedAt) { + $.updatedAt = updatedAt; + return this; + } + + /** + * @param updatedAt Last time that a control's enablement status in a specified standard was updated. + * + * @return builder + * + */ + public Builder updatedAt(String updatedAt) { + return updatedAt(Output.of(updatedAt)); + } + + /** + * @param updatedReason Reason for updating a control's enablement status in a specified standard. + * + * @return builder + * + */ + public Builder updatedReason(Output updatedReason) { + $.updatedReason = updatedReason; + return this; + } + + /** + * @param updatedReason Reason for updating a control's enablement status in a specified standard. + * + * @return builder + * + */ + public Builder updatedReason(String updatedReason) { + return updatedReason(Output.of(updatedReason)); + } + + public GetStandardsControlAssociationsStandardsControlAssociationArgs build() { + if ($.associationStatus == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "associationStatus"); + } + if ($.relatedRequirements == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "relatedRequirements"); + } + if ($.securityControlArn == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "securityControlArn"); + } + if ($.securityControlId == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "securityControlId"); + } + if ($.standardsArn == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "standardsArn"); + } + if ($.standardsControlDescription == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "standardsControlDescription"); + } + if ($.standardsControlTitle == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "standardsControlTitle"); + } + if ($.updatedAt == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "updatedAt"); + } + if ($.updatedReason == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociationArgs", "updatedReason"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/outputs/GetStandardsControlAssociationsResult.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/outputs/GetStandardsControlAssociationsResult.java new file mode 100644 index 00000000000..785179e8724 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/outputs/GetStandardsControlAssociationsResult.java @@ -0,0 +1,102 @@ +// *** 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.securityhub.outputs; + +import com.pulumi.aws.securityhub.outputs.GetStandardsControlAssociationsStandardsControlAssociation; +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 GetStandardsControlAssociationsResult { + private String id; + /** + * @return ID of the security control. + * + */ + private String securityControlId; + /** + * @return A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + */ + private @Nullable List standardsControlAssociations; + + private GetStandardsControlAssociationsResult() {} + public String id() { + return this.id; + } + /** + * @return ID of the security control. + * + */ + public String securityControlId() { + return this.securityControlId; + } + /** + * @return A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standards_control_associations` below. + * + */ + public List standardsControlAssociations() { + return this.standardsControlAssociations == null ? List.of() : this.standardsControlAssociations; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetStandardsControlAssociationsResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + private String securityControlId; + private @Nullable List standardsControlAssociations; + public Builder() {} + public Builder(GetStandardsControlAssociationsResult defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.securityControlId = defaults.securityControlId; + this.standardsControlAssociations = defaults.standardsControlAssociations; + } + + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder securityControlId(String securityControlId) { + if (securityControlId == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsResult", "securityControlId"); + } + this.securityControlId = securityControlId; + return this; + } + @CustomType.Setter + public Builder standardsControlAssociations(@Nullable List standardsControlAssociations) { + + this.standardsControlAssociations = standardsControlAssociations; + return this; + } + public Builder standardsControlAssociations(GetStandardsControlAssociationsStandardsControlAssociation... standardsControlAssociations) { + return standardsControlAssociations(List.of(standardsControlAssociations)); + } + public GetStandardsControlAssociationsResult build() { + final var _resultValue = new GetStandardsControlAssociationsResult(); + _resultValue.id = id; + _resultValue.securityControlId = securityControlId; + _resultValue.standardsControlAssociations = standardsControlAssociations; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/outputs/GetStandardsControlAssociationsStandardsControlAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/outputs/GetStandardsControlAssociationsStandardsControlAssociation.java new file mode 100644 index 00000000000..fd53477e1a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/outputs/GetStandardsControlAssociationsStandardsControlAssociation.java @@ -0,0 +1,246 @@ +// *** 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.securityhub.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetStandardsControlAssociationsStandardsControlAssociation { + /** + * @return Enablement status of a control in a specific standard. + * + */ + private String associationStatus; + /** + * @return List of underlying requirements in the compliance framework related to the standard. + * + */ + private List relatedRequirements; + /** + * @return ARN of the security control. + * + */ + private String securityControlArn; + /** + * @return The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + private String securityControlId; + /** + * @return ARN of the standard. + * + */ + private String standardsArn; + /** + * @return Description of the standard. + * + */ + private String standardsControlDescription; + /** + * @return Title of the standard. + * + */ + private String standardsControlTitle; + /** + * @return Last time that a control's enablement status in a specified standard was updated. + * + */ + private String updatedAt; + /** + * @return Reason for updating a control's enablement status in a specified standard. + * + */ + private String updatedReason; + + private GetStandardsControlAssociationsStandardsControlAssociation() {} + /** + * @return Enablement status of a control in a specific standard. + * + */ + public String associationStatus() { + return this.associationStatus; + } + /** + * @return List of underlying requirements in the compliance framework related to the standard. + * + */ + public List relatedRequirements() { + return this.relatedRequirements; + } + /** + * @return ARN of the security control. + * + */ + public String securityControlArn() { + return this.securityControlArn; + } + /** + * @return The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + * + */ + public String securityControlId() { + return this.securityControlId; + } + /** + * @return ARN of the standard. + * + */ + public String standardsArn() { + return this.standardsArn; + } + /** + * @return Description of the standard. + * + */ + public String standardsControlDescription() { + return this.standardsControlDescription; + } + /** + * @return Title of the standard. + * + */ + public String standardsControlTitle() { + return this.standardsControlTitle; + } + /** + * @return Last time that a control's enablement status in a specified standard was updated. + * + */ + public String updatedAt() { + return this.updatedAt; + } + /** + * @return Reason for updating a control's enablement status in a specified standard. + * + */ + public String updatedReason() { + return this.updatedReason; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetStandardsControlAssociationsStandardsControlAssociation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String associationStatus; + private List relatedRequirements; + private String securityControlArn; + private String securityControlId; + private String standardsArn; + private String standardsControlDescription; + private String standardsControlTitle; + private String updatedAt; + private String updatedReason; + public Builder() {} + public Builder(GetStandardsControlAssociationsStandardsControlAssociation defaults) { + Objects.requireNonNull(defaults); + this.associationStatus = defaults.associationStatus; + this.relatedRequirements = defaults.relatedRequirements; + this.securityControlArn = defaults.securityControlArn; + this.securityControlId = defaults.securityControlId; + this.standardsArn = defaults.standardsArn; + this.standardsControlDescription = defaults.standardsControlDescription; + this.standardsControlTitle = defaults.standardsControlTitle; + this.updatedAt = defaults.updatedAt; + this.updatedReason = defaults.updatedReason; + } + + @CustomType.Setter + public Builder associationStatus(String associationStatus) { + if (associationStatus == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "associationStatus"); + } + this.associationStatus = associationStatus; + return this; + } + @CustomType.Setter + public Builder relatedRequirements(List relatedRequirements) { + if (relatedRequirements == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "relatedRequirements"); + } + this.relatedRequirements = relatedRequirements; + return this; + } + public Builder relatedRequirements(String... relatedRequirements) { + return relatedRequirements(List.of(relatedRequirements)); + } + @CustomType.Setter + public Builder securityControlArn(String securityControlArn) { + if (securityControlArn == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "securityControlArn"); + } + this.securityControlArn = securityControlArn; + return this; + } + @CustomType.Setter + public Builder securityControlId(String securityControlId) { + if (securityControlId == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "securityControlId"); + } + this.securityControlId = securityControlId; + return this; + } + @CustomType.Setter + public Builder standardsArn(String standardsArn) { + if (standardsArn == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "standardsArn"); + } + this.standardsArn = standardsArn; + return this; + } + @CustomType.Setter + public Builder standardsControlDescription(String standardsControlDescription) { + if (standardsControlDescription == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "standardsControlDescription"); + } + this.standardsControlDescription = standardsControlDescription; + return this; + } + @CustomType.Setter + public Builder standardsControlTitle(String standardsControlTitle) { + if (standardsControlTitle == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "standardsControlTitle"); + } + this.standardsControlTitle = standardsControlTitle; + return this; + } + @CustomType.Setter + public Builder updatedAt(String updatedAt) { + if (updatedAt == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "updatedAt"); + } + this.updatedAt = updatedAt; + return this; + } + @CustomType.Setter + public Builder updatedReason(String updatedReason) { + if (updatedReason == null) { + throw new MissingRequiredPropertyException("GetStandardsControlAssociationsStandardsControlAssociation", "updatedReason"); + } + this.updatedReason = updatedReason; + return this; + } + public GetStandardsControlAssociationsStandardsControlAssociation build() { + final var _resultValue = new GetStandardsControlAssociationsStandardsControlAssociation(); + _resultValue.associationStatus = associationStatus; + _resultValue.relatedRequirements = relatedRequirements; + _resultValue.securityControlArn = securityControlArn; + _resultValue.securityControlId = securityControlId; + _resultValue.standardsArn = standardsArn; + _resultValue.standardsControlDescription = standardsControlDescription; + _resultValue.standardsControlTitle = standardsControlTitle; + _resultValue.updatedAt = updatedAt; + _resultValue.updatedReason = updatedReason; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/inputs/ReceiptRuleS3ActionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ses/inputs/ReceiptRuleS3ActionArgs.java index a15475ee926..5db01de2464 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/inputs/ReceiptRuleS3ActionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/inputs/ReceiptRuleS3ActionArgs.java @@ -32,6 +32,21 @@ public Output bucketName() { return this.bucketName; } + /** + * The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + * + */ + @Import(name="iamRoleArn") + private @Nullable Output iamRoleArn; + + /** + * @return The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + * + */ + public Optional> iamRoleArn() { + return Optional.ofNullable(this.iamRoleArn); + } + /** * The ARN of the KMS key * @@ -96,6 +111,7 @@ private ReceiptRuleS3ActionArgs() {} private ReceiptRuleS3ActionArgs(ReceiptRuleS3ActionArgs $) { this.bucketName = $.bucketName; + this.iamRoleArn = $.iamRoleArn; this.kmsKeyArn = $.kmsKeyArn; this.objectKeyPrefix = $.objectKeyPrefix; this.position = $.position; @@ -141,6 +157,27 @@ public Builder bucketName(String bucketName) { return bucketName(Output.of(bucketName)); } + /** + * @param iamRoleArn The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + * + * @return builder + * + */ + public Builder iamRoleArn(@Nullable Output iamRoleArn) { + $.iamRoleArn = iamRoleArn; + return this; + } + + /** + * @param iamRoleArn The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + * + * @return builder + * + */ + public Builder iamRoleArn(String iamRoleArn) { + return iamRoleArn(Output.of(iamRoleArn)); + } + /** * @param kmsKeyArn The ARN of the KMS key * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/outputs/ReceiptRuleS3Action.java b/sdk/java/src/main/java/com/pulumi/aws/ses/outputs/ReceiptRuleS3Action.java index 5366217e401..e09f4cbda90 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/outputs/ReceiptRuleS3Action.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/outputs/ReceiptRuleS3Action.java @@ -18,6 +18,11 @@ public final class ReceiptRuleS3Action { * */ private String bucketName; + /** + * @return The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + * + */ + private @Nullable String iamRoleArn; /** * @return The ARN of the KMS key * @@ -47,6 +52,13 @@ private ReceiptRuleS3Action() {} public String bucketName() { return this.bucketName; } + /** + * @return The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + * + */ + public Optional iamRoleArn() { + return Optional.ofNullable(this.iamRoleArn); + } /** * @return The ARN of the KMS key * @@ -86,6 +98,7 @@ public static Builder builder(ReceiptRuleS3Action defaults) { @CustomType.Builder public static final class Builder { private String bucketName; + private @Nullable String iamRoleArn; private @Nullable String kmsKeyArn; private @Nullable String objectKeyPrefix; private Integer position; @@ -94,6 +107,7 @@ public Builder() {} public Builder(ReceiptRuleS3Action defaults) { Objects.requireNonNull(defaults); this.bucketName = defaults.bucketName; + this.iamRoleArn = defaults.iamRoleArn; this.kmsKeyArn = defaults.kmsKeyArn; this.objectKeyPrefix = defaults.objectKeyPrefix; this.position = defaults.position; @@ -109,6 +123,12 @@ public Builder bucketName(String bucketName) { return this; } @CustomType.Setter + public Builder iamRoleArn(@Nullable String iamRoleArn) { + + this.iamRoleArn = iamRoleArn; + return this; + } + @CustomType.Setter public Builder kmsKeyArn(@Nullable String kmsKeyArn) { this.kmsKeyArn = kmsKeyArn; @@ -137,6 +157,7 @@ public Builder topicArn(@Nullable String topicArn) { public ReceiptRuleS3Action build() { final var _resultValue = new ReceiptRuleS3Action(); _resultValue.bucketName = bucketName; + _resultValue.iamRoleArn = iamRoleArn; _resultValue.kmsKeyArn = kmsKeyArn; _resultValue.objectKeyPrefix = objectKeyPrefix; _resultValue.position = position; diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountSuppressionAttributes.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountSuppressionAttributes.java new file mode 100644 index 00000000000..0547b6fd6ef --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountSuppressionAttributes.java @@ -0,0 +1,136 @@ +// *** 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.sesv2; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.sesv2.AccountSuppressionAttributesArgs; +import com.pulumi.aws.sesv2.inputs.AccountSuppressionAttributesState; +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 javax.annotation.Nullable; + +/** + * Manages AWS SESv2 (Simple Email V2) account-level suppression attributes. + * + * ## 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.sesv2.AccountSuppressionAttributes;
+ * import com.pulumi.aws.sesv2.AccountSuppressionAttributesArgs;
+ * 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 AccountSuppressionAttributes("example", AccountSuppressionAttributesArgs.builder()
+ *             .suppressedReasons("COMPLAINT")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import account-level suppression attributes using the account ID. For example: + * + * ```sh + * $ pulumi import aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes example 123456789012 + * ``` + * + */ +@ResourceType(type="aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes") +public class AccountSuppressionAttributes extends com.pulumi.resources.CustomResource { + /** + * A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + */ + @Export(name="suppressedReasons", refs={List.class,String.class}, tree="[0,1]") + private Output> suppressedReasons; + + /** + * @return A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + */ + public Output> suppressedReasons() { + return this.suppressedReasons; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AccountSuppressionAttributes(java.lang.String name) { + this(name, AccountSuppressionAttributesArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AccountSuppressionAttributes(java.lang.String name, AccountSuppressionAttributesArgs 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 AccountSuppressionAttributes(java.lang.String name, AccountSuppressionAttributesArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private AccountSuppressionAttributes(java.lang.String name, Output id, @Nullable AccountSuppressionAttributesState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes", name, state, makeResourceOptions(options, id), false); + } + + private static AccountSuppressionAttributesArgs makeArgs(AccountSuppressionAttributesArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AccountSuppressionAttributesArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AccountSuppressionAttributes get(java.lang.String name, Output id, @Nullable AccountSuppressionAttributesState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AccountSuppressionAttributes(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountSuppressionAttributesArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountSuppressionAttributesArgs.java new file mode 100644 index 00000000000..463f1c14488 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/AccountSuppressionAttributesArgs.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.sesv2; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class AccountSuppressionAttributesArgs extends com.pulumi.resources.ResourceArgs { + + public static final AccountSuppressionAttributesArgs Empty = new AccountSuppressionAttributesArgs(); + + /** + * A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + */ + @Import(name="suppressedReasons", required=true) + private Output> suppressedReasons; + + /** + * @return A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + */ + public Output> suppressedReasons() { + return this.suppressedReasons; + } + + private AccountSuppressionAttributesArgs() {} + + private AccountSuppressionAttributesArgs(AccountSuppressionAttributesArgs $) { + this.suppressedReasons = $.suppressedReasons; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AccountSuppressionAttributesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AccountSuppressionAttributesArgs $; + + public Builder() { + $ = new AccountSuppressionAttributesArgs(); + } + + public Builder(AccountSuppressionAttributesArgs defaults) { + $ = new AccountSuppressionAttributesArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + * @return builder + * + */ + public Builder suppressedReasons(Output> suppressedReasons) { + $.suppressedReasons = suppressedReasons; + return this; + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + * @return builder + * + */ + public Builder suppressedReasons(List suppressedReasons) { + return suppressedReasons(Output.of(suppressedReasons)); + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + * @return builder + * + */ + public Builder suppressedReasons(String... suppressedReasons) { + return suppressedReasons(List.of(suppressedReasons)); + } + + public AccountSuppressionAttributesArgs build() { + if ($.suppressedReasons == null) { + throw new MissingRequiredPropertyException("AccountSuppressionAttributesArgs", "suppressedReasons"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/AccountSuppressionAttributesState.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/AccountSuppressionAttributesState.java new file mode 100644 index 00000000000..4cc653fc7a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/AccountSuppressionAttributesState.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AccountSuppressionAttributesState extends com.pulumi.resources.ResourceArgs { + + public static final AccountSuppressionAttributesState Empty = new AccountSuppressionAttributesState(); + + /** + * A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + */ + @Import(name="suppressedReasons") + private @Nullable Output> suppressedReasons; + + /** + * @return A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + */ + public Optional>> suppressedReasons() { + return Optional.ofNullable(this.suppressedReasons); + } + + private AccountSuppressionAttributesState() {} + + private AccountSuppressionAttributesState(AccountSuppressionAttributesState $) { + this.suppressedReasons = $.suppressedReasons; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AccountSuppressionAttributesState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AccountSuppressionAttributesState $; + + public Builder() { + $ = new AccountSuppressionAttributesState(); + } + + public Builder(AccountSuppressionAttributesState defaults) { + $ = new AccountSuppressionAttributesState(Objects.requireNonNull(defaults)); + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + * @return builder + * + */ + public Builder suppressedReasons(@Nullable Output> suppressedReasons) { + $.suppressedReasons = suppressedReasons; + return this; + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + * @return builder + * + */ + public Builder suppressedReasons(List suppressedReasons) { + return suppressedReasons(Output.of(suppressedReasons)); + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + * + * @return builder + * + */ + public Builder suppressedReasons(String... suppressedReasons) { + return suppressedReasons(List.of(suppressedReasons)); + } + + public AccountSuppressionAttributesState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/SyntheticsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/SyntheticsFunctions.java new file mode 100644 index 00000000000..68c6859055e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/SyntheticsFunctions.java @@ -0,0 +1,596 @@ +// *** 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.synthetics; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs; +import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionPlainArgs; +import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs; +import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsPlainArgs; +import com.pulumi.aws.synthetics.outputs.GetRuntimeVersionResult; +import com.pulumi.aws.synthetics.outputs.GetRuntimeVersionsResult; +import com.pulumi.core.Output; +import com.pulumi.core.TypeShape; +import com.pulumi.deployment.Deployment; +import com.pulumi.deployment.InvokeOptions; +import java.util.concurrent.CompletableFuture; + +public final class SyntheticsFunctions { + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Version. + * + * ## Example Usage + * + * ### Latest Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .latest(true)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Specific Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .version("9.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRuntimeVersion(GetRuntimeVersionArgs args) { + return getRuntimeVersion(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Version. + * + * ## Example Usage + * + * ### Latest Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .latest(true)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Specific Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .version("9.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRuntimeVersionPlain(GetRuntimeVersionPlainArgs args) { + return getRuntimeVersionPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Version. + * + * ## Example Usage + * + * ### Latest Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .latest(true)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Specific Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .version("9.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRuntimeVersion(GetRuntimeVersionArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:synthetics/getRuntimeVersion:getRuntimeVersion", TypeShape.of(GetRuntimeVersionResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Version. + * + * ## Example Usage + * + * ### Latest Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .latest(true)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Specific Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .version("9.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRuntimeVersionPlain(GetRuntimeVersionPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:synthetics/getRuntimeVersion:getRuntimeVersion", TypeShape.of(GetRuntimeVersionResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## 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.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersions();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRuntimeVersions() { + return getRuntimeVersions(GetRuntimeVersionsArgs.Empty, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## 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.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersions();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRuntimeVersionsPlain() { + return getRuntimeVersionsPlain(GetRuntimeVersionsPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## 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.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersions();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRuntimeVersions(GetRuntimeVersionsArgs args) { + return getRuntimeVersions(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## 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.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersions();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRuntimeVersionsPlain(GetRuntimeVersionsPlainArgs args) { + return getRuntimeVersionsPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## 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.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersions();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRuntimeVersions(GetRuntimeVersionsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:synthetics/getRuntimeVersions:getRuntimeVersions", TypeShape.of(GetRuntimeVersionsResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## 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.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;
+     * 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 = SyntheticsFunctions.getRuntimeVersions();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRuntimeVersionsPlain(GetRuntimeVersionsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:synthetics/getRuntimeVersions:getRuntimeVersions", TypeShape.of(GetRuntimeVersionsResult.class), args, Utilities.withVersion(options)); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionArgs.java new file mode 100644 index 00000000000..5f5084ab1e8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionArgs.java @@ -0,0 +1,170 @@ +// *** 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.synthetics.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetRuntimeVersionArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetRuntimeVersionArgs Empty = new GetRuntimeVersionArgs(); + + /** + * Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + * + */ + @Import(name="latest") + private @Nullable Output latest; + + /** + * @return Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + * + */ + public Optional> latest() { + return Optional.ofNullable(this.latest); + } + + /** + * Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + * + */ + @Import(name="prefix", required=true) + private Output prefix; + + /** + * @return Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + * + */ + public Output prefix() { + return this.prefix; + } + + /** + * Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + * + */ + @Import(name="version") + private @Nullable Output version; + + /** + * @return Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + * + */ + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private GetRuntimeVersionArgs() {} + + private GetRuntimeVersionArgs(GetRuntimeVersionArgs $) { + this.latest = $.latest; + this.prefix = $.prefix; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetRuntimeVersionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetRuntimeVersionArgs $; + + public Builder() { + $ = new GetRuntimeVersionArgs(); + } + + public Builder(GetRuntimeVersionArgs defaults) { + $ = new GetRuntimeVersionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param latest Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + * + * @return builder + * + */ + public Builder latest(@Nullable Output latest) { + $.latest = latest; + return this; + } + + /** + * @param latest Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + * + * @return builder + * + */ + public Builder latest(Boolean latest) { + return latest(Output.of(latest)); + } + + /** + * @param prefix Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder prefix(Output prefix) { + $.prefix = prefix; + return this; + } + + /** + * @param prefix Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder prefix(String prefix) { + return prefix(Output.of(prefix)); + } + + /** + * @param version Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + * + * @return builder + * + */ + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + /** + * @param version Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public GetRuntimeVersionArgs build() { + if ($.prefix == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionArgs", "prefix"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionPlainArgs.java new file mode 100644 index 00000000000..e7d919dad1b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionPlainArgs.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.synthetics.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetRuntimeVersionPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetRuntimeVersionPlainArgs Empty = new GetRuntimeVersionPlainArgs(); + + /** + * Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + * + */ + @Import(name="latest") + private @Nullable Boolean latest; + + /** + * @return Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + * + */ + public Optional latest() { + return Optional.ofNullable(this.latest); + } + + /** + * Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + * + */ + @Import(name="prefix", required=true) + private String prefix; + + /** + * @return Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + * + */ + public String prefix() { + return this.prefix; + } + + /** + * Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + * + */ + @Import(name="version") + private @Nullable String version; + + /** + * @return Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + * + */ + public Optional version() { + return Optional.ofNullable(this.version); + } + + private GetRuntimeVersionPlainArgs() {} + + private GetRuntimeVersionPlainArgs(GetRuntimeVersionPlainArgs $) { + this.latest = $.latest; + this.prefix = $.prefix; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetRuntimeVersionPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetRuntimeVersionPlainArgs $; + + public Builder() { + $ = new GetRuntimeVersionPlainArgs(); + } + + public Builder(GetRuntimeVersionPlainArgs defaults) { + $ = new GetRuntimeVersionPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param latest Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + * + * @return builder + * + */ + public Builder latest(@Nullable Boolean latest) { + $.latest = latest; + return this; + } + + /** + * @param prefix Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder prefix(String prefix) { + $.prefix = prefix; + return this; + } + + /** + * @param version Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + * + * @return builder + * + */ + public Builder version(@Nullable String version) { + $.version = version; + return this; + } + + public GetRuntimeVersionPlainArgs build() { + if ($.prefix == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionPlainArgs", "prefix"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsArgs.java new file mode 100644 index 00000000000..1221c9148bb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsArgs.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.synthetics.inputs; + +import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsRuntimeVersionArgs; +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 GetRuntimeVersionsArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetRuntimeVersionsArgs Empty = new GetRuntimeVersionsArgs(); + + /** + * List of runtime versions. See `runtime_versions` attribute reference. + * + */ + @Import(name="runtimeVersions") + private @Nullable Output> runtimeVersions; + + /** + * @return List of runtime versions. See `runtime_versions` attribute reference. + * + */ + public Optional>> runtimeVersions() { + return Optional.ofNullable(this.runtimeVersions); + } + + private GetRuntimeVersionsArgs() {} + + private GetRuntimeVersionsArgs(GetRuntimeVersionsArgs $) { + this.runtimeVersions = $.runtimeVersions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetRuntimeVersionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetRuntimeVersionsArgs $; + + public Builder() { + $ = new GetRuntimeVersionsArgs(); + } + + public Builder(GetRuntimeVersionsArgs defaults) { + $ = new GetRuntimeVersionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param runtimeVersions List of runtime versions. See `runtime_versions` attribute reference. + * + * @return builder + * + */ + public Builder runtimeVersions(@Nullable Output> runtimeVersions) { + $.runtimeVersions = runtimeVersions; + return this; + } + + /** + * @param runtimeVersions List of runtime versions. See `runtime_versions` attribute reference. + * + * @return builder + * + */ + public Builder runtimeVersions(List runtimeVersions) { + return runtimeVersions(Output.of(runtimeVersions)); + } + + /** + * @param runtimeVersions List of runtime versions. See `runtime_versions` attribute reference. + * + * @return builder + * + */ + public Builder runtimeVersions(GetRuntimeVersionsRuntimeVersionArgs... runtimeVersions) { + return runtimeVersions(List.of(runtimeVersions)); + } + + public GetRuntimeVersionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsPlainArgs.java new file mode 100644 index 00000000000..460b150ceca --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsPlainArgs.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.synthetics.inputs; + +import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsRuntimeVersion; +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 GetRuntimeVersionsPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetRuntimeVersionsPlainArgs Empty = new GetRuntimeVersionsPlainArgs(); + + /** + * List of runtime versions. See `runtime_versions` attribute reference. + * + */ + @Import(name="runtimeVersions") + private @Nullable List runtimeVersions; + + /** + * @return List of runtime versions. See `runtime_versions` attribute reference. + * + */ + public Optional> runtimeVersions() { + return Optional.ofNullable(this.runtimeVersions); + } + + private GetRuntimeVersionsPlainArgs() {} + + private GetRuntimeVersionsPlainArgs(GetRuntimeVersionsPlainArgs $) { + this.runtimeVersions = $.runtimeVersions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetRuntimeVersionsPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetRuntimeVersionsPlainArgs $; + + public Builder() { + $ = new GetRuntimeVersionsPlainArgs(); + } + + public Builder(GetRuntimeVersionsPlainArgs defaults) { + $ = new GetRuntimeVersionsPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param runtimeVersions List of runtime versions. See `runtime_versions` attribute reference. + * + * @return builder + * + */ + public Builder runtimeVersions(@Nullable List runtimeVersions) { + $.runtimeVersions = runtimeVersions; + return this; + } + + /** + * @param runtimeVersions List of runtime versions. See `runtime_versions` attribute reference. + * + * @return builder + * + */ + public Builder runtimeVersions(GetRuntimeVersionsRuntimeVersion... runtimeVersions) { + return runtimeVersions(List.of(runtimeVersions)); + } + + public GetRuntimeVersionsPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsRuntimeVersion.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsRuntimeVersion.java new file mode 100644 index 00000000000..2694a32ba1c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsRuntimeVersion.java @@ -0,0 +1,167 @@ +// *** 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.synthetics.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetRuntimeVersionsRuntimeVersion extends com.pulumi.resources.InvokeArgs { + + public static final GetRuntimeVersionsRuntimeVersion Empty = new GetRuntimeVersionsRuntimeVersion(); + + /** + * Date of deprecation if the runtme version is deprecated. + * + */ + @Import(name="deprecationDate", required=true) + private String deprecationDate; + + /** + * @return Date of deprecation if the runtme version is deprecated. + * + */ + public String deprecationDate() { + return this.deprecationDate; + } + + /** + * Description of the runtime version, created by Amazon. + * + */ + @Import(name="description", required=true) + private String description; + + /** + * @return Description of the runtime version, created by Amazon. + * + */ + public String description() { + return this.description; + } + + /** + * Date that the runtime version was released. + * + */ + @Import(name="releaseDate", required=true) + private String releaseDate; + + /** + * @return Date that the runtime version was released. + * + */ + public String releaseDate() { + return this.releaseDate; + } + + /** + * Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + @Import(name="versionName", required=true) + private String versionName; + + /** + * @return Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + public String versionName() { + return this.versionName; + } + + private GetRuntimeVersionsRuntimeVersion() {} + + private GetRuntimeVersionsRuntimeVersion(GetRuntimeVersionsRuntimeVersion $) { + this.deprecationDate = $.deprecationDate; + this.description = $.description; + this.releaseDate = $.releaseDate; + this.versionName = $.versionName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetRuntimeVersionsRuntimeVersion defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetRuntimeVersionsRuntimeVersion $; + + public Builder() { + $ = new GetRuntimeVersionsRuntimeVersion(); + } + + public Builder(GetRuntimeVersionsRuntimeVersion defaults) { + $ = new GetRuntimeVersionsRuntimeVersion(Objects.requireNonNull(defaults)); + } + + /** + * @param deprecationDate Date of deprecation if the runtme version is deprecated. + * + * @return builder + * + */ + public Builder deprecationDate(String deprecationDate) { + $.deprecationDate = deprecationDate; + return this; + } + + /** + * @param description Description of the runtime version, created by Amazon. + * + * @return builder + * + */ + public Builder description(String description) { + $.description = description; + return this; + } + + /** + * @param releaseDate Date that the runtime version was released. + * + * @return builder + * + */ + public Builder releaseDate(String releaseDate) { + $.releaseDate = releaseDate; + return this; + } + + /** + * @param versionName Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + * @return builder + * + */ + public Builder versionName(String versionName) { + $.versionName = versionName; + return this; + } + + public GetRuntimeVersionsRuntimeVersion build() { + if ($.deprecationDate == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersion", "deprecationDate"); + } + if ($.description == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersion", "description"); + } + if ($.releaseDate == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersion", "releaseDate"); + } + if ($.versionName == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersion", "versionName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsRuntimeVersionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsRuntimeVersionArgs.java new file mode 100644 index 00000000000..ac6c30a340a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/inputs/GetRuntimeVersionsRuntimeVersionArgs.java @@ -0,0 +1,209 @@ +// *** 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.synthetics.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 GetRuntimeVersionsRuntimeVersionArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetRuntimeVersionsRuntimeVersionArgs Empty = new GetRuntimeVersionsRuntimeVersionArgs(); + + /** + * Date of deprecation if the runtme version is deprecated. + * + */ + @Import(name="deprecationDate", required=true) + private Output deprecationDate; + + /** + * @return Date of deprecation if the runtme version is deprecated. + * + */ + public Output deprecationDate() { + return this.deprecationDate; + } + + /** + * Description of the runtime version, created by Amazon. + * + */ + @Import(name="description", required=true) + private Output description; + + /** + * @return Description of the runtime version, created by Amazon. + * + */ + public Output description() { + return this.description; + } + + /** + * Date that the runtime version was released. + * + */ + @Import(name="releaseDate", required=true) + private Output releaseDate; + + /** + * @return Date that the runtime version was released. + * + */ + public Output releaseDate() { + return this.releaseDate; + } + + /** + * Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + @Import(name="versionName", required=true) + private Output versionName; + + /** + * @return Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + public Output versionName() { + return this.versionName; + } + + private GetRuntimeVersionsRuntimeVersionArgs() {} + + private GetRuntimeVersionsRuntimeVersionArgs(GetRuntimeVersionsRuntimeVersionArgs $) { + this.deprecationDate = $.deprecationDate; + this.description = $.description; + this.releaseDate = $.releaseDate; + this.versionName = $.versionName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetRuntimeVersionsRuntimeVersionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetRuntimeVersionsRuntimeVersionArgs $; + + public Builder() { + $ = new GetRuntimeVersionsRuntimeVersionArgs(); + } + + public Builder(GetRuntimeVersionsRuntimeVersionArgs defaults) { + $ = new GetRuntimeVersionsRuntimeVersionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param deprecationDate Date of deprecation if the runtme version is deprecated. + * + * @return builder + * + */ + public Builder deprecationDate(Output deprecationDate) { + $.deprecationDate = deprecationDate; + return this; + } + + /** + * @param deprecationDate Date of deprecation if the runtme version is deprecated. + * + * @return builder + * + */ + public Builder deprecationDate(String deprecationDate) { + return deprecationDate(Output.of(deprecationDate)); + } + + /** + * @param description Description of the runtime version, created by Amazon. + * + * @return builder + * + */ + public Builder description(Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the runtime version, created by Amazon. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param releaseDate Date that the runtime version was released. + * + * @return builder + * + */ + public Builder releaseDate(Output releaseDate) { + $.releaseDate = releaseDate; + return this; + } + + /** + * @param releaseDate Date that the runtime version was released. + * + * @return builder + * + */ + public Builder releaseDate(String releaseDate) { + return releaseDate(Output.of(releaseDate)); + } + + /** + * @param versionName Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + * @return builder + * + */ + public Builder versionName(Output versionName) { + $.versionName = versionName; + return this; + } + + /** + * @param versionName Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + * @return builder + * + */ + public Builder versionName(String versionName) { + return versionName(Output.of(versionName)); + } + + public GetRuntimeVersionsRuntimeVersionArgs build() { + if ($.deprecationDate == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersionArgs", "deprecationDate"); + } + if ($.description == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersionArgs", "description"); + } + if ($.releaseDate == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersionArgs", "releaseDate"); + } + if ($.versionName == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersionArgs", "versionName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionResult.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionResult.java new file mode 100644 index 00000000000..3d2fef4e6fc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionResult.java @@ -0,0 +1,194 @@ +// *** 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.synthetics.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetRuntimeVersionResult { + /** + * @return Date of deprecation if the runtme version is deprecated. + * + */ + private String deprecationDate; + /** + * @return Description of the runtime version, created by Amazon. + * + */ + private String description; + /** + * @return Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + private String id; + private @Nullable Boolean latest; + private String prefix; + /** + * @return Date that the runtime version was released. + * + */ + private String releaseDate; + private @Nullable String version; + /** + * @return Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + private String versionName; + + private GetRuntimeVersionResult() {} + /** + * @return Date of deprecation if the runtme version is deprecated. + * + */ + public String deprecationDate() { + return this.deprecationDate; + } + /** + * @return Description of the runtime version, created by Amazon. + * + */ + public String description() { + return this.description; + } + /** + * @return Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + public String id() { + return this.id; + } + public Optional latest() { + return Optional.ofNullable(this.latest); + } + public String prefix() { + return this.prefix; + } + /** + * @return Date that the runtime version was released. + * + */ + public String releaseDate() { + return this.releaseDate; + } + public Optional version() { + return Optional.ofNullable(this.version); + } + /** + * @return Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + public String versionName() { + return this.versionName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRuntimeVersionResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String deprecationDate; + private String description; + private String id; + private @Nullable Boolean latest; + private String prefix; + private String releaseDate; + private @Nullable String version; + private String versionName; + public Builder() {} + public Builder(GetRuntimeVersionResult defaults) { + Objects.requireNonNull(defaults); + this.deprecationDate = defaults.deprecationDate; + this.description = defaults.description; + this.id = defaults.id; + this.latest = defaults.latest; + this.prefix = defaults.prefix; + this.releaseDate = defaults.releaseDate; + this.version = defaults.version; + this.versionName = defaults.versionName; + } + + @CustomType.Setter + public Builder deprecationDate(String deprecationDate) { + if (deprecationDate == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionResult", "deprecationDate"); + } + this.deprecationDate = deprecationDate; + return this; + } + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionResult", "description"); + } + this.description = description; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder latest(@Nullable Boolean latest) { + + this.latest = latest; + return this; + } + @CustomType.Setter + public Builder prefix(String prefix) { + if (prefix == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionResult", "prefix"); + } + this.prefix = prefix; + return this; + } + @CustomType.Setter + public Builder releaseDate(String releaseDate) { + if (releaseDate == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionResult", "releaseDate"); + } + this.releaseDate = releaseDate; + return this; + } + @CustomType.Setter + public Builder version(@Nullable String version) { + + this.version = version; + return this; + } + @CustomType.Setter + public Builder versionName(String versionName) { + if (versionName == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionResult", "versionName"); + } + this.versionName = versionName; + return this; + } + public GetRuntimeVersionResult build() { + final var _resultValue = new GetRuntimeVersionResult(); + _resultValue.deprecationDate = deprecationDate; + _resultValue.description = description; + _resultValue.id = id; + _resultValue.latest = latest; + _resultValue.prefix = prefix; + _resultValue.releaseDate = releaseDate; + _resultValue.version = version; + _resultValue.versionName = versionName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionsResult.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionsResult.java new file mode 100644 index 00000000000..25c6ecd84c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionsResult.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.synthetics.outputs; + +import com.pulumi.aws.synthetics.outputs.GetRuntimeVersionsRuntimeVersion; +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 GetRuntimeVersionsResult { + /** + * @return Name of the AWS region from which runtime versions are fetched. + * + */ + private String id; + /** + * @return List of runtime versions. See `runtime_versions` attribute reference. + * + */ + private @Nullable List runtimeVersions; + + private GetRuntimeVersionsResult() {} + /** + * @return Name of the AWS region from which runtime versions are fetched. + * + */ + public String id() { + return this.id; + } + /** + * @return List of runtime versions. See `runtime_versions` attribute reference. + * + */ + public List runtimeVersions() { + return this.runtimeVersions == null ? List.of() : this.runtimeVersions; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRuntimeVersionsResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + private @Nullable List runtimeVersions; + public Builder() {} + public Builder(GetRuntimeVersionsResult defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.runtimeVersions = defaults.runtimeVersions; + } + + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder runtimeVersions(@Nullable List runtimeVersions) { + + this.runtimeVersions = runtimeVersions; + return this; + } + public Builder runtimeVersions(GetRuntimeVersionsRuntimeVersion... runtimeVersions) { + return runtimeVersions(List.of(runtimeVersions)); + } + public GetRuntimeVersionsResult build() { + final var _resultValue = new GetRuntimeVersionsResult(); + _resultValue.id = id; + _resultValue.runtimeVersions = runtimeVersions; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionsRuntimeVersion.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionsRuntimeVersion.java new file mode 100644 index 00000000000..4bca2361000 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/outputs/GetRuntimeVersionsRuntimeVersion.java @@ -0,0 +1,129 @@ +// *** 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.synthetics.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetRuntimeVersionsRuntimeVersion { + /** + * @return Date of deprecation if the runtme version is deprecated. + * + */ + private String deprecationDate; + /** + * @return Description of the runtime version, created by Amazon. + * + */ + private String description; + /** + * @return Date that the runtime version was released. + * + */ + private String releaseDate; + /** + * @return Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + private String versionName; + + private GetRuntimeVersionsRuntimeVersion() {} + /** + * @return Date of deprecation if the runtme version is deprecated. + * + */ + public String deprecationDate() { + return this.deprecationDate; + } + /** + * @return Description of the runtime version, created by Amazon. + * + */ + public String description() { + return this.description; + } + /** + * @return Date that the runtime version was released. + * + */ + public String releaseDate() { + return this.releaseDate; + } + /** + * @return Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + * + */ + public String versionName() { + return this.versionName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRuntimeVersionsRuntimeVersion defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String deprecationDate; + private String description; + private String releaseDate; + private String versionName; + public Builder() {} + public Builder(GetRuntimeVersionsRuntimeVersion defaults) { + Objects.requireNonNull(defaults); + this.deprecationDate = defaults.deprecationDate; + this.description = defaults.description; + this.releaseDate = defaults.releaseDate; + this.versionName = defaults.versionName; + } + + @CustomType.Setter + public Builder deprecationDate(String deprecationDate) { + if (deprecationDate == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersion", "deprecationDate"); + } + this.deprecationDate = deprecationDate; + return this; + } + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersion", "description"); + } + this.description = description; + return this; + } + @CustomType.Setter + public Builder releaseDate(String releaseDate) { + if (releaseDate == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersion", "releaseDate"); + } + this.releaseDate = releaseDate; + return this; + } + @CustomType.Setter + public Builder versionName(String versionName) { + if (versionName == null) { + throw new MissingRequiredPropertyException("GetRuntimeVersionsRuntimeVersion", "versionName"); + } + this.versionName = versionName; + return this; + } + public GetRuntimeVersionsRuntimeVersion build() { + final var _resultValue = new GetRuntimeVersionsRuntimeVersion(); + _resultValue.deprecationDate = deprecationDate; + _resultValue.description = description; + _resultValue.releaseDate = releaseDate; + _resultValue.versionName = versionName; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/alb/listener.ts b/sdk/nodejs/alb/listener.ts index 589052bedea..6bc073814ea 100644 --- a/sdk/nodejs/alb/listener.ts +++ b/sdk/nodejs/alb/listener.ts @@ -292,8 +292,6 @@ export class Listener extends pulumi.CustomResource { public readonly sslPolicy!: 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. - * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -398,8 +396,6 @@ export interface ListenerState { sslPolicy?: 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. - * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -450,8 +446,6 @@ export interface ListenerArgs { sslPolicy?: 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. - * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/appsync/index.ts b/sdk/nodejs/appsync/index.ts index bd396551895..74f242d3288 100644 --- a/sdk/nodejs/appsync/index.ts +++ b/sdk/nodejs/appsync/index.ts @@ -45,6 +45,11 @@ export type Resolver = import("./resolver").Resolver; export const Resolver: typeof import("./resolver").Resolver = null as any; utilities.lazyLoad(exports, ["Resolver"], () => require("./resolver")); +export { SourceApiAssociationArgs, SourceApiAssociationState } from "./sourceApiAssociation"; +export type SourceApiAssociation = import("./sourceApiAssociation").SourceApiAssociation; +export const SourceApiAssociation: typeof import("./sourceApiAssociation").SourceApiAssociation = null as any; +utilities.lazyLoad(exports, ["SourceApiAssociation"], () => require("./sourceApiAssociation")); + export { TypeArgs, TypeState } from "./type"; export type Type = import("./type").Type; export const Type: typeof import("./type").Type = null as any; @@ -71,6 +76,8 @@ const _module = { return new GraphQLApi(name, undefined, { urn }) case "aws:appsync/resolver:Resolver": return new Resolver(name, undefined, { urn }) + case "aws:appsync/sourceApiAssociation:SourceApiAssociation": + return new SourceApiAssociation(name, undefined, { urn }) case "aws:appsync/type:Type": return new Type(name, undefined, { urn }) default: @@ -86,4 +93,5 @@ pulumi.runtime.registerResourceModule("aws", "appsync/domainNameApiAssociation", pulumi.runtime.registerResourceModule("aws", "appsync/function", _module) pulumi.runtime.registerResourceModule("aws", "appsync/graphQLApi", _module) pulumi.runtime.registerResourceModule("aws", "appsync/resolver", _module) +pulumi.runtime.registerResourceModule("aws", "appsync/sourceApiAssociation", _module) pulumi.runtime.registerResourceModule("aws", "appsync/type", _module) diff --git a/sdk/nodejs/appsync/sourceApiAssociation.ts b/sdk/nodejs/appsync/sourceApiAssociation.ts new file mode 100644 index 00000000000..34c7b68a0f8 --- /dev/null +++ b/sdk/nodejs/appsync/sourceApiAssociation.ts @@ -0,0 +1,196 @@ +// *** 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 AppSync Source Api Association. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = new aws.appsync.SourceApiAssociation("test", { + * description: "My source API Merged", + * mergedApiId: "gzos6bteufdunffzzifiowisoe", + * sourceApiId: "fzzifiowisoegzos6bteufdunf", + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: + * + * ```sh + * $ pulumi import aws:appsync/sourceApiAssociation:SourceApiAssociation example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 + * ``` + */ +export class SourceApiAssociation extends pulumi.CustomResource { + /** + * Get an existing SourceApiAssociation 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?: SourceApiAssociationState, opts?: pulumi.CustomResourceOptions): SourceApiAssociation { + return new SourceApiAssociation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:appsync/sourceApiAssociation:SourceApiAssociation'; + + /** + * Returns true if the given object is an instance of SourceApiAssociation. 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 SourceApiAssociation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SourceApiAssociation.__pulumiType; + } + + /** + * ARN of the Source Api Association. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * ID of the Source Api Association. + */ + public /*out*/ readonly associationId!: pulumi.Output; + /** + * Description of the source API being merged. + */ + public readonly description!: pulumi.Output; + /** + * ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + */ + public readonly mergedApiArn!: pulumi.Output; + /** + * ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + */ + public readonly mergedApiId!: pulumi.Output; + /** + * ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + */ + public readonly sourceApiArn!: pulumi.Output; + public readonly sourceApiAssociationConfigs!: pulumi.Output; + /** + * ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + */ + public readonly sourceApiId!: pulumi.Output; + public readonly timeouts!: pulumi.Output; + + /** + * Create a SourceApiAssociation 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?: SourceApiAssociationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SourceApiAssociationArgs | SourceApiAssociationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SourceApiAssociationState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["associationId"] = state ? state.associationId : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["mergedApiArn"] = state ? state.mergedApiArn : undefined; + resourceInputs["mergedApiId"] = state ? state.mergedApiId : undefined; + resourceInputs["sourceApiArn"] = state ? state.sourceApiArn : undefined; + resourceInputs["sourceApiAssociationConfigs"] = state ? state.sourceApiAssociationConfigs : undefined; + resourceInputs["sourceApiId"] = state ? state.sourceApiId : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as SourceApiAssociationArgs | undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["mergedApiArn"] = args ? args.mergedApiArn : undefined; + resourceInputs["mergedApiId"] = args ? args.mergedApiId : undefined; + resourceInputs["sourceApiArn"] = args ? args.sourceApiArn : undefined; + resourceInputs["sourceApiAssociationConfigs"] = args ? args.sourceApiAssociationConfigs : undefined; + resourceInputs["sourceApiId"] = args ? args.sourceApiId : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["associationId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SourceApiAssociation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SourceApiAssociation resources. + */ +export interface SourceApiAssociationState { + /** + * ARN of the Source Api Association. + */ + arn?: pulumi.Input; + /** + * ID of the Source Api Association. + */ + associationId?: pulumi.Input; + /** + * Description of the source API being merged. + */ + description?: pulumi.Input; + /** + * ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + */ + mergedApiArn?: pulumi.Input; + /** + * ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + */ + mergedApiId?: pulumi.Input; + /** + * ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + */ + sourceApiArn?: pulumi.Input; + sourceApiAssociationConfigs?: pulumi.Input[]>; + /** + * ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + */ + sourceApiId?: pulumi.Input; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a SourceApiAssociation resource. + */ +export interface SourceApiAssociationArgs { + /** + * Description of the source API being merged. + */ + description?: pulumi.Input; + /** + * ARN of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + */ + mergedApiArn?: pulumi.Input; + /** + * ID of the merged API. One of `mergedApiArn` or `mergedApiId` must be specified. + */ + mergedApiId?: pulumi.Input; + /** + * ARN of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + */ + sourceApiArn?: pulumi.Input; + sourceApiAssociationConfigs?: pulumi.Input[]>; + /** + * ID of the source API. One of `sourceApiArn` or `sourceApiId` must be specified. + */ + sourceApiId?: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/backup/regionSettings.ts b/sdk/nodejs/backup/regionSettings.ts index b99b976355c..b69897d0d61 100644 --- a/sdk/nodejs/backup/regionSettings.ts +++ b/sdk/nodejs/backup/regionSettings.ts @@ -26,6 +26,10 @@ import * as utilities from "../utilities"; * RDS: true, * "Storage Gateway": true, * VirtualMachine: true, + * CloudFormation: true, + * Redshift: true, + * S3: true, + * "SAP HANA on Amazon EC2": true, * }, * resourceTypeManagementPreference: { * DynamoDB: true, diff --git a/sdk/nodejs/elasticache/cluster.ts b/sdk/nodejs/elasticache/cluster.ts index 9be170fcbae..9ed8ebb5248 100644 --- a/sdk/nodejs/elasticache/cluster.ts +++ b/sdk/nodejs/elasticache/cluster.ts @@ -258,7 +258,10 @@ export class Cluster extends pulumi.CustomResource { */ public readonly networkType!: pulumi.Output; /** - * The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. */ public readonly nodeType!: pulumi.Output; /** @@ -509,7 +512,10 @@ export interface ClusterState { */ networkType?: pulumi.Input; /** - * The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. */ nodeType?: pulumi.Input; /** @@ -650,7 +656,10 @@ export interface ClusterArgs { */ networkType?: pulumi.Input; /** - * The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + * The instance class used. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + * For Memcached, changing this value will re-create the resource. */ nodeType?: pulumi.Input; /** diff --git a/sdk/nodejs/elasticache/getReservedCacheNodeOffering.ts b/sdk/nodejs/elasticache/getReservedCacheNodeOffering.ts new file mode 100644 index 00000000000..0743a644814 --- /dev/null +++ b/sdk/nodejs/elasticache/getReservedCacheNodeOffering.ts @@ -0,0 +1,138 @@ +// *** 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 ElastiCache Reserved Cache Node Offering. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.elasticache.getReservedCacheNodeOffering({ + * cacheNodeType: "cache.t4g.small", + * duration: "P1Y", + * offeringType: "No Upfront", + * productDescription: "redis", + * }); + * ``` + */ +export function getReservedCacheNodeOffering(args: GetReservedCacheNodeOfferingArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", { + "cacheNodeType": args.cacheNodeType, + "duration": args.duration, + "offeringType": args.offeringType, + "productDescription": args.productDescription, + }, opts); +} + +/** + * A collection of arguments for invoking getReservedCacheNodeOffering. + */ +export interface GetReservedCacheNodeOfferingArgs { + /** + * Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + */ + cacheNodeType: string; + /** + * Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + */ + duration: string; + /** + * Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + */ + offeringType: string; + /** + * Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + */ + productDescription: string; +} + +/** + * A collection of values returned by getReservedCacheNodeOffering. + */ +export interface GetReservedCacheNodeOfferingResult { + readonly cacheNodeType: string; + readonly duration: string; + /** + * Fixed price charged for this reserved cache node. + */ + readonly fixedPrice: number; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Unique identifier for the reservation. + */ + readonly offeringId: string; + readonly offeringType: string; + readonly productDescription: string; +} +/** + * Information about a single ElastiCache Reserved Cache Node Offering. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.elasticache.getReservedCacheNodeOffering({ + * cacheNodeType: "cache.t4g.small", + * duration: "P1Y", + * offeringType: "No Upfront", + * productDescription: "redis", + * }); + * ``` + */ +export function getReservedCacheNodeOfferingOutput(args: GetReservedCacheNodeOfferingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", { + "cacheNodeType": args.cacheNodeType, + "duration": args.duration, + "offeringType": args.offeringType, + "productDescription": args.productDescription, + }, opts); +} + +/** + * A collection of arguments for invoking getReservedCacheNodeOffering. + */ +export interface GetReservedCacheNodeOfferingOutputArgs { + /** + * Node type for the reserved cache node. + * See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + */ + cacheNodeType: pulumi.Input; + /** + * Duration of the reservation in RFC3339 duration format. + * Valid values are `P1Y` (one year) and `P3Y` (three years). + */ + duration: pulumi.Input; + /** + * Offering type of this reserved cache node. + * For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + * For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + * For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + */ + offeringType: pulumi.Input; + /** + * Engine type for the reserved cache node. + * Valid values are `redis` and `memcached`. + */ + productDescription: pulumi.Input; +} diff --git a/sdk/nodejs/elasticache/index.ts b/sdk/nodejs/elasticache/index.ts index 4e4094e8638..da615a90fe5 100644 --- a/sdk/nodejs/elasticache/index.ts +++ b/sdk/nodejs/elasticache/index.ts @@ -20,6 +20,11 @@ export const getReplicationGroup: typeof import("./getReplicationGroup").getRepl export const getReplicationGroupOutput: typeof import("./getReplicationGroup").getReplicationGroupOutput = null as any; utilities.lazyLoad(exports, ["getReplicationGroup","getReplicationGroupOutput"], () => require("./getReplicationGroup")); +export { GetReservedCacheNodeOfferingArgs, GetReservedCacheNodeOfferingResult, GetReservedCacheNodeOfferingOutputArgs } from "./getReservedCacheNodeOffering"; +export const getReservedCacheNodeOffering: typeof import("./getReservedCacheNodeOffering").getReservedCacheNodeOffering = null as any; +export const getReservedCacheNodeOfferingOutput: typeof import("./getReservedCacheNodeOffering").getReservedCacheNodeOfferingOutput = null as any; +utilities.lazyLoad(exports, ["getReservedCacheNodeOffering","getReservedCacheNodeOfferingOutput"], () => require("./getReservedCacheNodeOffering")); + export { GetSubnetGroupArgs, GetSubnetGroupResult, GetSubnetGroupOutputArgs } from "./getSubnetGroup"; export const getSubnetGroup: typeof import("./getSubnetGroup").getSubnetGroup = null as any; export const getSubnetGroupOutput: typeof import("./getSubnetGroup").getSubnetGroupOutput = null as any; @@ -45,6 +50,11 @@ export type ReplicationGroup = import("./replicationGroup").ReplicationGroup; export const ReplicationGroup: typeof import("./replicationGroup").ReplicationGroup = null as any; utilities.lazyLoad(exports, ["ReplicationGroup"], () => require("./replicationGroup")); +export { ReservedCacheNodeArgs, ReservedCacheNodeState } from "./reservedCacheNode"; +export type ReservedCacheNode = import("./reservedCacheNode").ReservedCacheNode; +export const ReservedCacheNode: typeof import("./reservedCacheNode").ReservedCacheNode = null as any; +utilities.lazyLoad(exports, ["ReservedCacheNode"], () => require("./reservedCacheNode")); + export { ServerlessCacheArgs, ServerlessCacheState } from "./serverlessCache"; export type ServerlessCache = import("./serverlessCache").ServerlessCache; export const ServerlessCache: typeof import("./serverlessCache").ServerlessCache = null as any; @@ -83,6 +93,8 @@ const _module = { return new ParameterGroup(name, undefined, { urn }) case "aws:elasticache/replicationGroup:ReplicationGroup": return new ReplicationGroup(name, undefined, { urn }) + case "aws:elasticache/reservedCacheNode:ReservedCacheNode": + return new ReservedCacheNode(name, undefined, { urn }) case "aws:elasticache/serverlessCache:ServerlessCache": return new ServerlessCache(name, undefined, { urn }) case "aws:elasticache/subnetGroup:SubnetGroup": @@ -102,6 +114,7 @@ pulumi.runtime.registerResourceModule("aws", "elasticache/cluster", _module) pulumi.runtime.registerResourceModule("aws", "elasticache/globalReplicationGroup", _module) pulumi.runtime.registerResourceModule("aws", "elasticache/parameterGroup", _module) pulumi.runtime.registerResourceModule("aws", "elasticache/replicationGroup", _module) +pulumi.runtime.registerResourceModule("aws", "elasticache/reservedCacheNode", _module) pulumi.runtime.registerResourceModule("aws", "elasticache/serverlessCache", _module) pulumi.runtime.registerResourceModule("aws", "elasticache/subnetGroup", _module) pulumi.runtime.registerResourceModule("aws", "elasticache/user", _module) diff --git a/sdk/nodejs/elasticache/replicationGroup.ts b/sdk/nodejs/elasticache/replicationGroup.ts index 741286b03b5..8caf77b9633 100644 --- a/sdk/nodejs/elasticache/replicationGroup.ts +++ b/sdk/nodejs/elasticache/replicationGroup.ts @@ -337,7 +337,10 @@ export class ReplicationGroup extends pulumi.CustomResource { */ public readonly networkType!: pulumi.Output; /** - * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. + * Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `globalReplicationGroupId` is set. + * Cannot be set if `globalReplicationGroupId` is set. */ public readonly nodeType!: pulumi.Output; /** @@ -678,7 +681,10 @@ export interface ReplicationGroupState { */ networkType?: pulumi.Input; /** - * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. + * Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `globalReplicationGroupId` is set. + * Cannot be set if `globalReplicationGroupId` is set. */ nodeType?: pulumi.Input; /** @@ -880,7 +886,10 @@ export interface ReplicationGroupArgs { */ networkType?: pulumi.Input; /** - * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. + * Instance class to be used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Required unless `globalReplicationGroupId` is set. + * Cannot be set if `globalReplicationGroupId` is set. */ nodeType?: pulumi.Input; /** diff --git a/sdk/nodejs/elasticache/reservedCacheNode.ts b/sdk/nodejs/elasticache/reservedCacheNode.ts new file mode 100644 index 00000000000..984672ecb3d --- /dev/null +++ b/sdk/nodejs/elasticache/reservedCacheNode.ts @@ -0,0 +1,249 @@ +// *** 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"; + +/** + * Manages an ElastiCache Reserved Cache Node. + * + * > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offeringId` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.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. + * + * ## Import + * + * Using `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example: + * + * ```sh + * $ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID + * ``` + */ +export class ReservedCacheNode extends pulumi.CustomResource { + /** + * Get an existing ReservedCacheNode 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?: ReservedCacheNodeState, opts?: pulumi.CustomResourceOptions): ReservedCacheNode { + return new ReservedCacheNode(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:elasticache/reservedCacheNode:ReservedCacheNode'; + + /** + * Returns true if the given object is an instance of ReservedCacheNode. 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 ReservedCacheNode { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ReservedCacheNode.__pulumiType; + } + + /** + * ARN for the reserved cache node. + */ + public /*out*/ readonly arn!: pulumi.Output; + public readonly cacheNodeCount!: pulumi.Output; + /** + * Node type for the reserved cache nodes. + */ + public /*out*/ readonly cacheNodeType!: pulumi.Output; + /** + * Duration of the reservation as an RFC3339 duration. + */ + public /*out*/ readonly duration!: pulumi.Output; + /** + * Fixed price charged for this reserved cache node. + */ + public /*out*/ readonly fixedPrice!: pulumi.Output; + /** + * Offering type of this reserved cache node. + */ + public /*out*/ readonly offeringType!: pulumi.Output; + /** + * Engine type for the reserved cache node. + */ + public /*out*/ readonly productDescription!: pulumi.Output; + /** + * Recurring price charged to run this reserved cache node. + */ + public /*out*/ readonly recurringCharges!: pulumi.Output; + /** + * ID of the reserved cache node offering to purchase. + * To determine an `reservedCacheNodesOfferingId`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + */ + public readonly reservedCacheNodesOfferingId!: pulumi.Output; + /** + * Time the reservation started. + */ + public /*out*/ readonly startTime!: pulumi.Output; + /** + * State of the reserved cache node. + */ + public /*out*/ readonly state!: pulumi.Output; + /** + * Map of tags to assign to the reservation. 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}>; + public readonly timeouts!: pulumi.Output; + /** + * Hourly price charged for this reserved cache node. + */ + public /*out*/ readonly usagePrice!: pulumi.Output; + + /** + * Create a ReservedCacheNode 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: ReservedCacheNodeArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ReservedCacheNodeArgs | ReservedCacheNodeState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ReservedCacheNodeState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["cacheNodeCount"] = state ? state.cacheNodeCount : undefined; + resourceInputs["cacheNodeType"] = state ? state.cacheNodeType : undefined; + resourceInputs["duration"] = state ? state.duration : undefined; + resourceInputs["fixedPrice"] = state ? state.fixedPrice : undefined; + resourceInputs["offeringType"] = state ? state.offeringType : undefined; + resourceInputs["productDescription"] = state ? state.productDescription : undefined; + resourceInputs["recurringCharges"] = state ? state.recurringCharges : undefined; + resourceInputs["reservedCacheNodesOfferingId"] = state ? state.reservedCacheNodesOfferingId : undefined; + resourceInputs["startTime"] = state ? state.startTime : undefined; + resourceInputs["state"] = state ? state.state : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + resourceInputs["usagePrice"] = state ? state.usagePrice : undefined; + } else { + const args = argsOrState as ReservedCacheNodeArgs | undefined; + if ((!args || args.reservedCacheNodesOfferingId === undefined) && !opts.urn) { + throw new Error("Missing required property 'reservedCacheNodesOfferingId'"); + } + resourceInputs["cacheNodeCount"] = args ? args.cacheNodeCount : undefined; + resourceInputs["reservedCacheNodesOfferingId"] = args ? args.reservedCacheNodesOfferingId : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["cacheNodeType"] = undefined /*out*/; + resourceInputs["duration"] = undefined /*out*/; + resourceInputs["fixedPrice"] = undefined /*out*/; + resourceInputs["offeringType"] = undefined /*out*/; + resourceInputs["productDescription"] = undefined /*out*/; + resourceInputs["recurringCharges"] = undefined /*out*/; + resourceInputs["startTime"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + resourceInputs["usagePrice"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ReservedCacheNode.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ReservedCacheNode resources. + */ +export interface ReservedCacheNodeState { + /** + * ARN for the reserved cache node. + */ + arn?: pulumi.Input; + cacheNodeCount?: pulumi.Input; + /** + * Node type for the reserved cache nodes. + */ + cacheNodeType?: pulumi.Input; + /** + * Duration of the reservation as an RFC3339 duration. + */ + duration?: pulumi.Input; + /** + * Fixed price charged for this reserved cache node. + */ + fixedPrice?: pulumi.Input; + /** + * Offering type of this reserved cache node. + */ + offeringType?: pulumi.Input; + /** + * Engine type for the reserved cache node. + */ + productDescription?: pulumi.Input; + /** + * Recurring price charged to run this reserved cache node. + */ + recurringCharges?: pulumi.Input[]>; + /** + * ID of the reserved cache node offering to purchase. + * To determine an `reservedCacheNodesOfferingId`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + */ + reservedCacheNodesOfferingId?: pulumi.Input; + /** + * Time the reservation started. + */ + startTime?: pulumi.Input; + /** + * State of the reserved cache node. + */ + state?: pulumi.Input; + /** + * Map of tags to assign to the reservation. 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}>; + timeouts?: pulumi.Input; + /** + * Hourly price charged for this reserved cache node. + */ + usagePrice?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ReservedCacheNode resource. + */ +export interface ReservedCacheNodeArgs { + cacheNodeCount?: pulumi.Input; + /** + * ID of the reserved cache node offering to purchase. + * To determine an `reservedCacheNodesOfferingId`, see the `aws.elasticache.getReservedCacheNodeOffering` data source. + * + * The following arguments are optional: + */ + reservedCacheNodesOfferingId: pulumi.Input; + /** + * Map of tags to assign to the reservation. 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/iam/index.ts b/sdk/nodejs/iam/index.ts index 650aa955eed..c0b5a94e004 100644 --- a/sdk/nodejs/iam/index.ts +++ b/sdk/nodejs/iam/index.ts @@ -153,6 +153,11 @@ export type Role = import("./role").Role; export const Role: typeof import("./role").Role = null as any; utilities.lazyLoad(exports, ["Role"], () => require("./role")); +export { RolePoliciesExclusiveArgs, RolePoliciesExclusiveState } from "./rolePoliciesExclusive"; +export type RolePoliciesExclusive = import("./rolePoliciesExclusive").RolePoliciesExclusive; +export const RolePoliciesExclusive: typeof import("./rolePoliciesExclusive").RolePoliciesExclusive = null as any; +utilities.lazyLoad(exports, ["RolePoliciesExclusive"], () => require("./rolePoliciesExclusive")); + export { RolePolicyArgs, RolePolicyState } from "./rolePolicy"; export type RolePolicy = import("./rolePolicy").RolePolicy; export const RolePolicy: typeof import("./rolePolicy").RolePolicy = null as any; @@ -260,6 +265,8 @@ const _module = { return new PolicyAttachment(name, undefined, { urn }) case "aws:iam/role:Role": return new Role(name, undefined, { urn }) + case "aws:iam/rolePoliciesExclusive:RolePoliciesExclusive": + return new RolePoliciesExclusive(name, undefined, { urn }) case "aws:iam/rolePolicy:RolePolicy": return new RolePolicy(name, undefined, { urn }) case "aws:iam/rolePolicyAttachment:RolePolicyAttachment": @@ -307,6 +314,7 @@ pulumi.runtime.registerResourceModule("aws", "iam/openIdConnectProvider", _modul pulumi.runtime.registerResourceModule("aws", "iam/policy", _module) pulumi.runtime.registerResourceModule("aws", "iam/policyAttachment", _module) pulumi.runtime.registerResourceModule("aws", "iam/role", _module) +pulumi.runtime.registerResourceModule("aws", "iam/rolePoliciesExclusive", _module) pulumi.runtime.registerResourceModule("aws", "iam/rolePolicy", _module) pulumi.runtime.registerResourceModule("aws", "iam/rolePolicyAttachment", _module) pulumi.runtime.registerResourceModule("aws", "iam/samlProvider", _module) diff --git a/sdk/nodejs/iam/role.ts b/sdk/nodejs/iam/role.ts index 507ba2cc5b1..233c22d8c87 100644 --- a/sdk/nodejs/iam/role.ts +++ b/sdk/nodejs/iam/role.ts @@ -240,6 +240,8 @@ export class Role extends pulumi.CustomResource { public readonly forceDetachPolicies!: pulumi.Output; /** * Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. + * + * @deprecated Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public readonly inlinePolicies!: pulumi.Output; public readonly managedPolicyArns!: pulumi.Output; @@ -362,6 +364,8 @@ export interface RoleState { forceDetachPolicies?: pulumi.Input; /** * Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. + * + * @deprecated Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ inlinePolicies?: pulumi.Input[]>; managedPolicyArns?: pulumi.Input[]>; @@ -423,6 +427,8 @@ export interface RoleArgs { forceDetachPolicies?: pulumi.Input; /** * Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inlinePolicy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. + * + * @deprecated Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ inlinePolicies?: pulumi.Input[]>; managedPolicyArns?: pulumi.Input[]>; diff --git a/sdk/nodejs/iam/rolePoliciesExclusive.ts b/sdk/nodejs/iam/rolePoliciesExclusive.ts new file mode 100644 index 00000000000..116224c5e22 --- /dev/null +++ b/sdk/nodejs/iam/rolePoliciesExclusive.ts @@ -0,0 +1,110 @@ +// *** 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"; + +/** + * ## Import + * + * Using `pulumi import`, import exclusive management of inline policy assignments using the `role_name`. For example: + * + * ```sh + * $ pulumi import aws:iam/rolePoliciesExclusive:RolePoliciesExclusive example MyRole + * ``` + */ +export class RolePoliciesExclusive extends pulumi.CustomResource { + /** + * Get an existing RolePoliciesExclusive 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?: RolePoliciesExclusiveState, opts?: pulumi.CustomResourceOptions): RolePoliciesExclusive { + return new RolePoliciesExclusive(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:iam/rolePoliciesExclusive:RolePoliciesExclusive'; + + /** + * Returns true if the given object is an instance of RolePoliciesExclusive. 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 RolePoliciesExclusive { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RolePoliciesExclusive.__pulumiType; + } + + /** + * A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + */ + public readonly policyNames!: pulumi.Output; + /** + * IAM role name. + */ + public readonly roleName!: pulumi.Output; + + /** + * Create a RolePoliciesExclusive 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: RolePoliciesExclusiveArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RolePoliciesExclusiveArgs | RolePoliciesExclusiveState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RolePoliciesExclusiveState | undefined; + resourceInputs["policyNames"] = state ? state.policyNames : undefined; + resourceInputs["roleName"] = state ? state.roleName : undefined; + } else { + const args = argsOrState as RolePoliciesExclusiveArgs | undefined; + if ((!args || args.policyNames === undefined) && !opts.urn) { + throw new Error("Missing required property 'policyNames'"); + } + if ((!args || args.roleName === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleName'"); + } + resourceInputs["policyNames"] = args ? args.policyNames : undefined; + resourceInputs["roleName"] = args ? args.roleName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RolePoliciesExclusive.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RolePoliciesExclusive resources. + */ +export interface RolePoliciesExclusiveState { + /** + * A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + */ + policyNames?: pulumi.Input[]>; + /** + * IAM role name. + */ + roleName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RolePoliciesExclusive resource. + */ +export interface RolePoliciesExclusiveArgs { + /** + * A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + */ + policyNames: pulumi.Input[]>; + /** + * IAM role name. + */ + roleName: pulumi.Input; +} diff --git a/sdk/nodejs/lb/listener.ts b/sdk/nodejs/lb/listener.ts index e007c5c4c4d..35466da1f8c 100644 --- a/sdk/nodejs/lb/listener.ts +++ b/sdk/nodejs/lb/listener.ts @@ -292,8 +292,6 @@ export class Listener extends pulumi.CustomResource { public readonly sslPolicy!: 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. - * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -398,8 +396,6 @@ export interface ListenerState { sslPolicy?: 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. - * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -450,8 +446,6 @@ export interface ListenerArgs { sslPolicy?: 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. - * - * > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/lex/v2modelsBot.ts b/sdk/nodejs/lex/v2modelsBot.ts index 7c6c12ae14a..e437aa3226d 100644 --- a/sdk/nodejs/lex/v2modelsBot.ts +++ b/sdk/nodejs/lex/v2modelsBot.ts @@ -18,13 +18,32 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * + * const exampleRole = new aws.iam.Role("example", { + * name: "example", + * assumeRolePolicy: JSON.stringify({ + * Version: "2012-10-17", + * Statement: [{ + * Action: "sts:AssumeRole", + * Effect: "Allow", + * Sid: "", + * Principal: { + * Service: "lexv2.amazonaws.com", + * }, + * }], + * }), + * tags: { + * created_by: "aws", + * }, + * }); * const example = new aws.lex.V2modelsBot("example", { * name: "example", + * description: "Example description", * dataPrivacies: [{ - * childDirected: "boolean", + * childDirected: false, * }], - * idleSessionTtlInSeconds: 10, - * roleArn: "bot_example_arn", + * idleSessionTtlInSeconds: 60, + * roleArn: exampleRole.arn, + * type: "Bot", * tags: { * foo: "bar", * }, diff --git a/sdk/nodejs/lex/v2modelsBotVersion.ts b/sdk/nodejs/lex/v2modelsBotVersion.ts index 38b64b721e7..9ac1947b379 100644 --- a/sdk/nodejs/lex/v2modelsBotVersion.ts +++ b/sdk/nodejs/lex/v2modelsBotVersion.ts @@ -19,7 +19,7 @@ import * as utilities from "../utilities"; * import * as aws from "@pulumi/aws"; * * const test = new aws.lex.V2modelsBotVersion("test", { - * botId: testAwsLexv2models.id, + * botId: testAwsLexv2modelsBot.id, * localeSpecification: { * en_US: { * sourceBotVersion: "DRAFT", diff --git a/sdk/nodejs/lex/v2modelsSlotType.ts b/sdk/nodejs/lex/v2modelsSlotType.ts index a14e55e763f..31733313fbb 100644 --- a/sdk/nodejs/lex/v2modelsSlotType.ts +++ b/sdk/nodejs/lex/v2modelsSlotType.ts @@ -48,7 +48,7 @@ import * as utilities from "../utilities"; * }); * ``` * - * ### `valueSelectionSetting` Usage + * ### valueSelectionSetting Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; diff --git a/sdk/nodejs/pinpoint/index.ts b/sdk/nodejs/pinpoint/index.ts index 3b3088d628f..2d127fe89c3 100644 --- a/sdk/nodejs/pinpoint/index.ts +++ b/sdk/nodejs/pinpoint/index.ts @@ -65,6 +65,16 @@ export type SmsChannel = import("./smsChannel").SmsChannel; export const SmsChannel: typeof import("./smsChannel").SmsChannel = null as any; utilities.lazyLoad(exports, ["SmsChannel"], () => require("./smsChannel")); +export { Smsvoicev2OptOutListArgs, Smsvoicev2OptOutListState } from "./smsvoicev2OptOutList"; +export type Smsvoicev2OptOutList = import("./smsvoicev2OptOutList").Smsvoicev2OptOutList; +export const Smsvoicev2OptOutList: typeof import("./smsvoicev2OptOutList").Smsvoicev2OptOutList = null as any; +utilities.lazyLoad(exports, ["Smsvoicev2OptOutList"], () => require("./smsvoicev2OptOutList")); + +export { Smsvoicev2PhoneNumberArgs, Smsvoicev2PhoneNumberState } from "./smsvoicev2PhoneNumber"; +export type Smsvoicev2PhoneNumber = import("./smsvoicev2PhoneNumber").Smsvoicev2PhoneNumber; +export const Smsvoicev2PhoneNumber: typeof import("./smsvoicev2PhoneNumber").Smsvoicev2PhoneNumber = null as any; +utilities.lazyLoad(exports, ["Smsvoicev2PhoneNumber"], () => require("./smsvoicev2PhoneNumber")); + const _module = { version: utilities.getVersion(), @@ -94,6 +104,10 @@ const _module = { return new GcmChannel(name, undefined, { urn }) case "aws:pinpoint/smsChannel:SmsChannel": return new SmsChannel(name, undefined, { urn }) + case "aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList": + return new Smsvoicev2OptOutList(name, undefined, { urn }) + case "aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber": + return new Smsvoicev2PhoneNumber(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -111,3 +125,5 @@ pulumi.runtime.registerResourceModule("aws", "pinpoint/emailTemplate", _module) pulumi.runtime.registerResourceModule("aws", "pinpoint/eventStream", _module) pulumi.runtime.registerResourceModule("aws", "pinpoint/gcmChannel", _module) pulumi.runtime.registerResourceModule("aws", "pinpoint/smsChannel", _module) +pulumi.runtime.registerResourceModule("aws", "pinpoint/smsvoicev2OptOutList", _module) +pulumi.runtime.registerResourceModule("aws", "pinpoint/smsvoicev2PhoneNumber", _module) diff --git a/sdk/nodejs/pinpoint/smsvoicev2OptOutList.ts b/sdk/nodejs/pinpoint/smsvoicev2OptOutList.ts new file mode 100644 index 00000000000..a1b04fa4e0c --- /dev/null +++ b/sdk/nodejs/pinpoint/smsvoicev2OptOutList.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 utilities from "../utilities"; + +/** + * Manages an AWS End User Messaging SMS opt-out list. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.pinpoint.Smsvoicev2OptOutList("example", {name: "example-opt-out-list"}); + * ``` + * + * ## Import + * + * Using `pulumi import`, import opt-out lists using the `name`. For example: + * + * ```sh + * $ pulumi import aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList example example-opt-out-list + * ``` + */ +export class Smsvoicev2OptOutList extends pulumi.CustomResource { + /** + * Get an existing Smsvoicev2OptOutList 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?: Smsvoicev2OptOutListState, opts?: pulumi.CustomResourceOptions): Smsvoicev2OptOutList { + return new Smsvoicev2OptOutList(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList'; + + /** + * Returns true if the given object is an instance of Smsvoicev2OptOutList. 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 Smsvoicev2OptOutList { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Smsvoicev2OptOutList.__pulumiType; + } + + /** + * ARN of the opt-out list. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The name of the opt-out list. + */ + public readonly name!: pulumi.Output; + /** + * Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + 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}>; + + /** + * Create a Smsvoicev2OptOutList 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?: Smsvoicev2OptOutListArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: Smsvoicev2OptOutListArgs | Smsvoicev2OptOutListState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as Smsvoicev2OptOutListState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as Smsvoicev2OptOutListArgs | undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Smsvoicev2OptOutList.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Smsvoicev2OptOutList resources. + */ +export interface Smsvoicev2OptOutListState { + /** + * ARN of the opt-out list. + */ + arn?: pulumi.Input; + /** + * The name of the opt-out list. + */ + name?: pulumi.Input; + /** + * Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + 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}>; +} + +/** + * The set of arguments for constructing a Smsvoicev2OptOutList resource. + */ +export interface Smsvoicev2OptOutListArgs { + /** + * The name of the opt-out list. + */ + name?: pulumi.Input; + /** + * Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/pinpoint/smsvoicev2PhoneNumber.ts b/sdk/nodejs/pinpoint/smsvoicev2PhoneNumber.ts new file mode 100644 index 00000000000..819f16ed644 --- /dev/null +++ b/sdk/nodejs/pinpoint/smsvoicev2PhoneNumber.ts @@ -0,0 +1,301 @@ +// *** 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"; + +/** + * Manages an AWS End User Messaging SMS phone number. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.pinpoint.Smsvoicev2PhoneNumber("example", { + * isoCountryCode: "US", + * messageType: "TRANSACTIONAL", + * numberType: "TOLL_FREE", + * numberCapabilities: ["SMS"], + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import phone numbers using the `id`. For example: + * + * ```sh + * $ pulumi import aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber example phone-abcdef0123456789abcdef0123456789 + * ``` + */ +export class Smsvoicev2PhoneNumber extends pulumi.CustomResource { + /** + * Get an existing Smsvoicev2PhoneNumber 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?: Smsvoicev2PhoneNumberState, opts?: pulumi.CustomResourceOptions): Smsvoicev2PhoneNumber { + return new Smsvoicev2PhoneNumber(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber'; + + /** + * Returns true if the given object is an instance of Smsvoicev2PhoneNumber. 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 Smsvoicev2PhoneNumber { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Smsvoicev2PhoneNumber.__pulumiType; + } + + /** + * ARN of the phone number. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * By default this is set to `false`. When set to true the phone number can’t be deleted. + */ + public readonly deletionProtectionEnabled!: pulumi.Output; + /** + * The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + */ + public readonly isoCountryCode!: pulumi.Output; + /** + * The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + */ + public readonly messageType!: pulumi.Output; + /** + * The monthly price, in US dollars, to lease the phone number. + */ + public /*out*/ readonly monthlyLeasingPrice!: pulumi.Output; + /** + * Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + */ + public readonly numberCapabilities!: pulumi.Output; + /** + * The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + */ + public readonly numberType!: pulumi.Output; + /** + * The name of the opt-out list to associate with the phone number. + */ + public readonly optOutListName!: pulumi.Output; + /** + * The new phone number that was requested. + */ + public /*out*/ readonly phoneNumber!: pulumi.Output; + /** + * Use this field to attach your phone number for an external registration process. + */ + public readonly registrationId!: pulumi.Output; + /** + * When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + */ + public readonly selfManagedOptOutsEnabled!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the two way channel. + */ + public readonly twoWayChannelArn!: pulumi.Output; + /** + * By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + */ + public readonly twoWayChannelEnabled!: pulumi.Output; + + /** + * Create a Smsvoicev2PhoneNumber 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: Smsvoicev2PhoneNumberArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: Smsvoicev2PhoneNumberArgs | Smsvoicev2PhoneNumberState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as Smsvoicev2PhoneNumberState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["deletionProtectionEnabled"] = state ? state.deletionProtectionEnabled : undefined; + resourceInputs["isoCountryCode"] = state ? state.isoCountryCode : undefined; + resourceInputs["messageType"] = state ? state.messageType : undefined; + resourceInputs["monthlyLeasingPrice"] = state ? state.monthlyLeasingPrice : undefined; + resourceInputs["numberCapabilities"] = state ? state.numberCapabilities : undefined; + resourceInputs["numberType"] = state ? state.numberType : undefined; + resourceInputs["optOutListName"] = state ? state.optOutListName : undefined; + resourceInputs["phoneNumber"] = state ? state.phoneNumber : undefined; + resourceInputs["registrationId"] = state ? state.registrationId : undefined; + resourceInputs["selfManagedOptOutsEnabled"] = state ? state.selfManagedOptOutsEnabled : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + resourceInputs["twoWayChannelArn"] = state ? state.twoWayChannelArn : undefined; + resourceInputs["twoWayChannelEnabled"] = state ? state.twoWayChannelEnabled : undefined; + } else { + const args = argsOrState as Smsvoicev2PhoneNumberArgs | undefined; + if ((!args || args.isoCountryCode === undefined) && !opts.urn) { + throw new Error("Missing required property 'isoCountryCode'"); + } + if ((!args || args.messageType === undefined) && !opts.urn) { + throw new Error("Missing required property 'messageType'"); + } + if ((!args || args.numberCapabilities === undefined) && !opts.urn) { + throw new Error("Missing required property 'numberCapabilities'"); + } + if ((!args || args.numberType === undefined) && !opts.urn) { + throw new Error("Missing required property 'numberType'"); + } + resourceInputs["deletionProtectionEnabled"] = args ? args.deletionProtectionEnabled : undefined; + resourceInputs["isoCountryCode"] = args ? args.isoCountryCode : undefined; + resourceInputs["messageType"] = args ? args.messageType : undefined; + resourceInputs["numberCapabilities"] = args ? args.numberCapabilities : undefined; + resourceInputs["numberType"] = args ? args.numberType : undefined; + resourceInputs["optOutListName"] = args ? args.optOutListName : undefined; + resourceInputs["registrationId"] = args ? args.registrationId : undefined; + resourceInputs["selfManagedOptOutsEnabled"] = args ? args.selfManagedOptOutsEnabled : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["twoWayChannelArn"] = args ? args.twoWayChannelArn : undefined; + resourceInputs["twoWayChannelEnabled"] = args ? args.twoWayChannelEnabled : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["monthlyLeasingPrice"] = undefined /*out*/; + resourceInputs["phoneNumber"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Smsvoicev2PhoneNumber.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Smsvoicev2PhoneNumber resources. + */ +export interface Smsvoicev2PhoneNumberState { + /** + * ARN of the phone number. + */ + arn?: pulumi.Input; + /** + * By default this is set to `false`. When set to true the phone number can’t be deleted. + */ + deletionProtectionEnabled?: pulumi.Input; + /** + * The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + */ + isoCountryCode?: pulumi.Input; + /** + * The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + */ + messageType?: pulumi.Input; + /** + * The monthly price, in US dollars, to lease the phone number. + */ + monthlyLeasingPrice?: pulumi.Input; + /** + * Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + */ + numberCapabilities?: pulumi.Input[]>; + /** + * The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + */ + numberType?: pulumi.Input; + /** + * The name of the opt-out list to associate with the phone number. + */ + optOutListName?: pulumi.Input; + /** + * The new phone number that was requested. + */ + phoneNumber?: pulumi.Input; + /** + * Use this field to attach your phone number for an external registration process. + */ + registrationId?: pulumi.Input; + /** + * When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + */ + selfManagedOptOutsEnabled?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the two way channel. + */ + twoWayChannelArn?: pulumi.Input; + /** + * By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + */ + twoWayChannelEnabled?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Smsvoicev2PhoneNumber resource. + */ +export interface Smsvoicev2PhoneNumberArgs { + /** + * By default this is set to `false`. When set to true the phone number can’t be deleted. + */ + deletionProtectionEnabled?: pulumi.Input; + /** + * The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + */ + isoCountryCode: pulumi.Input; + /** + * The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + */ + messageType: pulumi.Input; + /** + * Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + */ + numberCapabilities: pulumi.Input[]>; + /** + * The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + */ + numberType: pulumi.Input; + /** + * The name of the opt-out list to associate with the phone number. + */ + optOutListName?: pulumi.Input; + /** + * Use this field to attach your phone number for an external registration process. + */ + registrationId?: pulumi.Input; + /** + * When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + */ + selfManagedOptOutsEnabled?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the two way channel. + */ + twoWayChannelArn?: pulumi.Input; + /** + * By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + */ + twoWayChannelEnabled?: pulumi.Input; +} diff --git a/sdk/nodejs/s3/bucketServerSideEncryptionConfigurationV2.ts b/sdk/nodejs/s3/bucketServerSideEncryptionConfigurationV2.ts index e1eeab0c74e..3a2d784d3e3 100644 --- a/sdk/nodejs/s3/bucketServerSideEncryptionConfigurationV2.ts +++ b/sdk/nodejs/s3/bucketServerSideEncryptionConfigurationV2.ts @@ -12,8 +12,6 @@ import * as utilities from "../utilities"; * * > **NOTE:** Destroying an `aws.s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). * - * > This resource cannot be used with S3 directory buckets. - * * ## Example Usage * * ```typescript diff --git a/sdk/nodejs/securityhub/getStandardsControlAssociations.ts b/sdk/nodejs/securityhub/getStandardsControlAssociations.ts new file mode 100644 index 00000000000..d7bd7feff14 --- /dev/null +++ b/sdk/nodejs/securityhub/getStandardsControlAssociations.ts @@ -0,0 +1,103 @@ +// *** 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"; + +/** + * Data source for managing an AWS Security Hub Standards Control Associations. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const testAccount = new aws.securityhub.Account("test", {}); + * const test = aws.securityhub.getStandardsControlAssociations({ + * securityControlId: "IAM.1", + * }); + * ``` + */ +export function getStandardsControlAssociations(args: GetStandardsControlAssociationsArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", { + "securityControlId": args.securityControlId, + "standardsControlAssociations": args.standardsControlAssociations, + }, opts); +} + +/** + * A collection of arguments for invoking getStandardsControlAssociations. + */ +export interface GetStandardsControlAssociationsArgs { + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + */ + securityControlId: string; + /** + * A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standardsControlAssociations` below. + */ + standardsControlAssociations?: inputs.securityhub.GetStandardsControlAssociationsStandardsControlAssociation[]; +} + +/** + * A collection of values returned by getStandardsControlAssociations. + */ +export interface GetStandardsControlAssociationsResult { + readonly id: string; + /** + * ID of the security control. + */ + readonly securityControlId: string; + /** + * A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standardsControlAssociations` below. + */ + readonly standardsControlAssociations?: outputs.securityhub.GetStandardsControlAssociationsStandardsControlAssociation[]; +} +/** + * Data source for managing an AWS Security Hub Standards Control Associations. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const testAccount = new aws.securityhub.Account("test", {}); + * const test = aws.securityhub.getStandardsControlAssociations({ + * securityControlId: "IAM.1", + * }); + * ``` + */ +export function getStandardsControlAssociationsOutput(args: GetStandardsControlAssociationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", { + "securityControlId": args.securityControlId, + "standardsControlAssociations": args.standardsControlAssociations, + }, opts); +} + +/** + * A collection of arguments for invoking getStandardsControlAssociations. + */ +export interface GetStandardsControlAssociationsOutputArgs { + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + */ + securityControlId: pulumi.Input; + /** + * A list that provides the status and other details for each security control that applies to each enabled standard. + * See `standardsControlAssociations` below. + */ + standardsControlAssociations?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/securityhub/index.ts b/sdk/nodejs/securityhub/index.ts index 337c5494f9c..f2f761b997d 100644 --- a/sdk/nodejs/securityhub/index.ts +++ b/sdk/nodejs/securityhub/index.ts @@ -35,6 +35,11 @@ export type FindingAggregator = import("./findingAggregator").FindingAggregator; export const FindingAggregator: typeof import("./findingAggregator").FindingAggregator = null as any; utilities.lazyLoad(exports, ["FindingAggregator"], () => require("./findingAggregator")); +export { GetStandardsControlAssociationsArgs, GetStandardsControlAssociationsResult, GetStandardsControlAssociationsOutputArgs } from "./getStandardsControlAssociations"; +export const getStandardsControlAssociations: typeof import("./getStandardsControlAssociations").getStandardsControlAssociations = null as any; +export const getStandardsControlAssociationsOutput: typeof import("./getStandardsControlAssociations").getStandardsControlAssociationsOutput = null as any; +utilities.lazyLoad(exports, ["getStandardsControlAssociations","getStandardsControlAssociationsOutput"], () => require("./getStandardsControlAssociations")); + export { InsightArgs, InsightState } from "./insight"; export type Insight = import("./insight").Insight; export const Insight: typeof import("./insight").Insight = null as any; diff --git a/sdk/nodejs/sesv2/accountSuppressionAttributes.ts b/sdk/nodejs/sesv2/accountSuppressionAttributes.ts new file mode 100644 index 00000000000..8d5075f7723 --- /dev/null +++ b/sdk/nodejs/sesv2/accountSuppressionAttributes.ts @@ -0,0 +1,104 @@ +// *** 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"; + +/** + * Manages AWS SESv2 (Simple Email V2) account-level suppression attributes. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.sesv2.AccountSuppressionAttributes("example", {suppressedReasons: ["COMPLAINT"]}); + * ``` + * + * ## Import + * + * Using `pulumi import`, import account-level suppression attributes using the account ID. For example: + * + * ```sh + * $ pulumi import aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes example 123456789012 + * ``` + */ +export class AccountSuppressionAttributes extends pulumi.CustomResource { + /** + * Get an existing AccountSuppressionAttributes 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?: AccountSuppressionAttributesState, opts?: pulumi.CustomResourceOptions): AccountSuppressionAttributes { + return new AccountSuppressionAttributes(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes'; + + /** + * Returns true if the given object is an instance of AccountSuppressionAttributes. 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 AccountSuppressionAttributes { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AccountSuppressionAttributes.__pulumiType; + } + + /** + * A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + */ + public readonly suppressedReasons!: pulumi.Output; + + /** + * Create a AccountSuppressionAttributes 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: AccountSuppressionAttributesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AccountSuppressionAttributesArgs | AccountSuppressionAttributesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AccountSuppressionAttributesState | undefined; + resourceInputs["suppressedReasons"] = state ? state.suppressedReasons : undefined; + } else { + const args = argsOrState as AccountSuppressionAttributesArgs | undefined; + if ((!args || args.suppressedReasons === undefined) && !opts.urn) { + throw new Error("Missing required property 'suppressedReasons'"); + } + resourceInputs["suppressedReasons"] = args ? args.suppressedReasons : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AccountSuppressionAttributes.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AccountSuppressionAttributes resources. + */ +export interface AccountSuppressionAttributesState { + /** + * A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + */ + suppressedReasons?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a AccountSuppressionAttributes resource. + */ +export interface AccountSuppressionAttributesArgs { + /** + * A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + */ + suppressedReasons: pulumi.Input[]>; +} diff --git a/sdk/nodejs/sesv2/index.ts b/sdk/nodejs/sesv2/index.ts index df7a976c6c9..cb0fca22528 100644 --- a/sdk/nodejs/sesv2/index.ts +++ b/sdk/nodejs/sesv2/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { AccountSuppressionAttributesArgs, AccountSuppressionAttributesState } from "./accountSuppressionAttributes"; +export type AccountSuppressionAttributes = import("./accountSuppressionAttributes").AccountSuppressionAttributes; +export const AccountSuppressionAttributes: typeof import("./accountSuppressionAttributes").AccountSuppressionAttributes = null as any; +utilities.lazyLoad(exports, ["AccountSuppressionAttributes"], () => require("./accountSuppressionAttributes")); + export { AccountVdmAttributesArgs, AccountVdmAttributesState } from "./accountVdmAttributes"; export type AccountVdmAttributes = import("./accountVdmAttributes").AccountVdmAttributes; export const AccountVdmAttributes: typeof import("./accountVdmAttributes").AccountVdmAttributes = null as any; @@ -80,6 +85,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes": + return new AccountSuppressionAttributes(name, undefined, { urn }) case "aws:sesv2/accountVdmAttributes:AccountVdmAttributes": return new AccountVdmAttributes(name, undefined, { urn }) case "aws:sesv2/configurationSet:ConfigurationSet": @@ -105,6 +112,7 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "sesv2/accountSuppressionAttributes", _module) pulumi.runtime.registerResourceModule("aws", "sesv2/accountVdmAttributes", _module) pulumi.runtime.registerResourceModule("aws", "sesv2/configurationSet", _module) pulumi.runtime.registerResourceModule("aws", "sesv2/configurationSetEventDestination", _module) diff --git a/sdk/nodejs/synthetics/getRuntimeVersion.ts b/sdk/nodejs/synthetics/getRuntimeVersion.ts new file mode 100644 index 00000000000..0bbf0383c25 --- /dev/null +++ b/sdk/nodejs/synthetics/getRuntimeVersion.ts @@ -0,0 +1,149 @@ +// *** 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"; + +/** + * Data source for managing an AWS CloudWatch Synthetics Runtime Version. + * + * ## Example Usage + * + * ### Latest Runtime Version + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.synthetics.getRuntimeVersion({ + * prefix: "syn-nodejs-puppeteer", + * latest: true, + * }); + * ``` + * + * ### Specific Runtime Version + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.synthetics.getRuntimeVersion({ + * prefix: "syn-nodejs-puppeteer", + * version: "9.0", + * }); + * ``` + */ +export function getRuntimeVersion(args: GetRuntimeVersionArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:synthetics/getRuntimeVersion:getRuntimeVersion", { + "latest": args.latest, + "prefix": args.prefix, + "version": args.version, + }, opts); +} + +/** + * A collection of arguments for invoking getRuntimeVersion. + */ +export interface GetRuntimeVersionArgs { + /** + * Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + */ + latest?: boolean; + /** + * Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + */ + prefix: string; + /** + * Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + */ + version?: string; +} + +/** + * A collection of values returned by getRuntimeVersion. + */ +export interface GetRuntimeVersionResult { + /** + * Date of deprecation if the runtme version is deprecated. + */ + readonly deprecationDate: string; + /** + * Description of the runtime version, created by Amazon. + */ + readonly description: string; + /** + * Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + */ + readonly id: string; + readonly latest?: boolean; + readonly prefix: string; + /** + * Date that the runtime version was released. + */ + readonly releaseDate: string; + readonly version?: string; + /** + * Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + */ + readonly versionName: string; +} +/** + * Data source for managing an AWS CloudWatch Synthetics Runtime Version. + * + * ## Example Usage + * + * ### Latest Runtime Version + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.synthetics.getRuntimeVersion({ + * prefix: "syn-nodejs-puppeteer", + * latest: true, + * }); + * ``` + * + * ### Specific Runtime Version + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.synthetics.getRuntimeVersion({ + * prefix: "syn-nodejs-puppeteer", + * version: "9.0", + * }); + * ``` + */ +export function getRuntimeVersionOutput(args: GetRuntimeVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws:synthetics/getRuntimeVersion:getRuntimeVersion", { + "latest": args.latest, + "prefix": args.prefix, + "version": args.version, + }, opts); +} + +/** + * A collection of arguments for invoking getRuntimeVersion. + */ +export interface GetRuntimeVersionOutputArgs { + /** + * Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + */ + latest?: pulumi.Input; + /** + * Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + * + * The following arguments are optional: + */ + prefix: pulumi.Input; + /** + * Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + */ + version?: pulumi.Input; +} diff --git a/sdk/nodejs/synthetics/getRuntimeVersions.ts b/sdk/nodejs/synthetics/getRuntimeVersions.ts new file mode 100644 index 00000000000..ae189511aad --- /dev/null +++ b/sdk/nodejs/synthetics/getRuntimeVersions.ts @@ -0,0 +1,85 @@ +// *** 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"; + +/** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.synthetics.getRuntimeVersions({}); + * ``` + */ +export function getRuntimeVersions(args?: GetRuntimeVersionsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:synthetics/getRuntimeVersions:getRuntimeVersions", { + "runtimeVersions": args.runtimeVersions, + }, opts); +} + +/** + * A collection of arguments for invoking getRuntimeVersions. + */ +export interface GetRuntimeVersionsArgs { + /** + * List of runtime versions. See `runtimeVersions` attribute reference. + */ + runtimeVersions?: inputs.synthetics.GetRuntimeVersionsRuntimeVersion[]; +} + +/** + * A collection of values returned by getRuntimeVersions. + */ +export interface GetRuntimeVersionsResult { + /** + * Name of the AWS region from which runtime versions are fetched. + */ + readonly id: string; + /** + * List of runtime versions. See `runtimeVersions` attribute reference. + */ + readonly runtimeVersions?: outputs.synthetics.GetRuntimeVersionsRuntimeVersion[]; +} +/** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.synthetics.getRuntimeVersions({}); + * ``` + */ +export function getRuntimeVersionsOutput(args?: GetRuntimeVersionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws:synthetics/getRuntimeVersions:getRuntimeVersions", { + "runtimeVersions": args.runtimeVersions, + }, opts); +} + +/** + * A collection of arguments for invoking getRuntimeVersions. + */ +export interface GetRuntimeVersionsOutputArgs { + /** + * List of runtime versions. See `runtimeVersions` attribute reference. + */ + runtimeVersions?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/synthetics/index.ts b/sdk/nodejs/synthetics/index.ts index 288c4cef60c..71a038cf1c3 100644 --- a/sdk/nodejs/synthetics/index.ts +++ b/sdk/nodejs/synthetics/index.ts @@ -10,6 +10,16 @@ export type Canary = import("./canary").Canary; export const Canary: typeof import("./canary").Canary = null as any; utilities.lazyLoad(exports, ["Canary"], () => require("./canary")); +export { GetRuntimeVersionArgs, GetRuntimeVersionResult, GetRuntimeVersionOutputArgs } from "./getRuntimeVersion"; +export const getRuntimeVersion: typeof import("./getRuntimeVersion").getRuntimeVersion = null as any; +export const getRuntimeVersionOutput: typeof import("./getRuntimeVersion").getRuntimeVersionOutput = null as any; +utilities.lazyLoad(exports, ["getRuntimeVersion","getRuntimeVersionOutput"], () => require("./getRuntimeVersion")); + +export { GetRuntimeVersionsArgs, GetRuntimeVersionsResult, GetRuntimeVersionsOutputArgs } from "./getRuntimeVersions"; +export const getRuntimeVersions: typeof import("./getRuntimeVersions").getRuntimeVersions = null as any; +export const getRuntimeVersionsOutput: typeof import("./getRuntimeVersions").getRuntimeVersionsOutput = null as any; +utilities.lazyLoad(exports, ["getRuntimeVersions","getRuntimeVersionsOutput"], () => require("./getRuntimeVersions")); + export { GroupArgs, GroupState } from "./group"; export type Group = import("./group").Group; export const Group: typeof import("./group").Group = null as any; diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 1a97fa59aba..f9fe1ba1be1 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -187,6 +187,7 @@ "appsync/graphQLApi.ts", "appsync/index.ts", "appsync/resolver.ts", + "appsync/sourceApiAssociation.ts", "appsync/type.ts", "arn.ts", "athena/dataCatalog.ts", @@ -950,12 +951,14 @@ "elasticache/cluster.ts", "elasticache/getCluster.ts", "elasticache/getReplicationGroup.ts", + "elasticache/getReservedCacheNodeOffering.ts", "elasticache/getSubnetGroup.ts", "elasticache/getUser.ts", "elasticache/globalReplicationGroup.ts", "elasticache/index.ts", "elasticache/parameterGroup.ts", "elasticache/replicationGroup.ts", + "elasticache/reservedCacheNode.ts", "elasticache/serverlessCache.ts", "elasticache/subnetGroup.ts", "elasticache/user.ts", @@ -1160,6 +1163,7 @@ "iam/policyAttachment.ts", "iam/principals.ts", "iam/role.ts", + "iam/rolePoliciesExclusive.ts", "iam/rolePolicy.ts", "iam/rolePolicyAttachment.ts", "iam/samlProvider.ts", @@ -1622,6 +1626,8 @@ "pinpoint/gcmChannel.ts", "pinpoint/index.ts", "pinpoint/smsChannel.ts", + "pinpoint/smsvoicev2OptOutList.ts", + "pinpoint/smsvoicev2PhoneNumber.ts", "pipes/index.ts", "pipes/pipe.ts", "polly/getVoices.ts", @@ -1941,6 +1947,7 @@ "securityhub/configurationPolicy.ts", "securityhub/configurationPolicyAssociation.ts", "securityhub/findingAggregator.ts", + "securityhub/getStandardsControlAssociations.ts", "securityhub/index.ts", "securityhub/insight.ts", "securityhub/inviteAccepter.ts", @@ -2015,6 +2022,7 @@ "ses/receiptRule.ts", "ses/receiptRuleSet.ts", "ses/template.ts", + "sesv2/accountSuppressionAttributes.ts", "sesv2/accountVdmAttributes.ts", "sesv2/configurationSet.ts", "sesv2/configurationSetEventDestination.ts", @@ -2143,6 +2151,8 @@ "swf/domain.ts", "swf/index.ts", "synthetics/canary.ts", + "synthetics/getRuntimeVersion.ts", + "synthetics/getRuntimeVersions.ts", "synthetics/group.ts", "synthetics/groupAssociation.ts", "synthetics/index.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 720cf42841b..74d0295b658 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -976,6 +976,10 @@ export interface ProviderEndpoint { * Use this to override the default service endpoint URL */ pinpoint?: pulumi.Input; + /** + * Use this to override the default service endpoint URL + */ + pinpointsmsvoicev2?: pulumi.Input; /** * Use this to override the default service endpoint URL */ @@ -7796,6 +7800,28 @@ export namespace appsync { */ lambdaConflictHandlerArn?: pulumi.Input; } + + export interface SourceApiAssociationSourceApiAssociationConfig { + /** + * Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + */ + mergeType: pulumi.Input; + } + + export interface SourceApiAssociationTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 athena { @@ -27800,6 +27826,26 @@ export namespace elasticache { logType: pulumi.Input; } + export interface ReservedCacheNodeRecurringCharge { + recurringChargeAmount: pulumi.Input; + recurringChargeFrequency: pulumi.Input; + } + + export interface ReservedCacheNodeTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: pulumi.Input; + } + export interface ServerlessCacheCacheUsageLimits { /** * The maximum data storage limit in the cache, expressed in Gigabytes. See Data Storage config for more details. @@ -52098,7 +52144,7 @@ export namespace lex { * Sub slots in the composite slot. * See `subSlots` argument reference below. */ - subSlots: pulumi.Input[]>; + subSlots?: pulumi.Input[]>; } export interface V2modelsSlotTypeCompositeSlotTypeSettingSubSlot { @@ -52106,7 +52152,11 @@ export namespace lex { * Name of a constituent sub slot inside a composite slot. */ name: pulumi.Input; - subSlotId: pulumi.Input; + /** + * Unique identifier assigned to a slot type. + * This refers to either a built-in slot type or the unique `slotTypeId` of a custom slot type. + */ + slotTypeId: pulumi.Input; } export interface V2modelsSlotTypeExternalSourceSetting { @@ -60326,6 +60376,21 @@ export namespace pinpoint { */ value?: pulumi.Input; } + + export interface Smsvoicev2PhoneNumberTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 pipes { @@ -71094,6 +71159,84 @@ export namespace securityhub { values: pulumi.Input[]>; } + export interface GetStandardsControlAssociationsStandardsControlAssociation { + /** + * Enablement status of a control in a specific standard. + */ + associationStatus?: string; + /** + * List of underlying requirements in the compliance framework related to the standard. + */ + relatedRequirements?: string[]; + /** + * ARN of the security control. + */ + securityControlArn?: string; + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + */ + securityControlId?: string; + /** + * ARN of the standard. + */ + standardsArn?: string; + /** + * Description of the standard. + */ + standardsControlDescription?: string; + /** + * Title of the standard. + */ + standardsControlTitle?: string; + /** + * Last time that a control's enablement status in a specified standard was updated. + */ + updatedAt?: string; + /** + * Reason for updating a control's enablement status in a specified standard. + */ + updatedReason?: string; + } + + export interface GetStandardsControlAssociationsStandardsControlAssociationArgs { + /** + * Enablement status of a control in a specific standard. + */ + associationStatus?: pulumi.Input; + /** + * List of underlying requirements in the compliance framework related to the standard. + */ + relatedRequirements?: pulumi.Input[]>; + /** + * ARN of the security control. + */ + securityControlArn?: pulumi.Input; + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + */ + securityControlId?: pulumi.Input; + /** + * ARN of the standard. + */ + standardsArn?: pulumi.Input; + /** + * Description of the standard. + */ + standardsControlDescription?: pulumi.Input; + /** + * Title of the standard. + */ + standardsControlTitle?: pulumi.Input; + /** + * Last time that a control's enablement status in a specified standard was updated. + */ + updatedAt?: pulumi.Input; + /** + * Reason for updating a control's enablement status in a specified standard. + */ + updatedReason?: pulumi.Input; + } + export interface InsightFilters { /** * AWS account ID that a finding is generated in. See String_Filter below for more details. @@ -72903,6 +73046,10 @@ export namespace ses { * The name of the S3 bucket */ bucketName: pulumi.Input; + /** + * The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + */ + iamRoleArn?: pulumi.Input; /** * The ARN of the KMS key */ @@ -74474,6 +74621,46 @@ export namespace synthetics { */ vpcId?: pulumi.Input; } + + export interface GetRuntimeVersionsRuntimeVersion { + /** + * Date of deprecation if the runtme version is deprecated. + */ + deprecationDate?: string; + /** + * Description of the runtime version, created by Amazon. + */ + description?: string; + /** + * Date that the runtime version was released. + */ + releaseDate?: string; + /** + * Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + */ + versionName?: string; + } + + export interface GetRuntimeVersionsRuntimeVersionArgs { + /** + * Date of deprecation if the runtme version is deprecated. + */ + deprecationDate?: pulumi.Input; + /** + * Description of the runtime version, created by Amazon. + */ + description?: pulumi.Input; + /** + * Date that the runtime version was released. + */ + releaseDate?: pulumi.Input; + /** + * Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + */ + versionName?: pulumi.Input; + } } export namespace timestreaminfluxdb { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 303ee51e6df..0da37baf8e2 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -7940,6 +7940,28 @@ export namespace appsync { lambdaConflictHandlerArn?: string; } + export interface SourceApiAssociationSourceApiAssociationConfig { + /** + * Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + */ + mergeType: string; + } + + export interface SourceApiAssociationTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 athena { @@ -19153,6 +19175,10 @@ export namespace config { * Use this to override the default service endpoint URL */ pinpoint?: string; + /** + * Use this to override the default service endpoint URL + */ + pinpointsmsvoicev2?: string; /** * Use this to override the default service endpoint URL */ @@ -33497,6 +33523,26 @@ export namespace elasticache { logType: string; } + export interface ReservedCacheNodeRecurringCharge { + recurringChargeAmount: number; + recurringChargeFrequency: string; + } + + export interface ReservedCacheNodeTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: string; + } + export interface ServerlessCacheCacheUsageLimits { /** * The maximum data storage limit in the cache, expressed in Gigabytes. See Data Storage config for more details. @@ -59175,7 +59221,7 @@ export namespace lex { * Sub slots in the composite slot. * See `subSlots` argument reference below. */ - subSlots: outputs.lex.V2modelsSlotTypeCompositeSlotTypeSettingSubSlot[]; + subSlots?: outputs.lex.V2modelsSlotTypeCompositeSlotTypeSettingSubSlot[]; } export interface V2modelsSlotTypeCompositeSlotTypeSettingSubSlot { @@ -59183,7 +59229,11 @@ export namespace lex { * Name of a constituent sub slot inside a composite slot. */ name: string; - subSlotId: string; + /** + * Unique identifier assigned to a slot type. + * This refers to either a built-in slot type or the unique `slotTypeId` of a custom slot type. + */ + slotTypeId: string; } export interface V2modelsSlotTypeExternalSourceSetting { @@ -68197,6 +68247,21 @@ export namespace pinpoint { value?: string; } + export interface Smsvoicev2PhoneNumberTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 pipes { @@ -79333,6 +79398,45 @@ export namespace securityhub { values: string[]; } + export interface GetStandardsControlAssociationsStandardsControlAssociation { + /** + * Enablement status of a control in a specific standard. + */ + associationStatus: string; + /** + * List of underlying requirements in the compliance framework related to the standard. + */ + relatedRequirements: string[]; + /** + * ARN of the security control. + */ + securityControlArn: string; + /** + * The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + */ + securityControlId: string; + /** + * ARN of the standard. + */ + standardsArn: string; + /** + * Description of the standard. + */ + standardsControlDescription: string; + /** + * Title of the standard. + */ + standardsControlTitle: string; + /** + * Last time that a control's enablement status in a specified standard was updated. + */ + updatedAt: string; + /** + * Reason for updating a control's enablement status in a specified standard. + */ + updatedReason: string; + } + export interface InsightFilters { /** * AWS account ID that a finding is generated in. See String_Filter below for more details. @@ -81273,6 +81377,10 @@ export namespace ses { * The name of the S3 bucket */ bucketName: string; + /** + * The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + */ + iamRoleArn?: string; /** * The ARN of the KMS key */ @@ -83177,6 +83285,26 @@ export namespace synthetics { vpcId: string; } + export interface GetRuntimeVersionsRuntimeVersion { + /** + * Date of deprecation if the runtme version is deprecated. + */ + deprecationDate: string; + /** + * Description of the runtime version, created by Amazon. + */ + description: string; + /** + * Date that the runtime version was released. + */ + releaseDate: string; + /** + * Name of the runtime version. + * For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + */ + versionName: string; + } + } export namespace timestreaminfluxdb { diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index 4ea5bfe7707..f147f82fb21 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -1591,6 +1591,14 @@ "aws:appsync/resolver:Resolver": "Resolver" } }, + { + "pkg": "aws", + "mod": "appsync/sourceApiAssociation", + "fqn": "pulumi_aws.appsync", + "classes": { + "aws:appsync/sourceApiAssociation:SourceApiAssociation": "SourceApiAssociation" + } + }, { "pkg": "aws", "mod": "appsync/type", @@ -5343,6 +5351,14 @@ "aws:elasticache/replicationGroup:ReplicationGroup": "ReplicationGroup" } }, + { + "pkg": "aws", + "mod": "elasticache/reservedCacheNode", + "fqn": "pulumi_aws.elasticache", + "classes": { + "aws:elasticache/reservedCacheNode:ReservedCacheNode": "ReservedCacheNode" + } + }, { "pkg": "aws", "mod": "elasticache/serverlessCache", @@ -6367,6 +6383,14 @@ "aws:iam/role:Role": "Role" } }, + { + "pkg": "aws", + "mod": "iam/rolePoliciesExclusive", + "fqn": "pulumi_aws.iam", + "classes": { + "aws:iam/rolePoliciesExclusive:RolePoliciesExclusive": "RolePoliciesExclusive" + } + }, { "pkg": "aws", "mod": "iam/rolePolicy", @@ -8631,6 +8655,22 @@ "aws:pinpoint/smsChannel:SmsChannel": "SmsChannel" } }, + { + "pkg": "aws", + "mod": "pinpoint/smsvoicev2OptOutList", + "fqn": "pulumi_aws.pinpoint", + "classes": { + "aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList": "Smsvoicev2OptOutList" + } + }, + { + "pkg": "aws", + "mod": "pinpoint/smsvoicev2PhoneNumber", + "fqn": "pulumi_aws.pinpoint", + "classes": { + "aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber": "Smsvoicev2PhoneNumber" + } + }, { "pkg": "aws", "mod": "pipes/pipe", @@ -10743,6 +10783,14 @@ "aws:ses/template:Template": "Template" } }, + { + "pkg": "aws", + "mod": "sesv2/accountSuppressionAttributes", + "fqn": "pulumi_aws.sesv2", + "classes": { + "aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes": "AccountSuppressionAttributes" + } + }, { "pkg": "aws", "mod": "sesv2/accountVdmAttributes", diff --git a/sdk/python/pulumi_aws/_inputs.py b/sdk/python/pulumi_aws/_inputs.py index 8a8bc68fd71..5b4305f27f3 100644 --- a/sdk/python/pulumi_aws/_inputs.py +++ b/sdk/python/pulumi_aws/_inputs.py @@ -1228,6 +1228,10 @@ class ProviderEndpointArgsDict(TypedDict): """ Use this to override the default service endpoint URL """ + pinpointsmsvoicev2: NotRequired[pulumi.Input[str]] + """ + Use this to override the default service endpoint URL + """ pipes: NotRequired[pulumi.Input[str]] """ Use this to override the default service endpoint URL @@ -1769,6 +1773,7 @@ def __init__(__self__, *, pcaconnectorad: Optional[pulumi.Input[str]] = None, pcs: Optional[pulumi.Input[str]] = None, pinpoint: Optional[pulumi.Input[str]] = None, + pinpointsmsvoicev2: Optional[pulumi.Input[str]] = None, pipes: Optional[pulumi.Input[str]] = None, polly: Optional[pulumi.Input[str]] = None, pricing: Optional[pulumi.Input[str]] = None, @@ -2059,6 +2064,7 @@ def __init__(__self__, *, :param pulumi.Input[str] pcaconnectorad: Use this to override the default service endpoint URL :param pulumi.Input[str] pcs: Use this to override the default service endpoint URL :param pulumi.Input[str] pinpoint: Use this to override the default service endpoint URL + :param pulumi.Input[str] pinpointsmsvoicev2: Use this to override the default service endpoint URL :param pulumi.Input[str] pipes: Use this to override the default service endpoint URL :param pulumi.Input[str] polly: Use this to override the default service endpoint URL :param pulumi.Input[str] pricing: Use this to override the default service endpoint URL @@ -2556,6 +2562,8 @@ def __init__(__self__, *, pulumi.set(__self__, "pcs", pcs) if pinpoint is not None: pulumi.set(__self__, "pinpoint", pinpoint) + if pinpointsmsvoicev2 is not None: + pulumi.set(__self__, "pinpointsmsvoicev2", pinpointsmsvoicev2) if pipes is not None: pulumi.set(__self__, "pipes", pipes) if polly is not None: @@ -5205,6 +5213,18 @@ def pinpoint(self) -> Optional[pulumi.Input[str]]: def pinpoint(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pinpoint", value) + @property + @pulumi.getter + def pinpointsmsvoicev2(self) -> Optional[pulumi.Input[str]]: + """ + Use this to override the default service endpoint URL + """ + return pulumi.get(self, "pinpointsmsvoicev2") + + @pinpointsmsvoicev2.setter + def pinpointsmsvoicev2(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pinpointsmsvoicev2", value) + @property @pulumi.getter def pipes(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws/alb/listener.py b/sdk/python/pulumi_aws/alb/listener.py index e76146817d6..79e025ce544 100644 --- a/sdk/python/pulumi_aws/alb/listener.py +++ b/sdk/python/pulumi_aws/alb/listener.py @@ -43,8 +43,6 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ pulumi.set(__self__, "default_actions", default_actions) pulumi.set(__self__, "load_balancer_arn", load_balancer_arn) @@ -166,8 +164,6 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): 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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ return pulumi.get(self, "tags") @@ -204,8 +200,6 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. :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. """ if alpn_policy is not None: @@ -349,8 +343,6 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): 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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ return pulumi.get(self, "tags") @@ -607,8 +599,6 @@ def __init__(__self__, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ ... @overload @@ -913,8 +903,6 @@ def get(resource_name: str, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. :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. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1013,8 +1001,6 @@ def ssl_policy(self) -> pulumi.Output[str]: 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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/appsync/__init__.py b/sdk/python/pulumi_aws/appsync/__init__.py index f49bc011268..b89170c88fe 100644 --- a/sdk/python/pulumi_aws/appsync/__init__.py +++ b/sdk/python/pulumi_aws/appsync/__init__.py @@ -13,6 +13,7 @@ from .function import * from .graph_ql_api import * from .resolver import * +from .source_api_association import * from .type import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/appsync/_inputs.py b/sdk/python/pulumi_aws/appsync/_inputs.py index 09876fbd00d..b9e76296a35 100644 --- a/sdk/python/pulumi_aws/appsync/_inputs.py +++ b/sdk/python/pulumi_aws/appsync/_inputs.py @@ -71,6 +71,10 @@ 'ResolverSyncConfigArgsDict', 'ResolverSyncConfigLambdaConflictHandlerConfigArgs', 'ResolverSyncConfigLambdaConflictHandlerConfigArgsDict', + 'SourceApiAssociationSourceApiAssociationConfigArgs', + 'SourceApiAssociationSourceApiAssociationConfigArgsDict', + 'SourceApiAssociationTimeoutsArgs', + 'SourceApiAssociationTimeoutsArgsDict', ] MYPY = False @@ -1845,3 +1849,106 @@ def lambda_conflict_handler_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "lambda_conflict_handler_arn", value) +if not MYPY: + class SourceApiAssociationSourceApiAssociationConfigArgsDict(TypedDict): + merge_type: pulumi.Input[str] + """ + Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + """ +elif False: + SourceApiAssociationSourceApiAssociationConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SourceApiAssociationSourceApiAssociationConfigArgs: + def __init__(__self__, *, + merge_type: pulumi.Input[str]): + """ + :param pulumi.Input[str] merge_type: Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + """ + pulumi.set(__self__, "merge_type", merge_type) + + @property + @pulumi.getter(name="mergeType") + def merge_type(self) -> pulumi.Input[str]: + """ + Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + """ + return pulumi.get(self, "merge_type") + + @merge_type.setter + def merge_type(self, value: pulumi.Input[str]): + pulumi.set(self, "merge_type", value) + + +if not MYPY: + class SourceApiAssociationTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + delete: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + update: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ +elif False: + SourceApiAssociationTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SourceApiAssociationTimeoutsArgs: + 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/appsync/outputs.py b/sdk/python/pulumi_aws/appsync/outputs.py index 2503e3aaca2..08a6dd3e54c 100644 --- a/sdk/python/pulumi_aws/appsync/outputs.py +++ b/sdk/python/pulumi_aws/appsync/outputs.py @@ -44,6 +44,8 @@ 'ResolverRuntime', 'ResolverSyncConfig', 'ResolverSyncConfigLambdaConflictHandlerConfig', + 'SourceApiAssociationSourceApiAssociationConfig', + 'SourceApiAssociationTimeouts', ] @pulumi.output_type @@ -1583,3 +1585,81 @@ def lambda_conflict_handler_arn(self) -> Optional[str]: return pulumi.get(self, "lambda_conflict_handler_arn") +@pulumi.output_type +class SourceApiAssociationSourceApiAssociationConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "mergeType": + suggest = "merge_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SourceApiAssociationSourceApiAssociationConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SourceApiAssociationSourceApiAssociationConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SourceApiAssociationSourceApiAssociationConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + merge_type: str): + """ + :param str merge_type: Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + """ + pulumi.set(__self__, "merge_type", merge_type) + + @property + @pulumi.getter(name="mergeType") + def merge_type(self) -> str: + """ + Merge type. Valid values: `MANUAL_MERGE`, `AUTO_MERGE` + """ + return pulumi.get(self, "merge_type") + + +@pulumi.output_type +class SourceApiAssociationTimeouts(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/appsync/source_api_association.py b/sdk/python/pulumi_aws/appsync/source_api_association.py new file mode 100644 index 00000000000..5b45ad14f6f --- /dev/null +++ b/sdk/python/pulumi_aws/appsync/source_api_association.py @@ -0,0 +1,508 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['SourceApiAssociationArgs', 'SourceApiAssociation'] + +@pulumi.input_type +class SourceApiAssociationArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + merged_api_arn: Optional[pulumi.Input[str]] = None, + merged_api_id: Optional[pulumi.Input[str]] = None, + source_api_arn: Optional[pulumi.Input[str]] = None, + source_api_association_configs: Optional[pulumi.Input[Sequence[pulumi.Input['SourceApiAssociationSourceApiAssociationConfigArgs']]]] = None, + source_api_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input['SourceApiAssociationTimeoutsArgs']] = None): + """ + The set of arguments for constructing a SourceApiAssociation resource. + :param pulumi.Input[str] description: Description of the source API being merged. + :param pulumi.Input[str] merged_api_arn: ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + :param pulumi.Input[str] merged_api_id: ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + :param pulumi.Input[str] source_api_arn: ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + :param pulumi.Input[str] source_api_id: ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if merged_api_arn is not None: + pulumi.set(__self__, "merged_api_arn", merged_api_arn) + if merged_api_id is not None: + pulumi.set(__self__, "merged_api_id", merged_api_id) + if source_api_arn is not None: + pulumi.set(__self__, "source_api_arn", source_api_arn) + if source_api_association_configs is not None: + pulumi.set(__self__, "source_api_association_configs", source_api_association_configs) + if source_api_id is not None: + pulumi.set(__self__, "source_api_id", source_api_id) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the source API being merged. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="mergedApiArn") + def merged_api_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + """ + return pulumi.get(self, "merged_api_arn") + + @merged_api_arn.setter + def merged_api_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "merged_api_arn", value) + + @property + @pulumi.getter(name="mergedApiId") + def merged_api_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + """ + return pulumi.get(self, "merged_api_id") + + @merged_api_id.setter + def merged_api_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "merged_api_id", value) + + @property + @pulumi.getter(name="sourceApiArn") + def source_api_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + return pulumi.get(self, "source_api_arn") + + @source_api_arn.setter + def source_api_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_api_arn", value) + + @property + @pulumi.getter(name="sourceApiAssociationConfigs") + def source_api_association_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SourceApiAssociationSourceApiAssociationConfigArgs']]]]: + return pulumi.get(self, "source_api_association_configs") + + @source_api_association_configs.setter + def source_api_association_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SourceApiAssociationSourceApiAssociationConfigArgs']]]]): + pulumi.set(self, "source_api_association_configs", value) + + @property + @pulumi.getter(name="sourceApiId") + def source_api_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + return pulumi.get(self, "source_api_id") + + @source_api_id.setter + def source_api_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_api_id", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['SourceApiAssociationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['SourceApiAssociationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _SourceApiAssociationState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + association_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + merged_api_arn: Optional[pulumi.Input[str]] = None, + merged_api_id: Optional[pulumi.Input[str]] = None, + source_api_arn: Optional[pulumi.Input[str]] = None, + source_api_association_configs: Optional[pulumi.Input[Sequence[pulumi.Input['SourceApiAssociationSourceApiAssociationConfigArgs']]]] = None, + source_api_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input['SourceApiAssociationTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering SourceApiAssociation resources. + :param pulumi.Input[str] arn: ARN of the Source Api Association. + :param pulumi.Input[str] association_id: ID of the Source Api Association. + :param pulumi.Input[str] description: Description of the source API being merged. + :param pulumi.Input[str] merged_api_arn: ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + :param pulumi.Input[str] merged_api_id: ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + :param pulumi.Input[str] source_api_arn: ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + :param pulumi.Input[str] source_api_id: ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if association_id is not None: + pulumi.set(__self__, "association_id", association_id) + if description is not None: + pulumi.set(__self__, "description", description) + if merged_api_arn is not None: + pulumi.set(__self__, "merged_api_arn", merged_api_arn) + if merged_api_id is not None: + pulumi.set(__self__, "merged_api_id", merged_api_id) + if source_api_arn is not None: + pulumi.set(__self__, "source_api_arn", source_api_arn) + if source_api_association_configs is not None: + pulumi.set(__self__, "source_api_association_configs", source_api_association_configs) + if source_api_id is not None: + pulumi.set(__self__, "source_api_id", source_api_id) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Source Api Association. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="associationId") + def association_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Source Api Association. + """ + return pulumi.get(self, "association_id") + + @association_id.setter + def association_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "association_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the source API being merged. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="mergedApiArn") + def merged_api_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + """ + return pulumi.get(self, "merged_api_arn") + + @merged_api_arn.setter + def merged_api_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "merged_api_arn", value) + + @property + @pulumi.getter(name="mergedApiId") + def merged_api_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + """ + return pulumi.get(self, "merged_api_id") + + @merged_api_id.setter + def merged_api_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "merged_api_id", value) + + @property + @pulumi.getter(name="sourceApiArn") + def source_api_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + return pulumi.get(self, "source_api_arn") + + @source_api_arn.setter + def source_api_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_api_arn", value) + + @property + @pulumi.getter(name="sourceApiAssociationConfigs") + def source_api_association_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SourceApiAssociationSourceApiAssociationConfigArgs']]]]: + return pulumi.get(self, "source_api_association_configs") + + @source_api_association_configs.setter + def source_api_association_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SourceApiAssociationSourceApiAssociationConfigArgs']]]]): + pulumi.set(self, "source_api_association_configs", value) + + @property + @pulumi.getter(name="sourceApiId") + def source_api_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + return pulumi.get(self, "source_api_id") + + @source_api_id.setter + def source_api_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_api_id", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['SourceApiAssociationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['SourceApiAssociationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class SourceApiAssociation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + merged_api_arn: Optional[pulumi.Input[str]] = None, + merged_api_id: Optional[pulumi.Input[str]] = None, + source_api_arn: Optional[pulumi.Input[str]] = None, + source_api_association_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SourceApiAssociationSourceApiAssociationConfigArgs', 'SourceApiAssociationSourceApiAssociationConfigArgsDict']]]]] = None, + source_api_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[Union['SourceApiAssociationTimeoutsArgs', 'SourceApiAssociationTimeoutsArgsDict']]] = None, + __props__=None): + """ + Resource for managing an AWS AppSync Source Api Association. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.appsync.SourceApiAssociation("test", + description="My source API Merged", + merged_api_id="gzos6bteufdunffzzifiowisoe", + source_api_id="fzzifiowisoegzos6bteufdunf") + ``` + + ## Import + + Using `pulumi import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: + + ```sh + $ pulumi import aws:appsync/sourceApiAssociation:SourceApiAssociation example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Description of the source API being merged. + :param pulumi.Input[str] merged_api_arn: ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + :param pulumi.Input[str] merged_api_id: ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + :param pulumi.Input[str] source_api_arn: ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + :param pulumi.Input[str] source_api_id: ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[SourceApiAssociationArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS AppSync Source Api Association. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.appsync.SourceApiAssociation("test", + description="My source API Merged", + merged_api_id="gzos6bteufdunffzzifiowisoe", + source_api_id="fzzifiowisoegzos6bteufdunf") + ``` + + ## Import + + Using `pulumi import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: + + ```sh + $ pulumi import aws:appsync/sourceApiAssociation:SourceApiAssociation example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 + ``` + + :param str resource_name: The name of the resource. + :param SourceApiAssociationArgs 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(SourceApiAssociationArgs, 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, + description: Optional[pulumi.Input[str]] = None, + merged_api_arn: Optional[pulumi.Input[str]] = None, + merged_api_id: Optional[pulumi.Input[str]] = None, + source_api_arn: Optional[pulumi.Input[str]] = None, + source_api_association_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SourceApiAssociationSourceApiAssociationConfigArgs', 'SourceApiAssociationSourceApiAssociationConfigArgsDict']]]]] = None, + source_api_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[Union['SourceApiAssociationTimeoutsArgs', 'SourceApiAssociationTimeoutsArgsDict']]] = 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__ = SourceApiAssociationArgs.__new__(SourceApiAssociationArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["merged_api_arn"] = merged_api_arn + __props__.__dict__["merged_api_id"] = merged_api_id + __props__.__dict__["source_api_arn"] = source_api_arn + __props__.__dict__["source_api_association_configs"] = source_api_association_configs + __props__.__dict__["source_api_id"] = source_api_id + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["arn"] = None + __props__.__dict__["association_id"] = None + super(SourceApiAssociation, __self__).__init__( + 'aws:appsync/sourceApiAssociation:SourceApiAssociation', + 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, + association_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + merged_api_arn: Optional[pulumi.Input[str]] = None, + merged_api_id: Optional[pulumi.Input[str]] = None, + source_api_arn: Optional[pulumi.Input[str]] = None, + source_api_association_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SourceApiAssociationSourceApiAssociationConfigArgs', 'SourceApiAssociationSourceApiAssociationConfigArgsDict']]]]] = None, + source_api_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[Union['SourceApiAssociationTimeoutsArgs', 'SourceApiAssociationTimeoutsArgsDict']]] = None) -> 'SourceApiAssociation': + """ + Get an existing SourceApiAssociation 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 Source Api Association. + :param pulumi.Input[str] association_id: ID of the Source Api Association. + :param pulumi.Input[str] description: Description of the source API being merged. + :param pulumi.Input[str] merged_api_arn: ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + :param pulumi.Input[str] merged_api_id: ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + :param pulumi.Input[str] source_api_arn: ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + :param pulumi.Input[str] source_api_id: ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SourceApiAssociationState.__new__(_SourceApiAssociationState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["association_id"] = association_id + __props__.__dict__["description"] = description + __props__.__dict__["merged_api_arn"] = merged_api_arn + __props__.__dict__["merged_api_id"] = merged_api_id + __props__.__dict__["source_api_arn"] = source_api_arn + __props__.__dict__["source_api_association_configs"] = source_api_association_configs + __props__.__dict__["source_api_id"] = source_api_id + __props__.__dict__["timeouts"] = timeouts + return SourceApiAssociation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the Source Api Association. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="associationId") + def association_id(self) -> pulumi.Output[str]: + """ + ID of the Source Api Association. + """ + return pulumi.get(self, "association_id") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of the source API being merged. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="mergedApiArn") + def merged_api_arn(self) -> pulumi.Output[str]: + """ + ARN of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + """ + return pulumi.get(self, "merged_api_arn") + + @property + @pulumi.getter(name="mergedApiId") + def merged_api_id(self) -> pulumi.Output[str]: + """ + ID of the merged API. One of `merged_api_arn` or `merged_api_id` must be specified. + """ + return pulumi.get(self, "merged_api_id") + + @property + @pulumi.getter(name="sourceApiArn") + def source_api_arn(self) -> pulumi.Output[str]: + """ + ARN of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + return pulumi.get(self, "source_api_arn") + + @property + @pulumi.getter(name="sourceApiAssociationConfigs") + def source_api_association_configs(self) -> pulumi.Output[Sequence['outputs.SourceApiAssociationSourceApiAssociationConfig']]: + return pulumi.get(self, "source_api_association_configs") + + @property + @pulumi.getter(name="sourceApiId") + def source_api_id(self) -> pulumi.Output[str]: + """ + ID of the source API. One of `source_api_arn` or `source_api_id` must be specified. + """ + return pulumi.get(self, "source_api_id") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.SourceApiAssociationTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/backup/region_settings.py b/sdk/python/pulumi_aws/backup/region_settings.py index fa4ead12af5..12cd397c1da 100644 --- a/sdk/python/pulumi_aws/backup/region_settings.py +++ b/sdk/python/pulumi_aws/backup/region_settings.py @@ -125,6 +125,10 @@ def __init__(__self__, "RDS": True, "Storage Gateway": True, "VirtualMachine": True, + "CloudFormation": True, + "Redshift": True, + "S3": True, + "SAP HANA on Amazon EC2": True, }, resource_type_management_preference={ "DynamoDB": True, @@ -173,6 +177,10 @@ def __init__(__self__, "RDS": True, "Storage Gateway": True, "VirtualMachine": True, + "CloudFormation": True, + "Redshift": True, + "S3": True, + "SAP HANA on Amazon EC2": True, }, resource_type_management_preference={ "DynamoDB": True, diff --git a/sdk/python/pulumi_aws/config/outputs.py b/sdk/python/pulumi_aws/config/outputs.py index 14543d47c86..4b9553614cb 100644 --- a/sdk/python/pulumi_aws/config/outputs.py +++ b/sdk/python/pulumi_aws/config/outputs.py @@ -449,6 +449,7 @@ def __init__(__self__, *, pcaconnectorad: Optional[str] = None, pcs: Optional[str] = None, pinpoint: Optional[str] = None, + pinpointsmsvoicev2: Optional[str] = None, pipes: Optional[str] = None, polly: Optional[str] = None, pricing: Optional[str] = None, @@ -739,6 +740,7 @@ def __init__(__self__, *, :param str pcaconnectorad: Use this to override the default service endpoint URL :param str pcs: Use this to override the default service endpoint URL :param str pinpoint: Use this to override the default service endpoint URL + :param str pinpointsmsvoicev2: Use this to override the default service endpoint URL :param str pipes: Use this to override the default service endpoint URL :param str polly: Use this to override the default service endpoint URL :param str pricing: Use this to override the default service endpoint URL @@ -1236,6 +1238,8 @@ def __init__(__self__, *, pulumi.set(__self__, "pcs", pcs) if pinpoint is not None: pulumi.set(__self__, "pinpoint", pinpoint) + if pinpointsmsvoicev2 is not None: + pulumi.set(__self__, "pinpointsmsvoicev2", pinpointsmsvoicev2) if pipes is not None: pulumi.set(__self__, "pipes", pipes) if polly is not None: @@ -3057,6 +3061,14 @@ def pinpoint(self) -> Optional[str]: """ return pulumi.get(self, "pinpoint") + @property + @pulumi.getter + def pinpointsmsvoicev2(self) -> Optional[str]: + """ + Use this to override the default service endpoint URL + """ + return pulumi.get(self, "pinpointsmsvoicev2") + @property @pulumi.getter def pipes(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws/elasticache/__init__.py b/sdk/python/pulumi_aws/elasticache/__init__.py index 39143698ee6..989f6192adc 100644 --- a/sdk/python/pulumi_aws/elasticache/__init__.py +++ b/sdk/python/pulumi_aws/elasticache/__init__.py @@ -8,11 +8,13 @@ from .cluster import * from .get_cluster import * from .get_replication_group import * +from .get_reserved_cache_node_offering import * from .get_subnet_group import * from .get_user import * from .global_replication_group import * from .parameter_group import * from .replication_group import * +from .reserved_cache_node import * from .serverless_cache import * from .subnet_group import * from .user import * diff --git a/sdk/python/pulumi_aws/elasticache/_inputs.py b/sdk/python/pulumi_aws/elasticache/_inputs.py index bd3601707d8..7ca7441afe6 100644 --- a/sdk/python/pulumi_aws/elasticache/_inputs.py +++ b/sdk/python/pulumi_aws/elasticache/_inputs.py @@ -25,6 +25,10 @@ 'ParameterGroupParameterArgsDict', 'ReplicationGroupLogDeliveryConfigurationArgs', 'ReplicationGroupLogDeliveryConfigurationArgsDict', + 'ReservedCacheNodeRecurringChargeArgs', + 'ReservedCacheNodeRecurringChargeArgsDict', + 'ReservedCacheNodeTimeoutsArgs', + 'ReservedCacheNodeTimeoutsArgsDict', 'ServerlessCacheCacheUsageLimitsArgs', 'ServerlessCacheCacheUsageLimitsArgsDict', 'ServerlessCacheCacheUsageLimitsDataStorageArgs', @@ -414,6 +418,112 @@ def log_type(self, value: pulumi.Input[str]): pulumi.set(self, "log_type", value) +if not MYPY: + class ReservedCacheNodeRecurringChargeArgsDict(TypedDict): + recurring_charge_amount: pulumi.Input[float] + recurring_charge_frequency: pulumi.Input[str] +elif False: + ReservedCacheNodeRecurringChargeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ReservedCacheNodeRecurringChargeArgs: + def __init__(__self__, *, + recurring_charge_amount: pulumi.Input[float], + recurring_charge_frequency: pulumi.Input[str]): + pulumi.set(__self__, "recurring_charge_amount", recurring_charge_amount) + pulumi.set(__self__, "recurring_charge_frequency", recurring_charge_frequency) + + @property + @pulumi.getter(name="recurringChargeAmount") + def recurring_charge_amount(self) -> pulumi.Input[float]: + return pulumi.get(self, "recurring_charge_amount") + + @recurring_charge_amount.setter + def recurring_charge_amount(self, value: pulumi.Input[float]): + pulumi.set(self, "recurring_charge_amount", value) + + @property + @pulumi.getter(name="recurringChargeFrequency") + def recurring_charge_frequency(self) -> pulumi.Input[str]: + return pulumi.get(self, "recurring_charge_frequency") + + @recurring_charge_frequency.setter + def recurring_charge_frequency(self, value: pulumi.Input[str]): + pulumi.set(self, "recurring_charge_frequency", value) + + +if not MYPY: + class ReservedCacheNodeTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + delete: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + update: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ +elif False: + ReservedCacheNodeTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ReservedCacheNodeTimeoutsArgs: + def __init__(__self__, *, + create: Optional[pulumi.Input[str]] = None, + delete: Optional[pulumi.Input[str]] = None, + update: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param pulumi.Input[str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param pulumi.Input[str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @create.setter + def create(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create", value) + + @property + @pulumi.getter + def delete(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @delete.setter + def delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delete", value) + + @property + @pulumi.getter + def update(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + @update.setter + def update(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update", value) + + if not MYPY: class ServerlessCacheCacheUsageLimitsArgsDict(TypedDict): data_storage: NotRequired[pulumi.Input['ServerlessCacheCacheUsageLimitsDataStorageArgsDict']] diff --git a/sdk/python/pulumi_aws/elasticache/cluster.py b/sdk/python/pulumi_aws/elasticache/cluster.py index 92619262561..1d1eb28cfa5 100644 --- a/sdk/python/pulumi_aws/elasticache/cluster.py +++ b/sdk/python/pulumi_aws/elasticache/cluster.py @@ -75,7 +75,10 @@ def __init__(__self__, *, on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`. :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dual_stack`. - :param pulumi.Input[str] node_type: The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + :param pulumi.Input[str] node_type: The instance class used. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + For Memcached, changing this value will re-create the resource. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. :param pulumi.Input[int] num_cache_nodes: The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed. :param pulumi.Input[str] outpost_mode: Specify the outpost mode that will apply to the cache cluster creation. Valid values are `"single-outpost"` and `"cross-outpost"`, however AWS currently only supports `"single-outpost"` mode. @@ -313,7 +316,10 @@ def network_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeType") def node_type(self) -> Optional[pulumi.Input[str]]: """ - The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + The instance class used. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + For Memcached, changing this value will re-create the resource. """ return pulumi.get(self, "node_type") @@ -584,7 +590,10 @@ def __init__(__self__, *, on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`. :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dual_stack`. - :param pulumi.Input[str] node_type: The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + :param pulumi.Input[str] node_type: The instance class used. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + For Memcached, changing this value will re-create the resource. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. :param pulumi.Input[int] num_cache_nodes: The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed. :param pulumi.Input[str] outpost_mode: Specify the outpost mode that will apply to the cache cluster creation. Valid values are `"single-outpost"` and `"cross-outpost"`, however AWS currently only supports `"single-outpost"` mode. @@ -898,7 +907,10 @@ def network_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeType") def node_type(self) -> Optional[pulumi.Input[str]]: """ - The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + The instance class used. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + For Memcached, changing this value will re-create the resource. """ return pulumi.get(self, "node_type") @@ -1308,7 +1320,10 @@ def __init__(__self__, on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`. :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dual_stack`. - :param pulumi.Input[str] node_type: The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + :param pulumi.Input[str] node_type: The instance class used. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + For Memcached, changing this value will re-create the resource. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. :param pulumi.Input[int] num_cache_nodes: The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed. :param pulumi.Input[str] outpost_mode: Specify the outpost mode that will apply to the cache cluster creation. Valid values are `"single-outpost"` and `"cross-outpost"`, however AWS currently only supports `"single-outpost"` mode. @@ -1636,7 +1651,10 @@ def get(resource_name: str, on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`. :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dual_stack`. - :param pulumi.Input[str] node_type: The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + :param pulumi.Input[str] node_type: The instance class used. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + For Memcached, changing this value will re-create the resource. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`. :param pulumi.Input[int] num_cache_nodes: The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed. :param pulumi.Input[str] outpost_mode: Specify the outpost mode that will apply to the cache cluster creation. Valid values are `"single-outpost"` and `"cross-outpost"`, however AWS currently only supports `"single-outpost"` mode. @@ -1849,7 +1867,10 @@ def network_type(self) -> pulumi.Output[str]: @pulumi.getter(name="nodeType") def node_type(self) -> pulumi.Output[str]: """ - The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. + The instance class used. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + For Memcached, changing this value will re-create the resource. """ return pulumi.get(self, "node_type") diff --git a/sdk/python/pulumi_aws/elasticache/get_reserved_cache_node_offering.py b/sdk/python/pulumi_aws/elasticache/get_reserved_cache_node_offering.py new file mode 100644 index 00000000000..e26a61e9fe7 --- /dev/null +++ b/sdk/python/pulumi_aws/elasticache/get_reserved_cache_node_offering.py @@ -0,0 +1,197 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetReservedCacheNodeOfferingResult', + 'AwaitableGetReservedCacheNodeOfferingResult', + 'get_reserved_cache_node_offering', + 'get_reserved_cache_node_offering_output', +] + +@pulumi.output_type +class GetReservedCacheNodeOfferingResult: + """ + A collection of values returned by getReservedCacheNodeOffering. + """ + def __init__(__self__, cache_node_type=None, duration=None, fixed_price=None, id=None, offering_id=None, offering_type=None, product_description=None): + if cache_node_type and not isinstance(cache_node_type, str): + raise TypeError("Expected argument 'cache_node_type' to be a str") + pulumi.set(__self__, "cache_node_type", cache_node_type) + if duration and not isinstance(duration, str): + raise TypeError("Expected argument 'duration' to be a str") + pulumi.set(__self__, "duration", duration) + if fixed_price and not isinstance(fixed_price, float): + raise TypeError("Expected argument 'fixed_price' to be a float") + pulumi.set(__self__, "fixed_price", fixed_price) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if offering_id and not isinstance(offering_id, str): + raise TypeError("Expected argument 'offering_id' to be a str") + pulumi.set(__self__, "offering_id", offering_id) + if offering_type and not isinstance(offering_type, str): + raise TypeError("Expected argument 'offering_type' to be a str") + pulumi.set(__self__, "offering_type", offering_type) + if product_description and not isinstance(product_description, str): + raise TypeError("Expected argument 'product_description' to be a str") + pulumi.set(__self__, "product_description", product_description) + + @property + @pulumi.getter(name="cacheNodeType") + def cache_node_type(self) -> str: + return pulumi.get(self, "cache_node_type") + + @property + @pulumi.getter + def duration(self) -> str: + return pulumi.get(self, "duration") + + @property + @pulumi.getter(name="fixedPrice") + def fixed_price(self) -> float: + """ + Fixed price charged for this reserved cache node. + """ + return pulumi.get(self, "fixed_price") + + @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="offeringId") + def offering_id(self) -> str: + """ + Unique identifier for the reservation. + """ + return pulumi.get(self, "offering_id") + + @property + @pulumi.getter(name="offeringType") + def offering_type(self) -> str: + return pulumi.get(self, "offering_type") + + @property + @pulumi.getter(name="productDescription") + def product_description(self) -> str: + return pulumi.get(self, "product_description") + + +class AwaitableGetReservedCacheNodeOfferingResult(GetReservedCacheNodeOfferingResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetReservedCacheNodeOfferingResult( + cache_node_type=self.cache_node_type, + duration=self.duration, + fixed_price=self.fixed_price, + id=self.id, + offering_id=self.offering_id, + offering_type=self.offering_type, + product_description=self.product_description) + + +def get_reserved_cache_node_offering(cache_node_type: Optional[str] = None, + duration: Optional[str] = None, + offering_type: Optional[str] = None, + product_description: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetReservedCacheNodeOfferingResult: + """ + Information about a single ElastiCache Reserved Cache Node Offering. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.elasticache.get_reserved_cache_node_offering(cache_node_type="cache.t4g.small", + duration="P1Y", + offering_type="No Upfront", + product_description="redis") + ``` + + + :param str cache_node_type: Node type for the reserved cache node. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + :param str duration: Duration of the reservation in RFC3339 duration format. + Valid values are `P1Y` (one year) and `P3Y` (three years). + :param str offering_type: Offering type of this reserved cache node. + For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + :param str product_description: Engine type for the reserved cache node. + Valid values are `redis` and `memcached`. + """ + __args__ = dict() + __args__['cacheNodeType'] = cache_node_type + __args__['duration'] = duration + __args__['offeringType'] = offering_type + __args__['productDescription'] = product_description + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering', __args__, opts=opts, typ=GetReservedCacheNodeOfferingResult).value + + return AwaitableGetReservedCacheNodeOfferingResult( + cache_node_type=pulumi.get(__ret__, 'cache_node_type'), + duration=pulumi.get(__ret__, 'duration'), + fixed_price=pulumi.get(__ret__, 'fixed_price'), + id=pulumi.get(__ret__, 'id'), + offering_id=pulumi.get(__ret__, 'offering_id'), + offering_type=pulumi.get(__ret__, 'offering_type'), + product_description=pulumi.get(__ret__, 'product_description')) + + +@_utilities.lift_output_func(get_reserved_cache_node_offering) +def get_reserved_cache_node_offering_output(cache_node_type: Optional[pulumi.Input[str]] = None, + duration: Optional[pulumi.Input[str]] = None, + offering_type: Optional[pulumi.Input[str]] = None, + product_description: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReservedCacheNodeOfferingResult]: + """ + Information about a single ElastiCache Reserved Cache Node Offering. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.elasticache.get_reserved_cache_node_offering(cache_node_type="cache.t4g.small", + duration="P1Y", + offering_type="No Upfront", + product_description="redis") + ``` + + + :param str cache_node_type: Node type for the reserved cache node. + See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). + :param str duration: Duration of the reservation in RFC3339 duration format. + Valid values are `P1Y` (one year) and `P3Y` (three years). + :param str offering_type: Offering type of this reserved cache node. + For the latest generation of nodes (e.g. M5, R5, T4 and newer) valid values are `No Upfront`, `Partial Upfront`, and `All Upfront`. + For other current generation nodes (i.e. T2, M3, M4, R3, or R4) the only valid value is `Heavy Utilization`. + For previous generation modes (i.e. T1, M1, M2, or C1) valid values are `Heavy Utilization`, `Medium Utilization`, and `Light Utilization`. + :param str product_description: Engine type for the reserved cache node. + Valid values are `redis` and `memcached`. + """ + ... diff --git a/sdk/python/pulumi_aws/elasticache/outputs.py b/sdk/python/pulumi_aws/elasticache/outputs.py index 181f421c8de..028e3869cf3 100644 --- a/sdk/python/pulumi_aws/elasticache/outputs.py +++ b/sdk/python/pulumi_aws/elasticache/outputs.py @@ -21,6 +21,8 @@ 'GlobalReplicationGroupGlobalNodeGroup', 'ParameterGroupParameter', 'ReplicationGroupLogDeliveryConfiguration', + 'ReservedCacheNodeRecurringCharge', + 'ReservedCacheNodeTimeouts', 'ServerlessCacheCacheUsageLimits', 'ServerlessCacheCacheUsageLimitsDataStorage', 'ServerlessCacheCacheUsageLimitsEcpuPerSecond', @@ -329,6 +331,87 @@ def log_type(self) -> str: return pulumi.get(self, "log_type") +@pulumi.output_type +class ReservedCacheNodeRecurringCharge(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "recurringChargeAmount": + suggest = "recurring_charge_amount" + elif key == "recurringChargeFrequency": + suggest = "recurring_charge_frequency" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReservedCacheNodeRecurringCharge. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReservedCacheNodeRecurringCharge.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReservedCacheNodeRecurringCharge.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + recurring_charge_amount: float, + recurring_charge_frequency: str): + pulumi.set(__self__, "recurring_charge_amount", recurring_charge_amount) + pulumi.set(__self__, "recurring_charge_frequency", recurring_charge_frequency) + + @property + @pulumi.getter(name="recurringChargeAmount") + def recurring_charge_amount(self) -> float: + return pulumi.get(self, "recurring_charge_amount") + + @property + @pulumi.getter(name="recurringChargeFrequency") + def recurring_charge_frequency(self) -> str: + return pulumi.get(self, "recurring_charge_frequency") + + +@pulumi.output_type +class ReservedCacheNodeTimeouts(dict): + def __init__(__self__, *, + create: Optional[str] = None, + delete: Optional[str] = None, + update: Optional[str] = None): + """ + :param str create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param str delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param str update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @property + @pulumi.getter + def delete(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @property + @pulumi.getter + def update(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + @pulumi.output_type class ServerlessCacheCacheUsageLimits(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/elasticache/replication_group.py b/sdk/python/pulumi_aws/elasticache/replication_group.py index 38522c7ad94..b71bbbe964d 100644 --- a/sdk/python/pulumi_aws/elasticache/replication_group.py +++ b/sdk/python/pulumi_aws/elasticache/replication_group.py @@ -90,7 +90,10 @@ def __init__(__self__, *, If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`. :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. - :param pulumi.Input[str] node_type: Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + :param pulumi.Input[str] node_type: Instance class to be used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + Required unless `global_replication_group_id` is set. + Cannot be set if `global_replication_group_id` is set. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` :param pulumi.Input[int] num_cache_clusters: Number of cache clusters (primary and replicas) this replication group will have. If `automatic_failover_enabled` or `multi_az_enabled` are `true`, must be at least 2. @@ -447,7 +450,10 @@ def network_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeType") def node_type(self) -> Optional[pulumi.Input[str]]: """ - Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + Instance class to be used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + Required unless `global_replication_group_id` is set. + Cannot be set if `global_replication_group_id` is set. """ return pulumi.get(self, "node_type") @@ -786,7 +792,10 @@ def __init__(__self__, *, If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`. :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. - :param pulumi.Input[str] node_type: Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + :param pulumi.Input[str] node_type: Instance class to be used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + Required unless `global_replication_group_id` is set. + Cannot be set if `global_replication_group_id` is set. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` :param pulumi.Input[int] num_cache_clusters: Number of cache clusters (primary and replicas) this replication group will have. If `automatic_failover_enabled` or `multi_az_enabled` are `true`, must be at least 2. @@ -1226,7 +1235,10 @@ def network_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeType") def node_type(self) -> Optional[pulumi.Input[str]]: """ - Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + Instance class to be used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + Required unless `global_replication_group_id` is set. + Cannot be set if `global_replication_group_id` is set. """ return pulumi.get(self, "node_type") @@ -1778,7 +1790,10 @@ def __init__(__self__, If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`. :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. - :param pulumi.Input[str] node_type: Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + :param pulumi.Input[str] node_type: Instance class to be used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + Required unless `global_replication_group_id` is set. + Cannot be set if `global_replication_group_id` is set. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` :param pulumi.Input[int] num_cache_clusters: Number of cache clusters (primary and replicas) this replication group will have. If `automatic_failover_enabled` or `multi_az_enabled` are `true`, must be at least 2. @@ -2219,7 +2234,10 @@ def get(resource_name: str, If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`. :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. - :param pulumi.Input[str] node_type: Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + :param pulumi.Input[str] node_type: Instance class to be used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + Required unless `global_replication_group_id` is set. + Cannot be set if `global_replication_group_id` is set. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` :param pulumi.Input[int] num_cache_clusters: Number of cache clusters (primary and replicas) this replication group will have. If `automatic_failover_enabled` or `multi_az_enabled` are `true`, must be at least 2. @@ -2518,7 +2536,10 @@ def network_type(self) -> pulumi.Output[str]: @pulumi.getter(name="nodeType") def node_type(self) -> pulumi.Output[str]: """ - Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. + Instance class to be used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + Required unless `global_replication_group_id` is set. + Cannot be set if `global_replication_group_id` is set. """ return pulumi.get(self, "node_type") diff --git a/sdk/python/pulumi_aws/elasticache/reserved_cache_node.py b/sdk/python/pulumi_aws/elasticache/reserved_cache_node.py new file mode 100644 index 00000000000..6cc9f1d639c --- /dev/null +++ b/sdk/python/pulumi_aws/elasticache/reserved_cache_node.py @@ -0,0 +1,626 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ReservedCacheNodeArgs', 'ReservedCacheNode'] + +@pulumi.input_type +class ReservedCacheNodeArgs: + def __init__(__self__, *, + reserved_cache_nodes_offering_id: pulumi.Input[str], + cache_node_count: Optional[pulumi.Input[float]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['ReservedCacheNodeTimeoutsArgs']] = None): + """ + The set of arguments for constructing a ReservedCacheNode resource. + :param pulumi.Input[str] reserved_cache_nodes_offering_id: ID of the reserved cache node offering to purchase. + To determine an `reserved_cache_nodes_offering_id`, see the `elasticache_get_reserved_cache_node_offering` data source. + + The following arguments are optional: + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the reservation. 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__, "reserved_cache_nodes_offering_id", reserved_cache_nodes_offering_id) + if cache_node_count is not None: + pulumi.set(__self__, "cache_node_count", cache_node_count) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="reservedCacheNodesOfferingId") + def reserved_cache_nodes_offering_id(self) -> pulumi.Input[str]: + """ + ID of the reserved cache node offering to purchase. + To determine an `reserved_cache_nodes_offering_id`, see the `elasticache_get_reserved_cache_node_offering` data source. + + The following arguments are optional: + """ + return pulumi.get(self, "reserved_cache_nodes_offering_id") + + @reserved_cache_nodes_offering_id.setter + def reserved_cache_nodes_offering_id(self, value: pulumi.Input[str]): + pulumi.set(self, "reserved_cache_nodes_offering_id", value) + + @property + @pulumi.getter(name="cacheNodeCount") + def cache_node_count(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cache_node_count") + + @cache_node_count.setter + def cache_node_count(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cache_node_count", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to the reservation. 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['ReservedCacheNodeTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['ReservedCacheNodeTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _ReservedCacheNodeState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + cache_node_count: Optional[pulumi.Input[float]] = None, + cache_node_type: Optional[pulumi.Input[str]] = None, + duration: Optional[pulumi.Input[str]] = None, + fixed_price: Optional[pulumi.Input[float]] = None, + offering_type: Optional[pulumi.Input[str]] = None, + product_description: Optional[pulumi.Input[str]] = None, + recurring_charges: Optional[pulumi.Input[Sequence[pulumi.Input['ReservedCacheNodeRecurringChargeArgs']]]] = None, + reserved_cache_nodes_offering_id: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['ReservedCacheNodeTimeoutsArgs']] = None, + usage_price: Optional[pulumi.Input[float]] = None): + """ + Input properties used for looking up and filtering ReservedCacheNode resources. + :param pulumi.Input[str] arn: ARN for the reserved cache node. + :param pulumi.Input[str] cache_node_type: Node type for the reserved cache nodes. + :param pulumi.Input[str] duration: Duration of the reservation as an RFC3339 duration. + :param pulumi.Input[float] fixed_price: Fixed price charged for this reserved cache node. + :param pulumi.Input[str] offering_type: Offering type of this reserved cache node. + :param pulumi.Input[str] product_description: Engine type for the reserved cache node. + :param pulumi.Input[Sequence[pulumi.Input['ReservedCacheNodeRecurringChargeArgs']]] recurring_charges: Recurring price charged to run this reserved cache node. + :param pulumi.Input[str] reserved_cache_nodes_offering_id: ID of the reserved cache node offering to purchase. + To determine an `reserved_cache_nodes_offering_id`, see the `elasticache_get_reserved_cache_node_offering` data source. + + The following arguments are optional: + :param pulumi.Input[str] start_time: Time the reservation started. + :param pulumi.Input[str] state: State of the reserved cache node. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the reservation. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[float] usage_price: Hourly price charged for this reserved cache node. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if cache_node_count is not None: + pulumi.set(__self__, "cache_node_count", cache_node_count) + if cache_node_type is not None: + pulumi.set(__self__, "cache_node_type", cache_node_type) + if duration is not None: + pulumi.set(__self__, "duration", duration) + if fixed_price is not None: + pulumi.set(__self__, "fixed_price", fixed_price) + if offering_type is not None: + pulumi.set(__self__, "offering_type", offering_type) + if product_description is not None: + pulumi.set(__self__, "product_description", product_description) + if recurring_charges is not None: + pulumi.set(__self__, "recurring_charges", recurring_charges) + if reserved_cache_nodes_offering_id is not None: + pulumi.set(__self__, "reserved_cache_nodes_offering_id", reserved_cache_nodes_offering_id) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + if state is not None: + pulumi.set(__self__, "state", state) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if usage_price is not None: + pulumi.set(__self__, "usage_price", usage_price) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN for the reserved cache node. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="cacheNodeCount") + def cache_node_count(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cache_node_count") + + @cache_node_count.setter + def cache_node_count(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cache_node_count", value) + + @property + @pulumi.getter(name="cacheNodeType") + def cache_node_type(self) -> Optional[pulumi.Input[str]]: + """ + Node type for the reserved cache nodes. + """ + return pulumi.get(self, "cache_node_type") + + @cache_node_type.setter + def cache_node_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cache_node_type", value) + + @property + @pulumi.getter + def duration(self) -> Optional[pulumi.Input[str]]: + """ + Duration of the reservation as an RFC3339 duration. + """ + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "duration", value) + + @property + @pulumi.getter(name="fixedPrice") + def fixed_price(self) -> Optional[pulumi.Input[float]]: + """ + Fixed price charged for this reserved cache node. + """ + return pulumi.get(self, "fixed_price") + + @fixed_price.setter + def fixed_price(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "fixed_price", value) + + @property + @pulumi.getter(name="offeringType") + def offering_type(self) -> Optional[pulumi.Input[str]]: + """ + Offering type of this reserved cache node. + """ + return pulumi.get(self, "offering_type") + + @offering_type.setter + def offering_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "offering_type", value) + + @property + @pulumi.getter(name="productDescription") + def product_description(self) -> Optional[pulumi.Input[str]]: + """ + Engine type for the reserved cache node. + """ + return pulumi.get(self, "product_description") + + @product_description.setter + def product_description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "product_description", value) + + @property + @pulumi.getter(name="recurringCharges") + def recurring_charges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ReservedCacheNodeRecurringChargeArgs']]]]: + """ + Recurring price charged to run this reserved cache node. + """ + return pulumi.get(self, "recurring_charges") + + @recurring_charges.setter + def recurring_charges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ReservedCacheNodeRecurringChargeArgs']]]]): + pulumi.set(self, "recurring_charges", value) + + @property + @pulumi.getter(name="reservedCacheNodesOfferingId") + def reserved_cache_nodes_offering_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the reserved cache node offering to purchase. + To determine an `reserved_cache_nodes_offering_id`, see the `elasticache_get_reserved_cache_node_offering` data source. + + The following arguments are optional: + """ + return pulumi.get(self, "reserved_cache_nodes_offering_id") + + @reserved_cache_nodes_offering_id.setter + def reserved_cache_nodes_offering_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "reserved_cache_nodes_offering_id", value) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[str]]: + """ + Time the reservation started. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_time", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of the reserved cache node. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to the reservation. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['ReservedCacheNodeTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['ReservedCacheNodeTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="usagePrice") + def usage_price(self) -> Optional[pulumi.Input[float]]: + """ + Hourly price charged for this reserved cache node. + """ + return pulumi.get(self, "usage_price") + + @usage_price.setter + def usage_price(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "usage_price", value) + + +class ReservedCacheNode(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cache_node_count: Optional[pulumi.Input[float]] = None, + reserved_cache_nodes_offering_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['ReservedCacheNodeTimeoutsArgs', 'ReservedCacheNodeTimeoutsArgsDict']]] = None, + __props__=None): + """ + Manages an ElastiCache Reserved Cache Node. + + > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.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. + + ## Import + + Using `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example: + + ```sh + $ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] reserved_cache_nodes_offering_id: ID of the reserved cache node offering to purchase. + To determine an `reserved_cache_nodes_offering_id`, see the `elasticache_get_reserved_cache_node_offering` data source. + + The following arguments are optional: + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the reservation. 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: ReservedCacheNodeArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages an ElastiCache Reserved Cache Node. + + > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offering_id` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [ElastiCache Reserved Nodes Documentation](https://aws.amazon.com/elasticache/reserved-cache-nodes/) and [PurchaseReservedCacheNodesOffering](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_PurchaseReservedCacheNodesOffering.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. + + ## Import + + Using `pulumi import`, import ElastiCache Reserved Cache Node using the `id`. For example: + + ```sh + $ pulumi import aws:elasticache/reservedCacheNode:ReservedCacheNode example CustomReservationID + ``` + + :param str resource_name: The name of the resource. + :param ReservedCacheNodeArgs 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(ReservedCacheNodeArgs, 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, + cache_node_count: Optional[pulumi.Input[float]] = None, + reserved_cache_nodes_offering_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['ReservedCacheNodeTimeoutsArgs', 'ReservedCacheNodeTimeoutsArgsDict']]] = 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__ = ReservedCacheNodeArgs.__new__(ReservedCacheNodeArgs) + + __props__.__dict__["cache_node_count"] = cache_node_count + if reserved_cache_nodes_offering_id is None and not opts.urn: + raise TypeError("Missing required property 'reserved_cache_nodes_offering_id'") + __props__.__dict__["reserved_cache_nodes_offering_id"] = reserved_cache_nodes_offering_id + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["arn"] = None + __props__.__dict__["cache_node_type"] = None + __props__.__dict__["duration"] = None + __props__.__dict__["fixed_price"] = None + __props__.__dict__["offering_type"] = None + __props__.__dict__["product_description"] = None + __props__.__dict__["recurring_charges"] = None + __props__.__dict__["start_time"] = None + __props__.__dict__["state"] = None + __props__.__dict__["tags_all"] = None + __props__.__dict__["usage_price"] = None + super(ReservedCacheNode, __self__).__init__( + 'aws:elasticache/reservedCacheNode:ReservedCacheNode', + 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, + cache_node_count: Optional[pulumi.Input[float]] = None, + cache_node_type: Optional[pulumi.Input[str]] = None, + duration: Optional[pulumi.Input[str]] = None, + fixed_price: Optional[pulumi.Input[float]] = None, + offering_type: Optional[pulumi.Input[str]] = None, + product_description: Optional[pulumi.Input[str]] = None, + recurring_charges: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ReservedCacheNodeRecurringChargeArgs', 'ReservedCacheNodeRecurringChargeArgsDict']]]]] = None, + reserved_cache_nodes_offering_id: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['ReservedCacheNodeTimeoutsArgs', 'ReservedCacheNodeTimeoutsArgsDict']]] = None, + usage_price: Optional[pulumi.Input[float]] = None) -> 'ReservedCacheNode': + """ + Get an existing ReservedCacheNode 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 for the reserved cache node. + :param pulumi.Input[str] cache_node_type: Node type for the reserved cache nodes. + :param pulumi.Input[str] duration: Duration of the reservation as an RFC3339 duration. + :param pulumi.Input[float] fixed_price: Fixed price charged for this reserved cache node. + :param pulumi.Input[str] offering_type: Offering type of this reserved cache node. + :param pulumi.Input[str] product_description: Engine type for the reserved cache node. + :param pulumi.Input[Sequence[pulumi.Input[Union['ReservedCacheNodeRecurringChargeArgs', 'ReservedCacheNodeRecurringChargeArgsDict']]]] recurring_charges: Recurring price charged to run this reserved cache node. + :param pulumi.Input[str] reserved_cache_nodes_offering_id: ID of the reserved cache node offering to purchase. + To determine an `reserved_cache_nodes_offering_id`, see the `elasticache_get_reserved_cache_node_offering` data source. + + The following arguments are optional: + :param pulumi.Input[str] start_time: Time the reservation started. + :param pulumi.Input[str] state: State of the reserved cache node. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the reservation. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[float] usage_price: Hourly price charged for this reserved cache node. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ReservedCacheNodeState.__new__(_ReservedCacheNodeState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["cache_node_count"] = cache_node_count + __props__.__dict__["cache_node_type"] = cache_node_type + __props__.__dict__["duration"] = duration + __props__.__dict__["fixed_price"] = fixed_price + __props__.__dict__["offering_type"] = offering_type + __props__.__dict__["product_description"] = product_description + __props__.__dict__["recurring_charges"] = recurring_charges + __props__.__dict__["reserved_cache_nodes_offering_id"] = reserved_cache_nodes_offering_id + __props__.__dict__["start_time"] = start_time + __props__.__dict__["state"] = state + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["usage_price"] = usage_price + return ReservedCacheNode(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN for the reserved cache node. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="cacheNodeCount") + def cache_node_count(self) -> pulumi.Output[float]: + return pulumi.get(self, "cache_node_count") + + @property + @pulumi.getter(name="cacheNodeType") + def cache_node_type(self) -> pulumi.Output[str]: + """ + Node type for the reserved cache nodes. + """ + return pulumi.get(self, "cache_node_type") + + @property + @pulumi.getter + def duration(self) -> pulumi.Output[str]: + """ + Duration of the reservation as an RFC3339 duration. + """ + return pulumi.get(self, "duration") + + @property + @pulumi.getter(name="fixedPrice") + def fixed_price(self) -> pulumi.Output[float]: + """ + Fixed price charged for this reserved cache node. + """ + return pulumi.get(self, "fixed_price") + + @property + @pulumi.getter(name="offeringType") + def offering_type(self) -> pulumi.Output[str]: + """ + Offering type of this reserved cache node. + """ + return pulumi.get(self, "offering_type") + + @property + @pulumi.getter(name="productDescription") + def product_description(self) -> pulumi.Output[str]: + """ + Engine type for the reserved cache node. + """ + return pulumi.get(self, "product_description") + + @property + @pulumi.getter(name="recurringCharges") + def recurring_charges(self) -> pulumi.Output[Sequence['outputs.ReservedCacheNodeRecurringCharge']]: + """ + Recurring price charged to run this reserved cache node. + """ + return pulumi.get(self, "recurring_charges") + + @property + @pulumi.getter(name="reservedCacheNodesOfferingId") + def reserved_cache_nodes_offering_id(self) -> pulumi.Output[str]: + """ + ID of the reserved cache node offering to purchase. + To determine an `reserved_cache_nodes_offering_id`, see the `elasticache_get_reserved_cache_node_offering` data source. + + The following arguments are optional: + """ + return pulumi.get(self, "reserved_cache_nodes_offering_id") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Output[str]: + """ + Time the reservation started. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + State of the reserved cache node. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Map of tags to assign to the reservation. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.ReservedCacheNodeTimeouts']]: + return pulumi.get(self, "timeouts") + + @property + @pulumi.getter(name="usagePrice") + def usage_price(self) -> pulumi.Output[float]: + """ + Hourly price charged for this reserved cache node. + """ + return pulumi.get(self, "usage_price") + diff --git a/sdk/python/pulumi_aws/iam/__init__.py b/sdk/python/pulumi_aws/iam/__init__.py index e0264d35535..02cf30f9dba 100644 --- a/sdk/python/pulumi_aws/iam/__init__.py +++ b/sdk/python/pulumi_aws/iam/__init__.py @@ -35,6 +35,7 @@ from .policy import * from .policy_attachment import * from .role import * +from .role_policies_exclusive import * from .role_policy import * from .role_policy_attachment import * from .saml_provider import * diff --git a/sdk/python/pulumi_aws/iam/role.py b/sdk/python/pulumi_aws/iam/role.py index 6257060da53..ab2ce59040a 100644 --- a/sdk/python/pulumi_aws/iam/role.py +++ b/sdk/python/pulumi_aws/iam/role.py @@ -54,6 +54,9 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if force_detach_policies is not None: pulumi.set(__self__, "force_detach_policies", force_detach_policies) + if inline_policies is not None: + warnings.warn("""Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well.""", DeprecationWarning) + pulumi.log.warn("""inline_policies is deprecated: Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well.""") if inline_policies is not None: pulumi.set(__self__, "inline_policies", inline_policies) if managed_policy_arns is not None: @@ -113,6 +116,7 @@ def force_detach_policies(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="inlinePolicies") + @_utilities.deprecated("""Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well.""") def inline_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RoleInlinePolicyArgs']]]]: """ Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. @@ -254,6 +258,9 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if force_detach_policies is not None: pulumi.set(__self__, "force_detach_policies", force_detach_policies) + if inline_policies is not None: + warnings.warn("""Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well.""", DeprecationWarning) + pulumi.log.warn("""inline_policies is deprecated: Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well.""") if inline_policies is not None: pulumi.set(__self__, "inline_policies", inline_policies) if managed_policy_arns is not None: @@ -344,6 +351,7 @@ def force_detach_policies(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="inlinePolicies") + @_utilities.deprecated("""Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well.""") def inline_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RoleInlinePolicyArgs']]]]: """ Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. @@ -1007,6 +1015,7 @@ def force_detach_policies(self) -> pulumi.Output[Optional[bool]]: @property @pulumi.getter(name="inlinePolicies") + @_utilities.deprecated("""Use the iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the iam.RolePoliciesExclusive resource as well.""") def inline_policies(self) -> pulumi.Output[Sequence['outputs.RoleInlinePolicy']]: """ Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause the provider to remove _all_ inline policies added out of band on `apply`. diff --git a/sdk/python/pulumi_aws/iam/role_policies_exclusive.py b/sdk/python/pulumi_aws/iam/role_policies_exclusive.py new file mode 100644 index 00000000000..5290629100b --- /dev/null +++ b/sdk/python/pulumi_aws/iam/role_policies_exclusive.py @@ -0,0 +1,211 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['RolePoliciesExclusiveArgs', 'RolePoliciesExclusive'] + +@pulumi.input_type +class RolePoliciesExclusiveArgs: + def __init__(__self__, *, + policy_names: pulumi.Input[Sequence[pulumi.Input[str]]], + role_name: pulumi.Input[str]): + """ + The set of arguments for constructing a RolePoliciesExclusive resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] policy_names: A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + :param pulumi.Input[str] role_name: IAM role name. + """ + pulumi.set(__self__, "policy_names", policy_names) + pulumi.set(__self__, "role_name", role_name) + + @property + @pulumi.getter(name="policyNames") + def policy_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + """ + return pulumi.get(self, "policy_names") + + @policy_names.setter + def policy_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "policy_names", value) + + @property + @pulumi.getter(name="roleName") + def role_name(self) -> pulumi.Input[str]: + """ + IAM role name. + """ + return pulumi.get(self, "role_name") + + @role_name.setter + def role_name(self, value: pulumi.Input[str]): + pulumi.set(self, "role_name", value) + + +@pulumi.input_type +class _RolePoliciesExclusiveState: + def __init__(__self__, *, + policy_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RolePoliciesExclusive resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] policy_names: A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + :param pulumi.Input[str] role_name: IAM role name. + """ + if policy_names is not None: + pulumi.set(__self__, "policy_names", policy_names) + if role_name is not None: + pulumi.set(__self__, "role_name", role_name) + + @property + @pulumi.getter(name="policyNames") + def policy_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + """ + return pulumi.get(self, "policy_names") + + @policy_names.setter + def policy_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "policy_names", value) + + @property + @pulumi.getter(name="roleName") + def role_name(self) -> Optional[pulumi.Input[str]]: + """ + IAM role name. + """ + return pulumi.get(self, "role_name") + + @role_name.setter + def role_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_name", value) + + +class RolePoliciesExclusive(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + policy_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Import + + Using `pulumi import`, import exclusive management of inline policy assignments using the `role_name`. For example: + + ```sh + $ pulumi import aws:iam/rolePoliciesExclusive:RolePoliciesExclusive example MyRole + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] policy_names: A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + :param pulumi.Input[str] role_name: IAM role name. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RolePoliciesExclusiveArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Import + + Using `pulumi import`, import exclusive management of inline policy assignments using the `role_name`. For example: + + ```sh + $ pulumi import aws:iam/rolePoliciesExclusive:RolePoliciesExclusive example MyRole + ``` + + :param str resource_name: The name of the resource. + :param RolePoliciesExclusiveArgs 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(RolePoliciesExclusiveArgs, 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, + policy_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = RolePoliciesExclusiveArgs.__new__(RolePoliciesExclusiveArgs) + + if policy_names is None and not opts.urn: + raise TypeError("Missing required property 'policy_names'") + __props__.__dict__["policy_names"] = policy_names + if role_name is None and not opts.urn: + raise TypeError("Missing required property 'role_name'") + __props__.__dict__["role_name"] = role_name + super(RolePoliciesExclusive, __self__).__init__( + 'aws:iam/rolePoliciesExclusive:RolePoliciesExclusive', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + policy_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role_name: Optional[pulumi.Input[str]] = None) -> 'RolePoliciesExclusive': + """ + Get an existing RolePoliciesExclusive 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[str]]] policy_names: A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + :param pulumi.Input[str] role_name: IAM role name. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RolePoliciesExclusiveState.__new__(_RolePoliciesExclusiveState) + + __props__.__dict__["policy_names"] = policy_names + __props__.__dict__["role_name"] = role_name + return RolePoliciesExclusive(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="policyNames") + def policy_names(self) -> pulumi.Output[Sequence[str]]: + """ + A list of inline policy names to be assigned to the role. Policies attached to this role but not configured in this argument will be removed. + """ + return pulumi.get(self, "policy_names") + + @property + @pulumi.getter(name="roleName") + def role_name(self) -> pulumi.Output[str]: + """ + IAM role name. + """ + return pulumi.get(self, "role_name") + diff --git a/sdk/python/pulumi_aws/lb/listener.py b/sdk/python/pulumi_aws/lb/listener.py index 4b3ef73b4a0..d61d62401f0 100644 --- a/sdk/python/pulumi_aws/lb/listener.py +++ b/sdk/python/pulumi_aws/lb/listener.py @@ -43,8 +43,6 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ pulumi.set(__self__, "default_actions", default_actions) pulumi.set(__self__, "load_balancer_arn", load_balancer_arn) @@ -166,8 +164,6 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): 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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ return pulumi.get(self, "tags") @@ -204,8 +200,6 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. :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. """ if alpn_policy is not None: @@ -349,8 +343,6 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): 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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ return pulumi.get(self, "tags") @@ -607,8 +599,6 @@ def __init__(__self__, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ ... @overload @@ -913,8 +903,6 @@ def get(resource_name: str, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. :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. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1013,8 +1001,6 @@ def ssl_policy(self) -> pulumi.Output[str]: 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. - - > **NOTE::** Please note that listeners that are attached to Application Load Balancers must use either `HTTP` or `HTTPS` protocols while listeners that are attached to Network Load Balancers must use the `TCP` protocol. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/lex/_inputs.py b/sdk/python/pulumi_aws/lex/_inputs.py index 70a6d37719c..716a6418470 100644 --- a/sdk/python/pulumi_aws/lex/_inputs.py +++ b/sdk/python/pulumi_aws/lex/_inputs.py @@ -59609,7 +59609,7 @@ def update(self, value: Optional[pulumi.Input[str]]): if not MYPY: class V2modelsSlotTypeCompositeSlotTypeSettingArgsDict(TypedDict): - sub_slots: pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgsDict']]] + sub_slots: NotRequired[pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgsDict']]]] """ Sub slots in the composite slot. See `sub_slots` argument reference below. @@ -59620,16 +59620,17 @@ class V2modelsSlotTypeCompositeSlotTypeSettingArgsDict(TypedDict): @pulumi.input_type class V2modelsSlotTypeCompositeSlotTypeSettingArgs: def __init__(__self__, *, - sub_slots: pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs']]]): + sub_slots: Optional[pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs']]]] = None): """ :param pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs']]] sub_slots: Sub slots in the composite slot. See `sub_slots` argument reference below. """ - pulumi.set(__self__, "sub_slots", sub_slots) + if sub_slots is not None: + pulumi.set(__self__, "sub_slots", sub_slots) @property @pulumi.getter(name="subSlots") - def sub_slots(self) -> pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs']]]: + def sub_slots(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs']]]]: """ Sub slots in the composite slot. See `sub_slots` argument reference below. @@ -59637,7 +59638,7 @@ def sub_slots(self) -> pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompo return pulumi.get(self, "sub_slots") @sub_slots.setter - def sub_slots(self, value: pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs']]]): + def sub_slots(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs']]]]): pulumi.set(self, "sub_slots", value) @@ -59647,7 +59648,11 @@ class V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgsDict(TypedDict): """ Name of a constituent sub slot inside a composite slot. """ - sub_slot_id: pulumi.Input[str] + slot_type_id: pulumi.Input[str] + """ + Unique identifier assigned to a slot type. + This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type. + """ elif False: V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgsDict: TypeAlias = Mapping[str, Any] @@ -59655,12 +59660,14 @@ class V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgsDict(TypedDict): class V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs: def __init__(__self__, *, name: pulumi.Input[str], - sub_slot_id: pulumi.Input[str]): + slot_type_id: pulumi.Input[str]): """ :param pulumi.Input[str] name: Name of a constituent sub slot inside a composite slot. + :param pulumi.Input[str] slot_type_id: Unique identifier assigned to a slot type. + This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type. """ pulumi.set(__self__, "name", name) - pulumi.set(__self__, "sub_slot_id", sub_slot_id) + pulumi.set(__self__, "slot_type_id", slot_type_id) @property @pulumi.getter @@ -59675,13 +59682,17 @@ def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="subSlotId") - def sub_slot_id(self) -> pulumi.Input[str]: - return pulumi.get(self, "sub_slot_id") + @pulumi.getter(name="slotTypeId") + def slot_type_id(self) -> pulumi.Input[str]: + """ + Unique identifier assigned to a slot type. + This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type. + """ + return pulumi.get(self, "slot_type_id") - @sub_slot_id.setter - def sub_slot_id(self, value: pulumi.Input[str]): - pulumi.set(self, "sub_slot_id", value) + @slot_type_id.setter + def slot_type_id(self, value: pulumi.Input[str]): + pulumi.set(self, "slot_type_id", value) if not MYPY: diff --git a/sdk/python/pulumi_aws/lex/outputs.py b/sdk/python/pulumi_aws/lex/outputs.py index e50390d87db..3b29eb8b7eb 100644 --- a/sdk/python/pulumi_aws/lex/outputs.py +++ b/sdk/python/pulumi_aws/lex/outputs.py @@ -45125,16 +45125,17 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - sub_slots: Sequence['outputs.V2modelsSlotTypeCompositeSlotTypeSettingSubSlot']): + sub_slots: Optional[Sequence['outputs.V2modelsSlotTypeCompositeSlotTypeSettingSubSlot']] = None): """ :param Sequence['V2modelsSlotTypeCompositeSlotTypeSettingSubSlotArgs'] sub_slots: Sub slots in the composite slot. See `sub_slots` argument reference below. """ - pulumi.set(__self__, "sub_slots", sub_slots) + if sub_slots is not None: + pulumi.set(__self__, "sub_slots", sub_slots) @property @pulumi.getter(name="subSlots") - def sub_slots(self) -> Sequence['outputs.V2modelsSlotTypeCompositeSlotTypeSettingSubSlot']: + def sub_slots(self) -> Optional[Sequence['outputs.V2modelsSlotTypeCompositeSlotTypeSettingSubSlot']]: """ Sub slots in the composite slot. See `sub_slots` argument reference below. @@ -45147,8 +45148,8 @@ class V2modelsSlotTypeCompositeSlotTypeSettingSubSlot(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "subSlotId": - suggest = "sub_slot_id" + if key == "slotTypeId": + suggest = "slot_type_id" if suggest: pulumi.log.warn(f"Key '{key}' not found in V2modelsSlotTypeCompositeSlotTypeSettingSubSlot. Access the value via the '{suggest}' property getter instead.") @@ -45163,12 +45164,14 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, name: str, - sub_slot_id: str): + slot_type_id: str): """ :param str name: Name of a constituent sub slot inside a composite slot. + :param str slot_type_id: Unique identifier assigned to a slot type. + This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type. """ pulumi.set(__self__, "name", name) - pulumi.set(__self__, "sub_slot_id", sub_slot_id) + pulumi.set(__self__, "slot_type_id", slot_type_id) @property @pulumi.getter @@ -45179,9 +45182,13 @@ def name(self) -> str: return pulumi.get(self, "name") @property - @pulumi.getter(name="subSlotId") - def sub_slot_id(self) -> str: - return pulumi.get(self, "sub_slot_id") + @pulumi.getter(name="slotTypeId") + def slot_type_id(self) -> str: + """ + Unique identifier assigned to a slot type. + This refers to either a built-in slot type or the unique `slot_type_id` of a custom slot type. + """ + return pulumi.get(self, "slot_type_id") @pulumi.output_type diff --git a/sdk/python/pulumi_aws/lex/v2models_bot.py b/sdk/python/pulumi_aws/lex/v2models_bot.py index 9513de771fb..67e3673a6d6 100644 --- a/sdk/python/pulumi_aws/lex/v2models_bot.py +++ b/sdk/python/pulumi_aws/lex/v2models_bot.py @@ -405,15 +405,34 @@ def __init__(__self__, ```python import pulumi + import json import pulumi_aws as aws + example_role = aws.iam.Role("example", + name="example", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Sid": "", + "Principal": { + "Service": "lexv2.amazonaws.com", + }, + }], + }), + tags={ + "created_by": "aws", + }) example = aws.lex.V2modelsBot("example", name="example", + description="Example description", data_privacies=[{ - "child_directed": "boolean", + "child_directed": False, }], - idle_session_ttl_in_seconds=10, - role_arn="bot_example_arn", + idle_session_ttl_in_seconds=60, + role_arn=example_role.arn, + type="Bot", tags={ "foo": "bar", }) @@ -456,15 +475,34 @@ def __init__(__self__, ```python import pulumi + import json import pulumi_aws as aws + example_role = aws.iam.Role("example", + name="example", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Sid": "", + "Principal": { + "Service": "lexv2.amazonaws.com", + }, + }], + }), + tags={ + "created_by": "aws", + }) example = aws.lex.V2modelsBot("example", name="example", + description="Example description", data_privacies=[{ - "child_directed": "boolean", + "child_directed": False, }], - idle_session_ttl_in_seconds=10, - role_arn="bot_example_arn", + idle_session_ttl_in_seconds=60, + role_arn=example_role.arn, + type="Bot", tags={ "foo": "bar", }) diff --git a/sdk/python/pulumi_aws/lex/v2models_bot_version.py b/sdk/python/pulumi_aws/lex/v2models_bot_version.py index 7f4b895e65b..5bd35e38a99 100644 --- a/sdk/python/pulumi_aws/lex/v2models_bot_version.py +++ b/sdk/python/pulumi_aws/lex/v2models_bot_version.py @@ -219,7 +219,7 @@ def __init__(__self__, import pulumi_aws as aws test = aws.lex.V2modelsBotVersion("test", - bot_id=test_aws_lexv2models["id"], + bot_id=test_aws_lexv2models_bot["id"], locale_specification={ "en_US": { "source_bot_version": "DRAFT", @@ -263,7 +263,7 @@ def __init__(__self__, import pulumi_aws as aws test = aws.lex.V2modelsBotVersion("test", - bot_id=test_aws_lexv2models["id"], + bot_id=test_aws_lexv2models_bot["id"], locale_specification={ "en_US": { "source_bot_version": "DRAFT", diff --git a/sdk/python/pulumi_aws/lex/v2models_slot_type.py b/sdk/python/pulumi_aws/lex/v2models_slot_type.py index 6b06c144ae0..bcf0fc18d04 100644 --- a/sdk/python/pulumi_aws/lex/v2models_slot_type.py +++ b/sdk/python/pulumi_aws/lex/v2models_slot_type.py @@ -485,7 +485,7 @@ def __init__(__self__, locale_id=example_v2models_bot_locale.locale_id) ``` - ### `value_selection_setting` Usage + ### value_selection_setting Usage ```python import pulumi @@ -583,7 +583,7 @@ def __init__(__self__, locale_id=example_v2models_bot_locale.locale_id) ``` - ### `value_selection_setting` Usage + ### value_selection_setting Usage ```python import pulumi diff --git a/sdk/python/pulumi_aws/pinpoint/__init__.py b/sdk/python/pulumi_aws/pinpoint/__init__.py index 330d02106e9..52d25531211 100644 --- a/sdk/python/pulumi_aws/pinpoint/__init__.py +++ b/sdk/python/pulumi_aws/pinpoint/__init__.py @@ -17,5 +17,7 @@ from .event_stream import * from .gcm_channel import * from .sms_channel import * +from .smsvoicev2_opt_out_list import * +from .smsvoicev2_phone_number import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/pinpoint/_inputs.py b/sdk/python/pulumi_aws/pinpoint/_inputs.py index 7cf82902688..4497c49612b 100644 --- a/sdk/python/pulumi_aws/pinpoint/_inputs.py +++ b/sdk/python/pulumi_aws/pinpoint/_inputs.py @@ -25,6 +25,8 @@ 'EmailTemplateEmailTemplateArgsDict', 'EmailTemplateEmailTemplateHeaderArgs', 'EmailTemplateEmailTemplateHeaderArgsDict', + 'Smsvoicev2PhoneNumberTimeoutsArgs', + 'Smsvoicev2PhoneNumberTimeoutsArgsDict', ] MYPY = False @@ -435,3 +437,75 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class Smsvoicev2PhoneNumberTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + delete: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + update: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ +elif False: + Smsvoicev2PhoneNumberTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class Smsvoicev2PhoneNumberTimeoutsArgs: + 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/pinpoint/outputs.py b/sdk/python/pulumi_aws/pinpoint/outputs.py index 7f7ebc06eaf..12d10135b0f 100644 --- a/sdk/python/pulumi_aws/pinpoint/outputs.py +++ b/sdk/python/pulumi_aws/pinpoint/outputs.py @@ -21,6 +21,7 @@ 'AppQuietTime', 'EmailTemplateEmailTemplate', 'EmailTemplateEmailTemplateHeader', + 'Smsvoicev2PhoneNumberTimeouts', ] @pulumi.output_type @@ -327,3 +328,46 @@ def value(self) -> Optional[str]: return pulumi.get(self, "value") +@pulumi.output_type +class Smsvoicev2PhoneNumberTimeouts(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/pinpoint/smsvoicev2_opt_out_list.py b/sdk/python/pulumi_aws/pinpoint/smsvoicev2_opt_out_list.py new file mode 100644 index 00000000000..4620e9c6945 --- /dev/null +++ b/sdk/python/pulumi_aws/pinpoint/smsvoicev2_opt_out_list.py @@ -0,0 +1,292 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['Smsvoicev2OptOutListArgs', 'Smsvoicev2OptOutList'] + +@pulumi.input_type +class Smsvoicev2OptOutListArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Smsvoicev2OptOutList resource. + :param pulumi.Input[str] name: The name of the opt-out list. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the opt-out list. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + 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 _Smsvoicev2OptOutListState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + name: 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 Smsvoicev2OptOutList resources. + :param pulumi.Input[str] arn: ARN of the opt-out list. + :param pulumi.Input[str] name: The name of the opt-out list. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A 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 name is not None: + pulumi.set(__self__, "name", name) + 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 opt-out list. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the opt-out list. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class Smsvoicev2OptOutList(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Manages an AWS End User Messaging SMS opt-out list. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.pinpoint.Smsvoicev2OptOutList("example", name="example-opt-out-list") + ``` + + ## Import + + Using `pulumi import`, import opt-out lists using the `name`. For example: + + ```sh + $ pulumi import aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList example example-opt-out-list + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name of the opt-out list. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[Smsvoicev2OptOutListArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages an AWS End User Messaging SMS opt-out list. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.pinpoint.Smsvoicev2OptOutList("example", name="example-opt-out-list") + ``` + + ## Import + + Using `pulumi import`, import opt-out lists using the `name`. For example: + + ```sh + $ pulumi import aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList example example-opt-out-list + ``` + + :param str resource_name: The name of the resource. + :param Smsvoicev2OptOutListArgs 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(Smsvoicev2OptOutListArgs, 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, + name: 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__ = Smsvoicev2OptOutListArgs.__new__(Smsvoicev2OptOutListArgs) + + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["tags_all"] = None + super(Smsvoicev2OptOutList, __self__).__init__( + 'aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList', + 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, + name: 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) -> 'Smsvoicev2OptOutList': + """ + Get an existing Smsvoicev2OptOutList 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 opt-out list. + :param pulumi.Input[str] name: The name of the opt-out list. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A 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__ = _Smsvoicev2OptOutListState.__new__(_Smsvoicev2OptOutListState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return Smsvoicev2OptOutList(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the opt-out list. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the opt-out list. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/pinpoint/smsvoicev2_phone_number.py b/sdk/python/pulumi_aws/pinpoint/smsvoicev2_phone_number.py new file mode 100644 index 00000000000..5f2c08e8386 --- /dev/null +++ b/sdk/python/pulumi_aws/pinpoint/smsvoicev2_phone_number.py @@ -0,0 +1,806 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['Smsvoicev2PhoneNumberArgs', 'Smsvoicev2PhoneNumber'] + +@pulumi.input_type +class Smsvoicev2PhoneNumberArgs: + def __init__(__self__, *, + iso_country_code: pulumi.Input[str], + message_type: pulumi.Input[str], + number_capabilities: pulumi.Input[Sequence[pulumi.Input[str]]], + number_type: pulumi.Input[str], + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, + opt_out_list_name: Optional[pulumi.Input[str]] = None, + registration_id: Optional[pulumi.Input[str]] = None, + self_managed_opt_outs_enabled: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['Smsvoicev2PhoneNumberTimeoutsArgs']] = None, + two_way_channel_arn: Optional[pulumi.Input[str]] = None, + two_way_channel_enabled: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a Smsvoicev2PhoneNumber resource. + :param pulumi.Input[str] iso_country_code: The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + :param pulumi.Input[str] message_type: The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + :param pulumi.Input[Sequence[pulumi.Input[str]]] number_capabilities: Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + :param pulumi.Input[str] number_type: The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + :param pulumi.Input[bool] deletion_protection_enabled: By default this is set to `false`. When set to true the phone number can’t be deleted. + :param pulumi.Input[str] opt_out_list_name: The name of the opt-out list to associate with the phone number. + :param pulumi.Input[str] registration_id: Use this field to attach your phone number for an external registration process. + :param pulumi.Input[bool] self_managed_opt_outs_enabled: When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + :param pulumi.Input[str] two_way_channel_arn: The Amazon Resource Name (ARN) of the two way channel. + :param pulumi.Input[bool] two_way_channel_enabled: By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + """ + pulumi.set(__self__, "iso_country_code", iso_country_code) + pulumi.set(__self__, "message_type", message_type) + pulumi.set(__self__, "number_capabilities", number_capabilities) + pulumi.set(__self__, "number_type", number_type) + if deletion_protection_enabled is not None: + pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled) + if opt_out_list_name is not None: + pulumi.set(__self__, "opt_out_list_name", opt_out_list_name) + if registration_id is not None: + pulumi.set(__self__, "registration_id", registration_id) + if self_managed_opt_outs_enabled is not None: + pulumi.set(__self__, "self_managed_opt_outs_enabled", self_managed_opt_outs_enabled) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if two_way_channel_arn is not None: + pulumi.set(__self__, "two_way_channel_arn", two_way_channel_arn) + if two_way_channel_enabled is not None: + pulumi.set(__self__, "two_way_channel_enabled", two_way_channel_enabled) + + @property + @pulumi.getter(name="isoCountryCode") + def iso_country_code(self) -> pulumi.Input[str]: + """ + The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + """ + return pulumi.get(self, "iso_country_code") + + @iso_country_code.setter + def iso_country_code(self, value: pulumi.Input[str]): + pulumi.set(self, "iso_country_code", value) + + @property + @pulumi.getter(name="messageType") + def message_type(self) -> pulumi.Input[str]: + """ + The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + """ + return pulumi.get(self, "message_type") + + @message_type.setter + def message_type(self, value: pulumi.Input[str]): + pulumi.set(self, "message_type", value) + + @property + @pulumi.getter(name="numberCapabilities") + def number_capabilities(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + """ + return pulumi.get(self, "number_capabilities") + + @number_capabilities.setter + def number_capabilities(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "number_capabilities", value) + + @property + @pulumi.getter(name="numberType") + def number_type(self) -> pulumi.Input[str]: + """ + The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + """ + return pulumi.get(self, "number_type") + + @number_type.setter + def number_type(self, value: pulumi.Input[str]): + pulumi.set(self, "number_type", value) + + @property + @pulumi.getter(name="deletionProtectionEnabled") + def deletion_protection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + By default this is set to `false`. When set to true the phone number can’t be deleted. + """ + return pulumi.get(self, "deletion_protection_enabled") + + @deletion_protection_enabled.setter + def deletion_protection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deletion_protection_enabled", value) + + @property + @pulumi.getter(name="optOutListName") + def opt_out_list_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the opt-out list to associate with the phone number. + """ + return pulumi.get(self, "opt_out_list_name") + + @opt_out_list_name.setter + def opt_out_list_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "opt_out_list_name", value) + + @property + @pulumi.getter(name="registrationId") + def registration_id(self) -> Optional[pulumi.Input[str]]: + """ + Use this field to attach your phone number for an external registration process. + """ + return pulumi.get(self, "registration_id") + + @registration_id.setter + def registration_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "registration_id", value) + + @property + @pulumi.getter(name="selfManagedOptOutsEnabled") + def self_managed_opt_outs_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + """ + return pulumi.get(self, "self_managed_opt_outs_enabled") + + @self_managed_opt_outs_enabled.setter + def self_managed_opt_outs_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "self_managed_opt_outs_enabled", 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['Smsvoicev2PhoneNumberTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['Smsvoicev2PhoneNumberTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="twoWayChannelArn") + def two_way_channel_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the two way channel. + """ + return pulumi.get(self, "two_way_channel_arn") + + @two_way_channel_arn.setter + def two_way_channel_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "two_way_channel_arn", value) + + @property + @pulumi.getter(name="twoWayChannelEnabled") + def two_way_channel_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + """ + return pulumi.get(self, "two_way_channel_enabled") + + @two_way_channel_enabled.setter + def two_way_channel_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "two_way_channel_enabled", value) + + +@pulumi.input_type +class _Smsvoicev2PhoneNumberState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, + iso_country_code: Optional[pulumi.Input[str]] = None, + message_type: Optional[pulumi.Input[str]] = None, + monthly_leasing_price: Optional[pulumi.Input[str]] = None, + number_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + number_type: Optional[pulumi.Input[str]] = None, + opt_out_list_name: Optional[pulumi.Input[str]] = None, + phone_number: Optional[pulumi.Input[str]] = None, + registration_id: Optional[pulumi.Input[str]] = None, + self_managed_opt_outs_enabled: Optional[pulumi.Input[bool]] = 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['Smsvoicev2PhoneNumberTimeoutsArgs']] = None, + two_way_channel_arn: Optional[pulumi.Input[str]] = None, + two_way_channel_enabled: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering Smsvoicev2PhoneNumber resources. + :param pulumi.Input[str] arn: ARN of the phone number. + :param pulumi.Input[bool] deletion_protection_enabled: By default this is set to `false`. When set to true the phone number can’t be deleted. + :param pulumi.Input[str] iso_country_code: The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + :param pulumi.Input[str] message_type: The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + :param pulumi.Input[str] monthly_leasing_price: The monthly price, in US dollars, to lease the phone number. + :param pulumi.Input[Sequence[pulumi.Input[str]]] number_capabilities: Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + :param pulumi.Input[str] number_type: The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + :param pulumi.Input[str] opt_out_list_name: The name of the opt-out list to associate with the phone number. + :param pulumi.Input[str] phone_number: The new phone number that was requested. + :param pulumi.Input[str] registration_id: Use this field to attach your phone number for an external registration process. + :param pulumi.Input[bool] self_managed_opt_outs_enabled: When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + :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] two_way_channel_arn: The Amazon Resource Name (ARN) of the two way channel. + :param pulumi.Input[bool] two_way_channel_enabled: By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if deletion_protection_enabled is not None: + pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled) + if iso_country_code is not None: + pulumi.set(__self__, "iso_country_code", iso_country_code) + if message_type is not None: + pulumi.set(__self__, "message_type", message_type) + if monthly_leasing_price is not None: + pulumi.set(__self__, "monthly_leasing_price", monthly_leasing_price) + if number_capabilities is not None: + pulumi.set(__self__, "number_capabilities", number_capabilities) + if number_type is not None: + pulumi.set(__self__, "number_type", number_type) + if opt_out_list_name is not None: + pulumi.set(__self__, "opt_out_list_name", opt_out_list_name) + if phone_number is not None: + pulumi.set(__self__, "phone_number", phone_number) + if registration_id is not None: + pulumi.set(__self__, "registration_id", registration_id) + if self_managed_opt_outs_enabled is not None: + pulumi.set(__self__, "self_managed_opt_outs_enabled", self_managed_opt_outs_enabled) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if two_way_channel_arn is not None: + pulumi.set(__self__, "two_way_channel_arn", two_way_channel_arn) + if two_way_channel_enabled is not None: + pulumi.set(__self__, "two_way_channel_enabled", two_way_channel_enabled) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the phone number. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="deletionProtectionEnabled") + def deletion_protection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + By default this is set to `false`. When set to true the phone number can’t be deleted. + """ + return pulumi.get(self, "deletion_protection_enabled") + + @deletion_protection_enabled.setter + def deletion_protection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deletion_protection_enabled", value) + + @property + @pulumi.getter(name="isoCountryCode") + def iso_country_code(self) -> Optional[pulumi.Input[str]]: + """ + The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + """ + return pulumi.get(self, "iso_country_code") + + @iso_country_code.setter + def iso_country_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "iso_country_code", value) + + @property + @pulumi.getter(name="messageType") + def message_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + """ + return pulumi.get(self, "message_type") + + @message_type.setter + def message_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "message_type", value) + + @property + @pulumi.getter(name="monthlyLeasingPrice") + def monthly_leasing_price(self) -> Optional[pulumi.Input[str]]: + """ + The monthly price, in US dollars, to lease the phone number. + """ + return pulumi.get(self, "monthly_leasing_price") + + @monthly_leasing_price.setter + def monthly_leasing_price(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "monthly_leasing_price", value) + + @property + @pulumi.getter(name="numberCapabilities") + def number_capabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + """ + return pulumi.get(self, "number_capabilities") + + @number_capabilities.setter + def number_capabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "number_capabilities", value) + + @property + @pulumi.getter(name="numberType") + def number_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + """ + return pulumi.get(self, "number_type") + + @number_type.setter + def number_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "number_type", value) + + @property + @pulumi.getter(name="optOutListName") + def opt_out_list_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the opt-out list to associate with the phone number. + """ + return pulumi.get(self, "opt_out_list_name") + + @opt_out_list_name.setter + def opt_out_list_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "opt_out_list_name", value) + + @property + @pulumi.getter(name="phoneNumber") + def phone_number(self) -> Optional[pulumi.Input[str]]: + """ + The new phone number that was requested. + """ + return pulumi.get(self, "phone_number") + + @phone_number.setter + def phone_number(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_number", value) + + @property + @pulumi.getter(name="registrationId") + def registration_id(self) -> Optional[pulumi.Input[str]]: + """ + Use this field to attach your phone number for an external registration process. + """ + return pulumi.get(self, "registration_id") + + @registration_id.setter + def registration_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "registration_id", value) + + @property + @pulumi.getter(name="selfManagedOptOutsEnabled") + def self_managed_opt_outs_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + """ + return pulumi.get(self, "self_managed_opt_outs_enabled") + + @self_managed_opt_outs_enabled.setter + def self_managed_opt_outs_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "self_managed_opt_outs_enabled", 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") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['Smsvoicev2PhoneNumberTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['Smsvoicev2PhoneNumberTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="twoWayChannelArn") + def two_way_channel_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the two way channel. + """ + return pulumi.get(self, "two_way_channel_arn") + + @two_way_channel_arn.setter + def two_way_channel_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "two_way_channel_arn", value) + + @property + @pulumi.getter(name="twoWayChannelEnabled") + def two_way_channel_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + """ + return pulumi.get(self, "two_way_channel_enabled") + + @two_way_channel_enabled.setter + def two_way_channel_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "two_way_channel_enabled", value) + + +class Smsvoicev2PhoneNumber(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, + iso_country_code: Optional[pulumi.Input[str]] = None, + message_type: Optional[pulumi.Input[str]] = None, + number_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + number_type: Optional[pulumi.Input[str]] = None, + opt_out_list_name: Optional[pulumi.Input[str]] = None, + registration_id: Optional[pulumi.Input[str]] = None, + self_managed_opt_outs_enabled: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['Smsvoicev2PhoneNumberTimeoutsArgs', 'Smsvoicev2PhoneNumberTimeoutsArgsDict']]] = None, + two_way_channel_arn: Optional[pulumi.Input[str]] = None, + two_way_channel_enabled: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Manages an AWS End User Messaging SMS phone number. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.pinpoint.Smsvoicev2PhoneNumber("example", + iso_country_code="US", + message_type="TRANSACTIONAL", + number_type="TOLL_FREE", + number_capabilities=["SMS"]) + ``` + + ## Import + + Using `pulumi import`, import phone numbers using the `id`. For example: + + ```sh + $ pulumi import aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber example phone-abcdef0123456789abcdef0123456789 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] deletion_protection_enabled: By default this is set to `false`. When set to true the phone number can’t be deleted. + :param pulumi.Input[str] iso_country_code: The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + :param pulumi.Input[str] message_type: The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + :param pulumi.Input[Sequence[pulumi.Input[str]]] number_capabilities: Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + :param pulumi.Input[str] number_type: The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + :param pulumi.Input[str] opt_out_list_name: The name of the opt-out list to associate with the phone number. + :param pulumi.Input[str] registration_id: Use this field to attach your phone number for an external registration process. + :param pulumi.Input[bool] self_managed_opt_outs_enabled: When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + :param pulumi.Input[str] two_way_channel_arn: The Amazon Resource Name (ARN) of the two way channel. + :param pulumi.Input[bool] two_way_channel_enabled: By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Smsvoicev2PhoneNumberArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages an AWS End User Messaging SMS phone number. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.pinpoint.Smsvoicev2PhoneNumber("example", + iso_country_code="US", + message_type="TRANSACTIONAL", + number_type="TOLL_FREE", + number_capabilities=["SMS"]) + ``` + + ## Import + + Using `pulumi import`, import phone numbers using the `id`. For example: + + ```sh + $ pulumi import aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber example phone-abcdef0123456789abcdef0123456789 + ``` + + :param str resource_name: The name of the resource. + :param Smsvoicev2PhoneNumberArgs 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(Smsvoicev2PhoneNumberArgs, 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, + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, + iso_country_code: Optional[pulumi.Input[str]] = None, + message_type: Optional[pulumi.Input[str]] = None, + number_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + number_type: Optional[pulumi.Input[str]] = None, + opt_out_list_name: Optional[pulumi.Input[str]] = None, + registration_id: Optional[pulumi.Input[str]] = None, + self_managed_opt_outs_enabled: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['Smsvoicev2PhoneNumberTimeoutsArgs', 'Smsvoicev2PhoneNumberTimeoutsArgsDict']]] = None, + two_way_channel_arn: Optional[pulumi.Input[str]] = None, + two_way_channel_enabled: Optional[pulumi.Input[bool]] = 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__ = Smsvoicev2PhoneNumberArgs.__new__(Smsvoicev2PhoneNumberArgs) + + __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled + if iso_country_code is None and not opts.urn: + raise TypeError("Missing required property 'iso_country_code'") + __props__.__dict__["iso_country_code"] = iso_country_code + if message_type is None and not opts.urn: + raise TypeError("Missing required property 'message_type'") + __props__.__dict__["message_type"] = message_type + if number_capabilities is None and not opts.urn: + raise TypeError("Missing required property 'number_capabilities'") + __props__.__dict__["number_capabilities"] = number_capabilities + if number_type is None and not opts.urn: + raise TypeError("Missing required property 'number_type'") + __props__.__dict__["number_type"] = number_type + __props__.__dict__["opt_out_list_name"] = opt_out_list_name + __props__.__dict__["registration_id"] = registration_id + __props__.__dict__["self_managed_opt_outs_enabled"] = self_managed_opt_outs_enabled + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["two_way_channel_arn"] = two_way_channel_arn + __props__.__dict__["two_way_channel_enabled"] = two_way_channel_enabled + __props__.__dict__["arn"] = None + __props__.__dict__["monthly_leasing_price"] = None + __props__.__dict__["phone_number"] = None + __props__.__dict__["tags_all"] = None + super(Smsvoicev2PhoneNumber, __self__).__init__( + 'aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber', + 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, + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, + iso_country_code: Optional[pulumi.Input[str]] = None, + message_type: Optional[pulumi.Input[str]] = None, + monthly_leasing_price: Optional[pulumi.Input[str]] = None, + number_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + number_type: Optional[pulumi.Input[str]] = None, + opt_out_list_name: Optional[pulumi.Input[str]] = None, + phone_number: Optional[pulumi.Input[str]] = None, + registration_id: Optional[pulumi.Input[str]] = None, + self_managed_opt_outs_enabled: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['Smsvoicev2PhoneNumberTimeoutsArgs', 'Smsvoicev2PhoneNumberTimeoutsArgsDict']]] = None, + two_way_channel_arn: Optional[pulumi.Input[str]] = None, + two_way_channel_enabled: Optional[pulumi.Input[bool]] = None) -> 'Smsvoicev2PhoneNumber': + """ + Get an existing Smsvoicev2PhoneNumber 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 phone number. + :param pulumi.Input[bool] deletion_protection_enabled: By default this is set to `false`. When set to true the phone number can’t be deleted. + :param pulumi.Input[str] iso_country_code: The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + :param pulumi.Input[str] message_type: The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + :param pulumi.Input[str] monthly_leasing_price: The monthly price, in US dollars, to lease the phone number. + :param pulumi.Input[Sequence[pulumi.Input[str]]] number_capabilities: Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + :param pulumi.Input[str] number_type: The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + :param pulumi.Input[str] opt_out_list_name: The name of the opt-out list to associate with the phone number. + :param pulumi.Input[str] phone_number: The new phone number that was requested. + :param pulumi.Input[str] registration_id: Use this field to attach your phone number for an external registration process. + :param pulumi.Input[bool] self_managed_opt_outs_enabled: When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + :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] two_way_channel_arn: The Amazon Resource Name (ARN) of the two way channel. + :param pulumi.Input[bool] two_way_channel_enabled: By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _Smsvoicev2PhoneNumberState.__new__(_Smsvoicev2PhoneNumberState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled + __props__.__dict__["iso_country_code"] = iso_country_code + __props__.__dict__["message_type"] = message_type + __props__.__dict__["monthly_leasing_price"] = monthly_leasing_price + __props__.__dict__["number_capabilities"] = number_capabilities + __props__.__dict__["number_type"] = number_type + __props__.__dict__["opt_out_list_name"] = opt_out_list_name + __props__.__dict__["phone_number"] = phone_number + __props__.__dict__["registration_id"] = registration_id + __props__.__dict__["self_managed_opt_outs_enabled"] = self_managed_opt_outs_enabled + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["two_way_channel_arn"] = two_way_channel_arn + __props__.__dict__["two_way_channel_enabled"] = two_way_channel_enabled + return Smsvoicev2PhoneNumber(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the phone number. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="deletionProtectionEnabled") + def deletion_protection_enabled(self) -> pulumi.Output[bool]: + """ + By default this is set to `false`. When set to true the phone number can’t be deleted. + """ + return pulumi.get(self, "deletion_protection_enabled") + + @property + @pulumi.getter(name="isoCountryCode") + def iso_country_code(self) -> pulumi.Output[str]: + """ + The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. + """ + return pulumi.get(self, "iso_country_code") + + @property + @pulumi.getter(name="messageType") + def message_type(self) -> pulumi.Output[str]: + """ + The type of message. Valid values are `TRANSACTIONAL` for messages that are critical or time-sensitive and `PROMOTIONAL` for messages that aren’t critical or time-sensitive. + """ + return pulumi.get(self, "message_type") + + @property + @pulumi.getter(name="monthlyLeasingPrice") + def monthly_leasing_price(self) -> pulumi.Output[str]: + """ + The monthly price, in US dollars, to lease the phone number. + """ + return pulumi.get(self, "monthly_leasing_price") + + @property + @pulumi.getter(name="numberCapabilities") + def number_capabilities(self) -> pulumi.Output[Sequence[str]]: + """ + Describes if the origination identity can be used for text messages, voice calls or both. valid values are `SMS` and `VOICE`. + """ + return pulumi.get(self, "number_capabilities") + + @property + @pulumi.getter(name="numberType") + def number_type(self) -> pulumi.Output[str]: + """ + The type of phone number to request. Possible values are `LONG_CODE`, `TOLL_FREE`, `TEN_DLC`, or `SIMULATOR`. + """ + return pulumi.get(self, "number_type") + + @property + @pulumi.getter(name="optOutListName") + def opt_out_list_name(self) -> pulumi.Output[str]: + """ + The name of the opt-out list to associate with the phone number. + """ + return pulumi.get(self, "opt_out_list_name") + + @property + @pulumi.getter(name="phoneNumber") + def phone_number(self) -> pulumi.Output[str]: + """ + The new phone number that was requested. + """ + return pulumi.get(self, "phone_number") + + @property + @pulumi.getter(name="registrationId") + def registration_id(self) -> pulumi.Output[Optional[str]]: + """ + Use this field to attach your phone number for an external registration process. + """ + return pulumi.get(self, "registration_id") + + @property + @pulumi.getter(name="selfManagedOptOutsEnabled") + def self_managed_opt_outs_enabled(self) -> pulumi.Output[bool]: + """ + When set to `false` an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the opt-out list. When set to true you’re responsible for responding to HELP and STOP requests. You’re also responsible for tracking and honoring opt-out request. + """ + return pulumi.get(self, "self_managed_opt_outs_enabled") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.Smsvoicev2PhoneNumberTimeouts']]: + return pulumi.get(self, "timeouts") + + @property + @pulumi.getter(name="twoWayChannelArn") + def two_way_channel_arn(self) -> pulumi.Output[Optional[str]]: + """ + The Amazon Resource Name (ARN) of the two way channel. + """ + return pulumi.get(self, "two_way_channel_arn") + + @property + @pulumi.getter(name="twoWayChannelEnabled") + def two_way_channel_enabled(self) -> pulumi.Output[bool]: + """ + By default this is set to `false`. When set to `true` you can receive incoming text messages from your end recipients. + """ + return pulumi.get(self, "two_way_channel_enabled") + diff --git a/sdk/python/pulumi_aws/s3/bucket_server_side_encryption_configuration_v2.py b/sdk/python/pulumi_aws/s3/bucket_server_side_encryption_configuration_v2.py index 30e870e98af..a5de0b0dd6c 100644 --- a/sdk/python/pulumi_aws/s3/bucket_server_side_encryption_configuration_v2.py +++ b/sdk/python/pulumi_aws/s3/bucket_server_side_encryption_configuration_v2.py @@ -142,8 +142,6 @@ def __init__(__self__, > **NOTE:** Destroying an `s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). - > This resource cannot be used with S3 directory buckets. - ## Example Usage ```python @@ -198,8 +196,6 @@ def __init__(__self__, > **NOTE:** Destroying an `s3.BucketServerSideEncryptionConfigurationV2` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). - > This resource cannot be used with S3 directory buckets. - ## Example Usage ```python diff --git a/sdk/python/pulumi_aws/securityhub/__init__.py b/sdk/python/pulumi_aws/securityhub/__init__.py index ac0a171531e..5c2bc209bda 100644 --- a/sdk/python/pulumi_aws/securityhub/__init__.py +++ b/sdk/python/pulumi_aws/securityhub/__init__.py @@ -11,6 +11,7 @@ from .configuration_policy import * from .configuration_policy_association import * from .finding_aggregator import * +from .get_standards_control_associations import * from .insight import * from .invite_accepter import * from .member import * diff --git a/sdk/python/pulumi_aws/securityhub/_inputs.py b/sdk/python/pulumi_aws/securityhub/_inputs.py index a671b91c1e0..ef51cea010e 100644 --- a/sdk/python/pulumi_aws/securityhub/_inputs.py +++ b/sdk/python/pulumi_aws/securityhub/_inputs.py @@ -341,6 +341,8 @@ 'InsightFiltersWorkflowStatusArgsDict', 'OrganizationConfigurationOrganizationConfigurationArgs', 'OrganizationConfigurationOrganizationConfigurationArgsDict', + 'GetStandardsControlAssociationsStandardsControlAssociationArgs', + 'GetStandardsControlAssociationsStandardsControlAssociationArgsDict', ] MYPY = False @@ -10177,3 +10179,186 @@ def configuration_type(self, value: pulumi.Input[str]): pulumi.set(self, "configuration_type", value) +if not MYPY: + class GetStandardsControlAssociationsStandardsControlAssociationArgsDict(TypedDict): + association_status: str + """ + Enablement status of a control in a specific standard. + """ + related_requirements: Sequence[str] + """ + List of underlying requirements in the compliance framework related to the standard. + """ + security_control_arn: str + """ + ARN of the security control. + """ + security_control_id: str + """ + The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + """ + standards_arn: str + """ + ARN of the standard. + """ + standards_control_description: str + """ + Description of the standard. + """ + standards_control_title: str + """ + Title of the standard. + """ + updated_at: str + """ + Last time that a control's enablement status in a specified standard was updated. + """ + updated_reason: str + """ + Reason for updating a control's enablement status in a specified standard. + """ +elif False: + GetStandardsControlAssociationsStandardsControlAssociationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GetStandardsControlAssociationsStandardsControlAssociationArgs: + def __init__(__self__, *, + association_status: str, + related_requirements: Sequence[str], + security_control_arn: str, + security_control_id: str, + standards_arn: str, + standards_control_description: str, + standards_control_title: str, + updated_at: str, + updated_reason: str): + """ + :param str association_status: Enablement status of a control in a specific standard. + :param Sequence[str] related_requirements: List of underlying requirements in the compliance framework related to the standard. + :param str security_control_arn: ARN of the security control. + :param str security_control_id: The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + :param str standards_arn: ARN of the standard. + :param str standards_control_description: Description of the standard. + :param str standards_control_title: Title of the standard. + :param str updated_at: Last time that a control's enablement status in a specified standard was updated. + :param str updated_reason: Reason for updating a control's enablement status in a specified standard. + """ + pulumi.set(__self__, "association_status", association_status) + pulumi.set(__self__, "related_requirements", related_requirements) + pulumi.set(__self__, "security_control_arn", security_control_arn) + pulumi.set(__self__, "security_control_id", security_control_id) + pulumi.set(__self__, "standards_arn", standards_arn) + pulumi.set(__self__, "standards_control_description", standards_control_description) + pulumi.set(__self__, "standards_control_title", standards_control_title) + pulumi.set(__self__, "updated_at", updated_at) + pulumi.set(__self__, "updated_reason", updated_reason) + + @property + @pulumi.getter(name="associationStatus") + def association_status(self) -> str: + """ + Enablement status of a control in a specific standard. + """ + return pulumi.get(self, "association_status") + + @association_status.setter + def association_status(self, value: str): + pulumi.set(self, "association_status", value) + + @property + @pulumi.getter(name="relatedRequirements") + def related_requirements(self) -> Sequence[str]: + """ + List of underlying requirements in the compliance framework related to the standard. + """ + return pulumi.get(self, "related_requirements") + + @related_requirements.setter + def related_requirements(self, value: Sequence[str]): + pulumi.set(self, "related_requirements", value) + + @property + @pulumi.getter(name="securityControlArn") + def security_control_arn(self) -> str: + """ + ARN of the security control. + """ + return pulumi.get(self, "security_control_arn") + + @security_control_arn.setter + def security_control_arn(self, value: str): + pulumi.set(self, "security_control_arn", value) + + @property + @pulumi.getter(name="securityControlId") + def security_control_id(self) -> str: + """ + The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + """ + return pulumi.get(self, "security_control_id") + + @security_control_id.setter + def security_control_id(self, value: str): + pulumi.set(self, "security_control_id", value) + + @property + @pulumi.getter(name="standardsArn") + def standards_arn(self) -> str: + """ + ARN of the standard. + """ + return pulumi.get(self, "standards_arn") + + @standards_arn.setter + def standards_arn(self, value: str): + pulumi.set(self, "standards_arn", value) + + @property + @pulumi.getter(name="standardsControlDescription") + def standards_control_description(self) -> str: + """ + Description of the standard. + """ + return pulumi.get(self, "standards_control_description") + + @standards_control_description.setter + def standards_control_description(self, value: str): + pulumi.set(self, "standards_control_description", value) + + @property + @pulumi.getter(name="standardsControlTitle") + def standards_control_title(self) -> str: + """ + Title of the standard. + """ + return pulumi.get(self, "standards_control_title") + + @standards_control_title.setter + def standards_control_title(self, value: str): + pulumi.set(self, "standards_control_title", value) + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> str: + """ + Last time that a control's enablement status in a specified standard was updated. + """ + return pulumi.get(self, "updated_at") + + @updated_at.setter + def updated_at(self, value: str): + pulumi.set(self, "updated_at", value) + + @property + @pulumi.getter(name="updatedReason") + def updated_reason(self) -> str: + """ + Reason for updating a control's enablement status in a specified standard. + """ + return pulumi.get(self, "updated_reason") + + @updated_reason.setter + def updated_reason(self, value: str): + pulumi.set(self, "updated_reason", value) + + diff --git a/sdk/python/pulumi_aws/securityhub/get_standards_control_associations.py b/sdk/python/pulumi_aws/securityhub/get_standards_control_associations.py new file mode 100644 index 00000000000..fdbfc14bf08 --- /dev/null +++ b/sdk/python/pulumi_aws/securityhub/get_standards_control_associations.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetStandardsControlAssociationsResult', + 'AwaitableGetStandardsControlAssociationsResult', + 'get_standards_control_associations', + 'get_standards_control_associations_output', +] + +@pulumi.output_type +class GetStandardsControlAssociationsResult: + """ + A collection of values returned by getStandardsControlAssociations. + """ + def __init__(__self__, id=None, security_control_id=None, standards_control_associations=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if security_control_id and not isinstance(security_control_id, str): + raise TypeError("Expected argument 'security_control_id' to be a str") + pulumi.set(__self__, "security_control_id", security_control_id) + if standards_control_associations and not isinstance(standards_control_associations, list): + raise TypeError("Expected argument 'standards_control_associations' to be a list") + pulumi.set(__self__, "standards_control_associations", standards_control_associations) + + @property + @pulumi.getter + def id(self) -> str: + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="securityControlId") + def security_control_id(self) -> str: + """ + ID of the security control. + """ + return pulumi.get(self, "security_control_id") + + @property + @pulumi.getter(name="standardsControlAssociations") + def standards_control_associations(self) -> Optional[Sequence['outputs.GetStandardsControlAssociationsStandardsControlAssociationResult']]: + """ + A list that provides the status and other details for each security control that applies to each enabled standard. + See `standards_control_associations` below. + """ + return pulumi.get(self, "standards_control_associations") + + +class AwaitableGetStandardsControlAssociationsResult(GetStandardsControlAssociationsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetStandardsControlAssociationsResult( + id=self.id, + security_control_id=self.security_control_id, + standards_control_associations=self.standards_control_associations) + + +def get_standards_control_associations(security_control_id: Optional[str] = None, + standards_control_associations: Optional[Sequence[Union['GetStandardsControlAssociationsStandardsControlAssociationArgs', 'GetStandardsControlAssociationsStandardsControlAssociationArgsDict']]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetStandardsControlAssociationsResult: + """ + Data source for managing an AWS Security Hub Standards Control Associations. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test_account = aws.securityhub.Account("test") + test = aws.securityhub.get_standards_control_associations(security_control_id="IAM.1") + ``` + + + :param str security_control_id: The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + :param Sequence[Union['GetStandardsControlAssociationsStandardsControlAssociationArgs', 'GetStandardsControlAssociationsStandardsControlAssociationArgsDict']] standards_control_associations: A list that provides the status and other details for each security control that applies to each enabled standard. + See `standards_control_associations` below. + """ + __args__ = dict() + __args__['securityControlId'] = security_control_id + __args__['standardsControlAssociations'] = standards_control_associations + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations', __args__, opts=opts, typ=GetStandardsControlAssociationsResult).value + + return AwaitableGetStandardsControlAssociationsResult( + id=pulumi.get(__ret__, 'id'), + security_control_id=pulumi.get(__ret__, 'security_control_id'), + standards_control_associations=pulumi.get(__ret__, 'standards_control_associations')) + + +@_utilities.lift_output_func(get_standards_control_associations) +def get_standards_control_associations_output(security_control_id: Optional[pulumi.Input[str]] = None, + standards_control_associations: Optional[pulumi.Input[Optional[Sequence[Union['GetStandardsControlAssociationsStandardsControlAssociationArgs', 'GetStandardsControlAssociationsStandardsControlAssociationArgsDict']]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStandardsControlAssociationsResult]: + """ + Data source for managing an AWS Security Hub Standards Control Associations. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test_account = aws.securityhub.Account("test") + test = aws.securityhub.get_standards_control_associations(security_control_id="IAM.1") + ``` + + + :param str security_control_id: The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + :param Sequence[Union['GetStandardsControlAssociationsStandardsControlAssociationArgs', 'GetStandardsControlAssociationsStandardsControlAssociationArgsDict']] standards_control_associations: A list that provides the status and other details for each security control that applies to each enabled standard. + See `standards_control_associations` below. + """ + ... diff --git a/sdk/python/pulumi_aws/securityhub/outputs.py b/sdk/python/pulumi_aws/securityhub/outputs.py index 138a4b130ee..1fa47a4f180 100644 --- a/sdk/python/pulumi_aws/securityhub/outputs.py +++ b/sdk/python/pulumi_aws/securityhub/outputs.py @@ -179,6 +179,7 @@ 'InsightFiltersVerificationState', 'InsightFiltersWorkflowStatus', 'OrganizationConfigurationOrganizationConfiguration', + 'GetStandardsControlAssociationsStandardsControlAssociationResult', ] @pulumi.output_type @@ -6611,3 +6612,109 @@ def configuration_type(self) -> str: return pulumi.get(self, "configuration_type") +@pulumi.output_type +class GetStandardsControlAssociationsStandardsControlAssociationResult(dict): + def __init__(__self__, *, + association_status: str, + related_requirements: Sequence[str], + security_control_arn: str, + security_control_id: str, + standards_arn: str, + standards_control_description: str, + standards_control_title: str, + updated_at: str, + updated_reason: str): + """ + :param str association_status: Enablement status of a control in a specific standard. + :param Sequence[str] related_requirements: List of underlying requirements in the compliance framework related to the standard. + :param str security_control_arn: ARN of the security control. + :param str security_control_id: The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + :param str standards_arn: ARN of the standard. + :param str standards_control_description: Description of the standard. + :param str standards_control_title: Title of the standard. + :param str updated_at: Last time that a control's enablement status in a specified standard was updated. + :param str updated_reason: Reason for updating a control's enablement status in a specified standard. + """ + pulumi.set(__self__, "association_status", association_status) + pulumi.set(__self__, "related_requirements", related_requirements) + pulumi.set(__self__, "security_control_arn", security_control_arn) + pulumi.set(__self__, "security_control_id", security_control_id) + pulumi.set(__self__, "standards_arn", standards_arn) + pulumi.set(__self__, "standards_control_description", standards_control_description) + pulumi.set(__self__, "standards_control_title", standards_control_title) + pulumi.set(__self__, "updated_at", updated_at) + pulumi.set(__self__, "updated_reason", updated_reason) + + @property + @pulumi.getter(name="associationStatus") + def association_status(self) -> str: + """ + Enablement status of a control in a specific standard. + """ + return pulumi.get(self, "association_status") + + @property + @pulumi.getter(name="relatedRequirements") + def related_requirements(self) -> Sequence[str]: + """ + List of underlying requirements in the compliance framework related to the standard. + """ + return pulumi.get(self, "related_requirements") + + @property + @pulumi.getter(name="securityControlArn") + def security_control_arn(self) -> str: + """ + ARN of the security control. + """ + return pulumi.get(self, "security_control_arn") + + @property + @pulumi.getter(name="securityControlId") + def security_control_id(self) -> str: + """ + The identifier of the control (identified with `SecurityControlId`, `SecurityControlArn`, or a mix of both parameters). + """ + return pulumi.get(self, "security_control_id") + + @property + @pulumi.getter(name="standardsArn") + def standards_arn(self) -> str: + """ + ARN of the standard. + """ + return pulumi.get(self, "standards_arn") + + @property + @pulumi.getter(name="standardsControlDescription") + def standards_control_description(self) -> str: + """ + Description of the standard. + """ + return pulumi.get(self, "standards_control_description") + + @property + @pulumi.getter(name="standardsControlTitle") + def standards_control_title(self) -> str: + """ + Title of the standard. + """ + return pulumi.get(self, "standards_control_title") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> str: + """ + Last time that a control's enablement status in a specified standard was updated. + """ + return pulumi.get(self, "updated_at") + + @property + @pulumi.getter(name="updatedReason") + def updated_reason(self) -> str: + """ + Reason for updating a control's enablement status in a specified standard. + """ + return pulumi.get(self, "updated_reason") + + diff --git a/sdk/python/pulumi_aws/ses/_inputs.py b/sdk/python/pulumi_aws/ses/_inputs.py index f83686882fe..006aa94cdc0 100644 --- a/sdk/python/pulumi_aws/ses/_inputs.py +++ b/sdk/python/pulumi_aws/ses/_inputs.py @@ -554,6 +554,10 @@ class ReceiptRuleS3ActionArgsDict(TypedDict): """ The position of the action in the receipt rule """ + iam_role_arn: NotRequired[pulumi.Input[str]] + """ + The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + """ kms_key_arn: NotRequired[pulumi.Input[str]] """ The ARN of the KMS key @@ -574,18 +578,22 @@ class ReceiptRuleS3ActionArgs: def __init__(__self__, *, bucket_name: pulumi.Input[str], position: pulumi.Input[int], + iam_role_arn: Optional[pulumi.Input[str]] = None, kms_key_arn: Optional[pulumi.Input[str]] = None, object_key_prefix: Optional[pulumi.Input[str]] = None, topic_arn: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] bucket_name: The name of the S3 bucket :param pulumi.Input[int] position: The position of the action in the receipt rule + :param pulumi.Input[str] iam_role_arn: The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic :param pulumi.Input[str] kms_key_arn: The ARN of the KMS key :param pulumi.Input[str] object_key_prefix: The key prefix of the S3 bucket :param pulumi.Input[str] topic_arn: The ARN of an SNS topic to notify """ pulumi.set(__self__, "bucket_name", bucket_name) pulumi.set(__self__, "position", position) + if iam_role_arn is not None: + pulumi.set(__self__, "iam_role_arn", iam_role_arn) if kms_key_arn is not None: pulumi.set(__self__, "kms_key_arn", kms_key_arn) if object_key_prefix is not None: @@ -617,6 +625,18 @@ def position(self) -> pulumi.Input[int]: def position(self, value: pulumi.Input[int]): pulumi.set(self, "position", value) + @property + @pulumi.getter(name="iamRoleArn") + def iam_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + """ + return pulumi.get(self, "iam_role_arn") + + @iam_role_arn.setter + def iam_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "iam_role_arn", value) + @property @pulumi.getter(name="kmsKeyArn") def kms_key_arn(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws/ses/outputs.py b/sdk/python/pulumi_aws/ses/outputs.py index c3e6f64af94..7819932085a 100644 --- a/sdk/python/pulumi_aws/ses/outputs.py +++ b/sdk/python/pulumi_aws/ses/outputs.py @@ -481,6 +481,8 @@ def __key_warning(key: str): suggest = None if key == "bucketName": suggest = "bucket_name" + elif key == "iamRoleArn": + suggest = "iam_role_arn" elif key == "kmsKeyArn": suggest = "kms_key_arn" elif key == "objectKeyPrefix": @@ -502,18 +504,22 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, bucket_name: str, position: int, + iam_role_arn: Optional[str] = None, kms_key_arn: Optional[str] = None, object_key_prefix: Optional[str] = None, topic_arn: Optional[str] = None): """ :param str bucket_name: The name of the S3 bucket :param int position: The position of the action in the receipt rule + :param str iam_role_arn: The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic :param str kms_key_arn: The ARN of the KMS key :param str object_key_prefix: The key prefix of the S3 bucket :param str topic_arn: The ARN of an SNS topic to notify """ pulumi.set(__self__, "bucket_name", bucket_name) pulumi.set(__self__, "position", position) + if iam_role_arn is not None: + pulumi.set(__self__, "iam_role_arn", iam_role_arn) if kms_key_arn is not None: pulumi.set(__self__, "kms_key_arn", kms_key_arn) if object_key_prefix is not None: @@ -537,6 +543,14 @@ def position(self) -> int: """ return pulumi.get(self, "position") + @property + @pulumi.getter(name="iamRoleArn") + def iam_role_arn(self) -> Optional[str]: + """ + The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic + """ + return pulumi.get(self, "iam_role_arn") + @property @pulumi.getter(name="kmsKeyArn") def kms_key_arn(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws/sesv2/__init__.py b/sdk/python/pulumi_aws/sesv2/__init__.py index e20441bd173..055e537a9d8 100644 --- a/sdk/python/pulumi_aws/sesv2/__init__.py +++ b/sdk/python/pulumi_aws/sesv2/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .account_suppression_attributes import * from .account_vdm_attributes import * from .configuration_set import * from .configuration_set_event_destination import * diff --git a/sdk/python/pulumi_aws/sesv2/account_suppression_attributes.py b/sdk/python/pulumi_aws/sesv2/account_suppression_attributes.py new file mode 100644 index 00000000000..9d84e7481f6 --- /dev/null +++ b/sdk/python/pulumi_aws/sesv2/account_suppression_attributes.py @@ -0,0 +1,185 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['AccountSuppressionAttributesArgs', 'AccountSuppressionAttributes'] + +@pulumi.input_type +class AccountSuppressionAttributesArgs: + def __init__(__self__, *, + suppressed_reasons: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + The set of arguments for constructing a AccountSuppressionAttributes resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] suppressed_reasons: A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + """ + pulumi.set(__self__, "suppressed_reasons", suppressed_reasons) + + @property + @pulumi.getter(name="suppressedReasons") + def suppressed_reasons(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + """ + return pulumi.get(self, "suppressed_reasons") + + @suppressed_reasons.setter + def suppressed_reasons(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "suppressed_reasons", value) + + +@pulumi.input_type +class _AccountSuppressionAttributesState: + def __init__(__self__, *, + suppressed_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering AccountSuppressionAttributes resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] suppressed_reasons: A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + """ + if suppressed_reasons is not None: + pulumi.set(__self__, "suppressed_reasons", suppressed_reasons) + + @property + @pulumi.getter(name="suppressedReasons") + def suppressed_reasons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + """ + return pulumi.get(self, "suppressed_reasons") + + @suppressed_reasons.setter + def suppressed_reasons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "suppressed_reasons", value) + + +class AccountSuppressionAttributes(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + suppressed_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Manages AWS SESv2 (Simple Email V2) account-level suppression attributes. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.sesv2.AccountSuppressionAttributes("example", suppressed_reasons=["COMPLAINT"]) + ``` + + ## Import + + Using `pulumi import`, import account-level suppression attributes using the account ID. For example: + + ```sh + $ pulumi import aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes example 123456789012 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] suppressed_reasons: A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AccountSuppressionAttributesArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages AWS SESv2 (Simple Email V2) account-level suppression attributes. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.sesv2.AccountSuppressionAttributes("example", suppressed_reasons=["COMPLAINT"]) + ``` + + ## Import + + Using `pulumi import`, import account-level suppression attributes using the account ID. For example: + + ```sh + $ pulumi import aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes example 123456789012 + ``` + + :param str resource_name: The name of the resource. + :param AccountSuppressionAttributesArgs 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(AccountSuppressionAttributesArgs, 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, + suppressed_reasons: Optional[pulumi.Input[Sequence[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__ = AccountSuppressionAttributesArgs.__new__(AccountSuppressionAttributesArgs) + + if suppressed_reasons is None and not opts.urn: + raise TypeError("Missing required property 'suppressed_reasons'") + __props__.__dict__["suppressed_reasons"] = suppressed_reasons + super(AccountSuppressionAttributes, __self__).__init__( + 'aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + suppressed_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'AccountSuppressionAttributes': + """ + Get an existing AccountSuppressionAttributes 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[str]]] suppressed_reasons: A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AccountSuppressionAttributesState.__new__(_AccountSuppressionAttributesState) + + __props__.__dict__["suppressed_reasons"] = suppressed_reasons + return AccountSuppressionAttributes(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="suppressedReasons") + def suppressed_reasons(self) -> pulumi.Output[Sequence[str]]: + """ + A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. Valid values: `COMPLAINT`, `BOUNCE`. + """ + return pulumi.get(self, "suppressed_reasons") + diff --git a/sdk/python/pulumi_aws/synthetics/__init__.py b/sdk/python/pulumi_aws/synthetics/__init__.py index 9e3a2dcfeee..73000542857 100644 --- a/sdk/python/pulumi_aws/synthetics/__init__.py +++ b/sdk/python/pulumi_aws/synthetics/__init__.py @@ -6,6 +6,8 @@ import typing # Export this package's modules as members: from .canary import * +from .get_runtime_version import * +from .get_runtime_versions import * from .group import * from .group_association import * from ._inputs import * diff --git a/sdk/python/pulumi_aws/synthetics/_inputs.py b/sdk/python/pulumi_aws/synthetics/_inputs.py index 2a37a561ad7..0f241dba15b 100644 --- a/sdk/python/pulumi_aws/synthetics/_inputs.py +++ b/sdk/python/pulumi_aws/synthetics/_inputs.py @@ -27,6 +27,8 @@ 'CanaryTimelineArgsDict', 'CanaryVpcConfigArgs', 'CanaryVpcConfigArgsDict', + 'GetRuntimeVersionsRuntimeVersionArgs', + 'GetRuntimeVersionsRuntimeVersionArgsDict', ] MYPY = False @@ -422,3 +424,94 @@ def vpc_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "vpc_id", value) +if not MYPY: + class GetRuntimeVersionsRuntimeVersionArgsDict(TypedDict): + deprecation_date: str + """ + Date of deprecation if the runtme version is deprecated. + """ + description: str + """ + Description of the runtime version, created by Amazon. + """ + release_date: str + """ + Date that the runtime version was released. + """ + version_name: str + """ + Name of the runtime version. + For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + """ +elif False: + GetRuntimeVersionsRuntimeVersionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GetRuntimeVersionsRuntimeVersionArgs: + def __init__(__self__, *, + deprecation_date: str, + description: str, + release_date: str, + version_name: str): + """ + :param str deprecation_date: Date of deprecation if the runtme version is deprecated. + :param str description: Description of the runtime version, created by Amazon. + :param str release_date: Date that the runtime version was released. + :param str version_name: Name of the runtime version. + For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + """ + pulumi.set(__self__, "deprecation_date", deprecation_date) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "release_date", release_date) + pulumi.set(__self__, "version_name", version_name) + + @property + @pulumi.getter(name="deprecationDate") + def deprecation_date(self) -> str: + """ + Date of deprecation if the runtme version is deprecated. + """ + return pulumi.get(self, "deprecation_date") + + @deprecation_date.setter + def deprecation_date(self, value: str): + pulumi.set(self, "deprecation_date", value) + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the runtime version, created by Amazon. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: str): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="releaseDate") + def release_date(self) -> str: + """ + Date that the runtime version was released. + """ + return pulumi.get(self, "release_date") + + @release_date.setter + def release_date(self, value: str): + pulumi.set(self, "release_date", value) + + @property + @pulumi.getter(name="versionName") + def version_name(self) -> str: + """ + Name of the runtime version. + For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + """ + return pulumi.get(self, "version_name") + + @version_name.setter + def version_name(self, value: str): + pulumi.set(self, "version_name", value) + + diff --git a/sdk/python/pulumi_aws/synthetics/get_runtime_version.py b/sdk/python/pulumi_aws/synthetics/get_runtime_version.py new file mode 100644 index 00000000000..78c27b2943c --- /dev/null +++ b/sdk/python/pulumi_aws/synthetics/get_runtime_version.py @@ -0,0 +1,218 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetRuntimeVersionResult', + 'AwaitableGetRuntimeVersionResult', + 'get_runtime_version', + 'get_runtime_version_output', +] + +@pulumi.output_type +class GetRuntimeVersionResult: + """ + A collection of values returned by getRuntimeVersion. + """ + def __init__(__self__, deprecation_date=None, description=None, id=None, latest=None, prefix=None, release_date=None, version=None, version_name=None): + if deprecation_date and not isinstance(deprecation_date, str): + raise TypeError("Expected argument 'deprecation_date' to be a str") + pulumi.set(__self__, "deprecation_date", deprecation_date) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if latest and not isinstance(latest, bool): + raise TypeError("Expected argument 'latest' to be a bool") + pulumi.set(__self__, "latest", latest) + if prefix and not isinstance(prefix, str): + raise TypeError("Expected argument 'prefix' to be a str") + pulumi.set(__self__, "prefix", prefix) + if release_date and not isinstance(release_date, str): + raise TypeError("Expected argument 'release_date' to be a str") + pulumi.set(__self__, "release_date", release_date) + if version and not isinstance(version, str): + raise TypeError("Expected argument 'version' to be a str") + pulumi.set(__self__, "version", version) + if version_name and not isinstance(version_name, str): + raise TypeError("Expected argument 'version_name' to be a str") + pulumi.set(__self__, "version_name", version_name) + + @property + @pulumi.getter(name="deprecationDate") + def deprecation_date(self) -> str: + """ + Date of deprecation if the runtme version is deprecated. + """ + return pulumi.get(self, "deprecation_date") + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the runtime version, created by Amazon. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> str: + """ + Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def latest(self) -> Optional[bool]: + return pulumi.get(self, "latest") + + @property + @pulumi.getter + def prefix(self) -> str: + return pulumi.get(self, "prefix") + + @property + @pulumi.getter(name="releaseDate") + def release_date(self) -> str: + """ + Date that the runtime version was released. + """ + return pulumi.get(self, "release_date") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + return pulumi.get(self, "version") + + @property + @pulumi.getter(name="versionName") + def version_name(self) -> str: + """ + Name of the runtime version. For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + """ + return pulumi.get(self, "version_name") + + +class AwaitableGetRuntimeVersionResult(GetRuntimeVersionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRuntimeVersionResult( + deprecation_date=self.deprecation_date, + description=self.description, + id=self.id, + latest=self.latest, + prefix=self.prefix, + release_date=self.release_date, + version=self.version, + version_name=self.version_name) + + +def get_runtime_version(latest: Optional[bool] = None, + prefix: Optional[str] = None, + version: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRuntimeVersionResult: + """ + Data source for managing an AWS CloudWatch Synthetics Runtime Version. + + ## Example Usage + + ### Latest Runtime Version + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.synthetics.get_runtime_version(prefix="syn-nodejs-puppeteer", + latest=True) + ``` + + ### Specific Runtime Version + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.synthetics.get_runtime_version(prefix="syn-nodejs-puppeteer", + version="9.0") + ``` + + + :param bool latest: Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + :param str prefix: Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + + The following arguments are optional: + :param str version: Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + """ + __args__ = dict() + __args__['latest'] = latest + __args__['prefix'] = prefix + __args__['version'] = version + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:synthetics/getRuntimeVersion:getRuntimeVersion', __args__, opts=opts, typ=GetRuntimeVersionResult).value + + return AwaitableGetRuntimeVersionResult( + deprecation_date=pulumi.get(__ret__, 'deprecation_date'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + latest=pulumi.get(__ret__, 'latest'), + prefix=pulumi.get(__ret__, 'prefix'), + release_date=pulumi.get(__ret__, 'release_date'), + version=pulumi.get(__ret__, 'version'), + version_name=pulumi.get(__ret__, 'version_name')) + + +@_utilities.lift_output_func(get_runtime_version) +def get_runtime_version_output(latest: Optional[pulumi.Input[Optional[bool]]] = None, + prefix: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRuntimeVersionResult]: + """ + Data source for managing an AWS CloudWatch Synthetics Runtime Version. + + ## Example Usage + + ### Latest Runtime Version + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.synthetics.get_runtime_version(prefix="syn-nodejs-puppeteer", + latest=True) + ``` + + ### Specific Runtime Version + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.synthetics.get_runtime_version(prefix="syn-nodejs-puppeteer", + version="9.0") + ``` + + + :param bool latest: Whether the latest version of the runtime should be fetched. Conflicts with `version`. Valid values: `true`. + :param str prefix: Name prefix of the runtime version (for example, `syn-nodejs-puppeteer`). + + The following arguments are optional: + :param str version: Version of the runtime to be fetched (for example, `9.0`). Conflicts with `latest`. + """ + ... diff --git a/sdk/python/pulumi_aws/synthetics/get_runtime_versions.py b/sdk/python/pulumi_aws/synthetics/get_runtime_versions.py new file mode 100644 index 00000000000..d9567763635 --- /dev/null +++ b/sdk/python/pulumi_aws/synthetics/get_runtime_versions.py @@ -0,0 +1,115 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetRuntimeVersionsResult', + 'AwaitableGetRuntimeVersionsResult', + 'get_runtime_versions', + 'get_runtime_versions_output', +] + +@pulumi.output_type +class GetRuntimeVersionsResult: + """ + A collection of values returned by getRuntimeVersions. + """ + def __init__(__self__, id=None, runtime_versions=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if runtime_versions and not isinstance(runtime_versions, list): + raise TypeError("Expected argument 'runtime_versions' to be a list") + pulumi.set(__self__, "runtime_versions", runtime_versions) + + @property + @pulumi.getter + def id(self) -> str: + """ + Name of the AWS region from which runtime versions are fetched. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="runtimeVersions") + def runtime_versions(self) -> Optional[Sequence['outputs.GetRuntimeVersionsRuntimeVersionResult']]: + """ + List of runtime versions. See `runtime_versions` attribute reference. + """ + return pulumi.get(self, "runtime_versions") + + +class AwaitableGetRuntimeVersionsResult(GetRuntimeVersionsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRuntimeVersionsResult( + id=self.id, + runtime_versions=self.runtime_versions) + + +def get_runtime_versions(runtime_versions: Optional[Sequence[Union['GetRuntimeVersionsRuntimeVersionArgs', 'GetRuntimeVersionsRuntimeVersionArgsDict']]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRuntimeVersionsResult: + """ + Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.synthetics.get_runtime_versions() + ``` + + + :param Sequence[Union['GetRuntimeVersionsRuntimeVersionArgs', 'GetRuntimeVersionsRuntimeVersionArgsDict']] runtime_versions: List of runtime versions. See `runtime_versions` attribute reference. + """ + __args__ = dict() + __args__['runtimeVersions'] = runtime_versions + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:synthetics/getRuntimeVersions:getRuntimeVersions', __args__, opts=opts, typ=GetRuntimeVersionsResult).value + + return AwaitableGetRuntimeVersionsResult( + id=pulumi.get(__ret__, 'id'), + runtime_versions=pulumi.get(__ret__, 'runtime_versions')) + + +@_utilities.lift_output_func(get_runtime_versions) +def get_runtime_versions_output(runtime_versions: Optional[pulumi.Input[Optional[Sequence[Union['GetRuntimeVersionsRuntimeVersionArgs', 'GetRuntimeVersionsRuntimeVersionArgsDict']]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRuntimeVersionsResult]: + """ + Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.synthetics.get_runtime_versions() + ``` + + + :param Sequence[Union['GetRuntimeVersionsRuntimeVersionArgs', 'GetRuntimeVersionsRuntimeVersionArgsDict']] runtime_versions: List of runtime versions. See `runtime_versions` attribute reference. + """ + ... diff --git a/sdk/python/pulumi_aws/synthetics/outputs.py b/sdk/python/pulumi_aws/synthetics/outputs.py index b066692444a..331f6c487f2 100644 --- a/sdk/python/pulumi_aws/synthetics/outputs.py +++ b/sdk/python/pulumi_aws/synthetics/outputs.py @@ -22,6 +22,7 @@ 'CanarySchedule', 'CanaryTimeline', 'CanaryVpcConfig', + 'GetRuntimeVersionsRuntimeVersionResult', ] @pulumi.output_type @@ -375,3 +376,56 @@ def vpc_id(self) -> Optional[str]: return pulumi.get(self, "vpc_id") +@pulumi.output_type +class GetRuntimeVersionsRuntimeVersionResult(dict): + def __init__(__self__, *, + deprecation_date: str, + description: str, + release_date: str, + version_name: str): + """ + :param str deprecation_date: Date of deprecation if the runtme version is deprecated. + :param str description: Description of the runtime version, created by Amazon. + :param str release_date: Date that the runtime version was released. + :param str version_name: Name of the runtime version. + For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + """ + pulumi.set(__self__, "deprecation_date", deprecation_date) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "release_date", release_date) + pulumi.set(__self__, "version_name", version_name) + + @property + @pulumi.getter(name="deprecationDate") + def deprecation_date(self) -> str: + """ + Date of deprecation if the runtme version is deprecated. + """ + return pulumi.get(self, "deprecation_date") + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the runtime version, created by Amazon. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="releaseDate") + def release_date(self) -> str: + """ + Date that the runtime version was released. + """ + return pulumi.get(self, "release_date") + + @property + @pulumi.getter(name="versionName") + def version_name(self) -> str: + """ + Name of the runtime version. + For a list of valid runtime versions, see [Canary Runtime Versions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). + """ + return pulumi.get(self, "version_name") + + From 97eb69cee0a3f278b0e05bf4450def0d506a85a7 Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Tue, 24 Sep 2024 12:00:02 -0400 Subject: [PATCH 7/8] update go version in workflow --- .ci-mgmt.yaml | 2 +- .github/workflows/run-acceptance-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml index e2c33c51a21..e88b1ca0400 100644 --- a/.ci-mgmt.yaml +++ b/.ci-mgmt.yaml @@ -113,7 +113,7 @@ extraTests: - name: Install Go uses: actions/setup-go@v5 with: - go-version: "1.22.x" + go-version-file: 'upstream/go.mod' cache: false - name: Make upstream run: make upstream diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index 6a079221e71..26d26df6414 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -393,7 +393,7 @@ jobs: uses: actions/setup-go@v5 with: cache: false - go-version: 1.22.x + go-version-file: 'upstream/go.mod' - name: Make upstream run: make upstream - name: upstream lint From 6f8cc00647f23b463767f071c753c5206b254a0a Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Tue, 24 Sep 2024 14:03:50 -0400 Subject: [PATCH 8/8] update go version --- .ci-mgmt.yaml | 2 +- .github/workflows/run-acceptance-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml index e88b1ca0400..e44c530e84e 100644 --- a/.ci-mgmt.yaml +++ b/.ci-mgmt.yaml @@ -113,7 +113,7 @@ extraTests: - name: Install Go uses: actions/setup-go@v5 with: - go-version-file: 'upstream/go.mod' + go-version: "1.23.x" cache: false - name: Make upstream run: make upstream diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index 26d26df6414..527decc97a2 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -393,7 +393,7 @@ jobs: uses: actions/setup-go@v5 with: cache: false - go-version-file: 'upstream/go.mod' + go-version: 1.23.x - name: Make upstream run: make upstream - name: upstream lint